arcane-os 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.10.1
4
+
5
+ - Open developer error modals only for newly captured live incidents. Restoring
6
+ pending diagnostics after navigation or reload continues scheduled delivery
7
+ and retry without reopening old modals. Preserve complete stored incidents
8
+ and the existing behavior for new errors.
9
+
3
10
  ## 0.10.0
4
11
 
5
12
  - Add opt-in application PWA configuration, generated installation and offline
package/README.md CHANGED
@@ -19,7 +19,7 @@ version-locked SDK runtime, while an integrated Arcane checkout uses its live
19
19
  `arcane/` runtime. Both profiles preserve the same app URLs, theme, packaging,
20
20
  event, cancellation, and browser run contracts.
21
21
 
22
- This checkout defines the `0.10.0` SDK contract. Applications pin one exact npm
22
+ This checkout defines the `0.10.1` SDK contract. Applications pin one exact npm
23
23
  version and lockfile; registry state is deliberately not baked into application
24
24
  artifacts.
25
25
 
@@ -41,7 +41,7 @@ Create one browser application, install its pinned SDK, and start its source
41
41
  server:
42
42
 
43
43
  ```bash
44
- npx arcane-os@0.10.0 new hello-speech --path ./hello-speech --target browser
44
+ npx arcane-os@0.10.1 new hello-speech --path ./hello-speech --target browser
45
45
  cd hello-speech
46
46
  npm install
47
47
  npm run dev
@@ -392,7 +392,7 @@ uses the same controller for automatic memory extraction.
392
392
  Create a new repository-shaped Arcane application with the exact stable SDK:
393
393
 
394
394
  ```bash
395
- npx arcane-os@0.10.0 new my-app --path ./my-app --target portable --git
395
+ npx arcane-os@0.10.1 new my-app --path ./my-app --target portable --git
396
396
  cd my-app
397
397
  npm install
398
398
  npm run dev
@@ -402,7 +402,7 @@ To enroll an existing repository, install the exact SDK and initialize only
402
402
  missing Arcane files:
403
403
 
404
404
  ```bash
405
- npm install --save-dev --save-exact arcane-os@0.10.0
405
+ npm install --save-dev --save-exact arcane-os@0.10.1
406
406
  npm exec -- arcane init my-app --target portable
407
407
  ```
408
408
 
@@ -418,7 +418,7 @@ npm exec -- arcane-os targets
418
418
  No global SDK install or standalone Arcane CLI is required. The application
419
419
  repository's exact npm dependency and lockfile own the CLI and toolchain version.
420
420
 
421
- Use `npx arcane-os@0.10.0` for the initial bootstrap because it names this npm
421
+ Use `npx arcane-os@0.10.1` for the initial bootstrap because it names this npm
422
422
  package explicitly; bare `npx arcane` outside an installed project could resolve
423
423
  a different package. Both installed commands invoke the same headless toolchain.
424
424
  Project-local npm scripts use the SDK pinned by that app's `package-lock.json`,
@@ -438,7 +438,7 @@ node ./bin/arcane.mjs new local-app --path ../local-app --target portable --git
438
438
 
439
439
  # From the generated app repository
440
440
  cd ../local-app
441
- npm install --save-dev --save-exact ../arcane-os-sdk/arcane-os-0.10.0.tgz
441
+ npm install --save-dev --save-exact ../arcane-os-sdk/arcane-os-0.10.1.tgz
442
442
  npm ci
