@ai-ecoverse/slicc-kernel 1.121.0 → 1.122.0

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.
@@ -985,7 +985,7 @@ var RemoteWatch = class {
985
985
  return this.union.size > 0;
986
986
  }
987
987
  wrote(path) {
988
- if (!this.union.has(path)) return;
988
+ if (!this.union.has(path) && !this.crowded()) return;
989
989
  this.channel.postMessage({ changed: [path] });
990
990
  const now = Date.now();
991
991
  if (now - this.pruned < PRUNE_EVERY_MS) return;
@@ -1238,7 +1238,7 @@ var OpfsFs = class {
1238
1238
  }
1239
1239
  committed(target) {
1240
1240
  this.fileTimes.delete(target);
1241
- if (this.remote?.watched()) this.remote.wrote(target);
1241
+ if (this.remote?.watched() || this.remote?.crowded()) this.remote.wrote(target);
1242
1242
  }
1243
1243
  counted = [];
1244
1244
  async stamp(path, cached = false) {
@@ -6405,7 +6405,7 @@ function satisfies(version, range2) {
6405
6405
  }
6406
6406
 
6407
6407
  // src/version.ts
6408
- var KERNEL_VERSION = true ? "1.121.0" : "0.0.0-dev";
6408
+ var KERNEL_VERSION = true ? "1.122.0" : "0.0.0-dev";
6409
6409
  var OS_RELEASE = "6.0.0-slicc";
6410
6410
  function procVersion() {
6411
6411
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
@@ -17372,6 +17372,9 @@ var VfsNodes = class {
17372
17372
  this.byPath.set(path, node);
17373
17373
  this.kept.delete(node);
17374
17374
  }
17375
+ rewritten(path) {
17376
+ this.byPath.get(path)?.reread();
17377
+ }
17375
17378
  async flush(path) {
17376
17379
  for (const [p, node] of this.byPath) if (within7(p, path)) await node.serial(() => node.flush());
17377
17380
  }
@@ -23664,6 +23667,7 @@ var Launcher = class {
23664
23667
  this.nodes.keepsOnDisk = true;
23665
23668
  this.openFiles.add(this.nodes);
23666
23669
  options.fs.onPeer?.(() => this.flushOpen());
23670
+ options.fs.remoteChanges?.((change) => this.rewritten(change.paths));
23667
23671
  const holders = [this.held, this.openFiles];
23668
23672
  this.unlinked = new UnlinkedKeeper(
23669
23673
  fs,
@@ -25324,6 +25328,10 @@ var Launcher = class {
25324
25328
  this.writers ??= this.writerStack();
25325
25329
  return this.writers;
25326
25330
  }
25331
+ rewritten(paths) {
25332
+ for (const nodes of this.openFiles) for (const path of paths) nodes.rewritten(path);
25333
+ this.changes.publish(...paths);
25334
+ }
25327
25335
  async flushOpen() {
25328
25336
  for (const nodes of this.openFiles) await nodes.flush("/").catch(() => void 0);
25329
25337
  }