@componentor/fs 3.0.13 → 3.0.15

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/README.md CHANGED
@@ -570,6 +570,19 @@ Make sure `opfsSync` is enabled (it's `true` by default). Files are mirrored to
570
570
 
571
571
  ## Changelog
572
572
 
573
+ ### v3.0.15 (2026)
574
+
575
+ **Fixes:**
576
+ - Add bounds validation to `decodeRequest` — rejects truncated SAB payloads instead of reading out-of-bounds
577
+ - Wrap `decodeRequest` in try/catch in both VFS and OPFS leader loop handlers — corrupt buffers return `status: -1` instead of crashing the leader loop
578
+ - Guard `readPayload` against zero/negative/overflow chunk lengths from stale SAB data
579
+
580
+ ### v3.0.14 (2026)
581
+
582
+ **Fixes:**
583
+ - Fix `PATH_USED` not persisted after `write()` without flush flag — `commitPending()` now runs unconditionally after every write, preventing "path out of bounds" corruption on reload
584
+ - Repair inode scanner uses the full allocated path table region instead of `PATH_USED` from the superblock — recovers files even when the superblock counter was stale
585
+
573
586
  ### v3.0.13 (2026)
574
587
 
575
588
  **Fixes:**
package/dist/index.js CHANGED
@@ -2809,8 +2809,8 @@ var VFSEngine = class {
2809
2809
  tData = tAlloc;
2810
2810
  tInode = tAlloc;
2811
2811
  }
2812
+ this.commitPending();
2812
2813
  if (flags & 1) {
2813
- this.commitPending();
2814
2814
  this.handle.flush();
2815
2815
  }
2816
2816
  const tFlush = this.debug ? performance.now() : 0;