443
443
  ```
444
444
 
@@ -447,7 +447,7 @@ same location. The lockfile retains the selected package dependency while
447
447
  Arcane uses the installed package name and version. Local directory `file:` dependencies are not
448
448
  accepted because npm may install them as links; use a packed `.tgz`. A GitHub
449
449
  runner also needs that tarball at the locked path. After publication, replace
450
- the local declaration with the exact `arcane-os@0.10.0` registry package and
450
+ the local declaration with the exact `arcane-os@0.10.1` registry package and
451
451
  commit the regenerated lock.
452
452
 
453
453
  Generated repositories use `npm ci --ignore-scripts` in CI. Run dependency
@@ -586,7 +586,7 @@ package installation, or assertions.
586
586
 
587
587
  ## Current target support
588
588
 
589
- Version `0.10.0` exposes one browser target and five explicitly paired
589
+ Version `0.10.1` exposes one browser target and five explicitly paired
590
590
  native development targets: a non-runnable portable directory, a
591
591
  Windows x64 unsigned-local-test EXE bundle, Linux x64 and Linux ARM64
592
592
  unsigned-local-test DEBs, and an Android development-signed APK. The
@@ -84,7 +84,7 @@ own asynchronous work, cancellation, and backpressure.
84
84
  | [`DirectoryPicker.js`](#directorypickerjs) | esm | Wraps the provider-owned native directory chooser and normalizes selected/cancelled/error results. | Native bridge | Complete mutable caller options and provider result fields; coded cancellation and malformed-result errors. |
85
85
  | [`DocumentLexicalSearch.js`](#documentlexicalsearchjs) | esm | Provides dependency-free deterministic metadata/body ranking and complete excerpts. | Cross-host | Mutable complete results with no storage, provider, or network side effects. |
86
86
  | [`DocumentNavigation.js`](#documentnavigationjs) | esm | Binds document navigation, filtering, history, current-item reveal, and load initialization. | Browser / native WebView | Normalized filter/navigation state; DOM effects preserved. |
87
- | [`Errors.js`](#errorsjs) | esm | Normalizes global errors/rejections, fingerprints and deduplicates incidents, persists a complete ledger, and performs complete delivery. | Browser / native WebView hybrid | Incident records normalized; storage/mail failures isolated. |
87
+ | [`Errors.js`](#errorsjs) | esm | Normalizes global errors/rejections, assigns occurrence identifiers, persists a complete ledger, and performs complete delivery. | Browser / native WebView hybrid | Incident records normalized; storage/mail failures isolated. |
88
88
  | [`GifEncoder.js`](#gifencoderjs) | esm | Encodes indexed frames into a complete animated GIF using palette mapping and LZW. | Cross-host | Normalized complete binary output. |
89
89
  | [`HTMLImport.js`](#htmlimportjs) | esm | Defines the same-origin `<html-import>` loader with open shadow root, inline script execution, and readiness/error events. | Browser / native WebView | Public error detail normalized; fetch/DOM failure preserved. |
90
90
  | [`InMemoryCommunicationProvider.js`](#inmemorycommunicationproviderjs) | esm | Implements deterministic in-memory thread/message/send behavior for demos and tests. | Cross-host | Normalized communication entities. |
@@ -1998,6 +1998,12 @@ console.log(Object.keys(module));
1998
1998
 
1999
1999
  Normalizes global errors/rejections, assigns occurrence identifiers, persists a complete ledger, and performs complete delivery.
2000
2000
 
2001
+ Developer modals are offered only for newly captured live incidents. Loading
2002
+ pending records from a prior page preserves their complete diagnostics and
2003
+ delivery/retry state without reopening their modals. This remains true when
2004
+ developer preferences become ready after restoration. A newly captured error
2005
+ still follows the ordinary developer-mode presentation path.
2006
+
2001
2007
  ### Public surface
2002
2008
 
2003
2009
  default `Errors`; event normalizers plus lifecycle, capture, delivery and teardown methods.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arcane-os",
3
- "version": "0.10.0",
3
+ "version": "0.10.1",
4
4
  "description": "Arcane OS JavaScript SDK, project-local CLI, browser runtime, and repository-portable application packager.",
5
5
  "type": "module",
6
6
  "main": "./src/index.mjs",
@@ -477,6 +477,7 @@ class Errors {
477
477
  return;
478
478
  }
479
479
 
480
+ // Restored records resume delivery; only live capture offers developer modals.
480
481
  const timestamp=this.now();
481
482
  for(const storedRecord of records){
482
483
  if(
@@ -519,7 +520,6 @@ class Errors {
519
520
  if(!record.retryRequired){
520
521
  this.scheduleRecord(record,dueAt-timestamp);
521
522
  }
522
- this.offerDeveloperIncident(record.incident,record.occurrenceId);
523
523
  }
524
524
 
525
525
  this.persistLedger();