@indigoai-us/hq-cloud 6.15.43 → 6.15.44
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/dist/bin/sync-runner-company.d.ts +3 -0
- package/dist/bin/sync-runner-company.d.ts.map +1 -1
- package/dist/bin/sync-runner-company.js +2 -2
- package/dist/bin/sync-runner-company.js.map +1 -1
- package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
- package/dist/bin/sync-runner-watch-loop.js +33 -1
- package/dist/bin/sync-runner-watch-loop.js.map +1 -1
- package/dist/bin/sync-runner.d.ts +5 -0
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +3 -0
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +89 -0
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/share.test.js +3 -0
- package/dist/cli/share.test.js.map +1 -1
- package/dist/cli/sync.test.js +12 -5
- package/dist/cli/sync.test.js.map +1 -1
- package/dist/cli/tombstones.d.ts +23 -8
- package/dist/cli/tombstones.d.ts.map +1 -1
- package/dist/cli/tombstones.js +63 -33
- package/dist/cli/tombstones.js.map +1 -1
- package/dist/cli/tombstones.test.d.ts +2 -0
- package/dist/cli/tombstones.test.d.ts.map +1 -0
- package/dist/cli/tombstones.test.js +27 -0
- package/dist/cli/tombstones.test.js.map +1 -0
- package/dist/cli/watch-event-push-conflict.test.js +7 -0
- package/dist/cli/watch-event-push-conflict.test.js.map +1 -1
- package/dist/watcher.d.ts +23 -3
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +98 -12
- package/dist/watcher.js.map +1 -1
- package/dist/watcher.test.js +71 -8
- package/dist/watcher.test.js.map +1 -1
- package/package.json +1 -1
package/dist/watcher.js
CHANGED
|
@@ -329,7 +329,7 @@ function errorPath(err) {
|
|
|
329
329
|
function supportsRecursiveWatch() {
|
|
330
330
|
return process.platform === "darwin" || process.platform === "win32";
|
|
331
331
|
}
|
|
332
|
-
function startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded) {
|
|
332
|
+
function startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded, forcePolling = false) {
|
|
333
333
|
const budget = new ChokidarWatchBudget(maxWatchedPaths, onWatchBudgetExceeded);
|
|
334
334
|
let cw;
|
|
335
335
|
let ready = false;
|
|
@@ -340,6 +340,9 @@ function startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatched
|
|
|
340
340
|
// The predicate therefore enforces both scope and the hard per-runner cap.
|
|
341
341
|
ignored: toChokidarIgnored(shouldEmit, hqRoot, budget),
|
|
342
342
|
persistent: true,
|
|
343
|
+
// If inotify discovery cannot initialize, retain event-driven delivery
|
|
344
|
+
// through chokidar polling instead of abandoning the watcher entirely.
|
|
345
|
+
usePolling: forcePolling,
|
|
343
346
|
ignoreInitial: true,
|
|
344
347
|
awaitWriteFinish: {
|
|
345
348
|
stabilityThreshold: 500,
|
|
@@ -353,6 +356,7 @@ function startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatched
|
|
|
353
356
|
onError(err);
|
|
354
357
|
return {
|
|
355
358
|
close: () => { },
|
|
359
|
+
mode: forcePolling ? "polling" : "chokidar",
|
|
356
360
|
needsKnownKinds: false,
|
|
357
361
|
watchedPathCount: () => budget.count(),
|
|
358
362
|
};
|
|
@@ -373,6 +377,7 @@ function startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatched
|
|
|
373
377
|
close: () => {
|
|
374
378
|
void cw.close();
|
|
375
379
|
},
|
|
380
|
+
mode: forcePolling ? "polling" : "chokidar",
|
|
376
381
|
needsKnownKinds: false,
|
|
377
382
|
watchedPathCount: () => budget.count(),
|
|
378
383
|
onReady: (listener) => {
|
|
@@ -648,6 +653,7 @@ export function startScopedRecursiveWatch(hqRoot, shouldEmit, onEvent, onError,
|
|
|
648
653
|
recursiveRoots.clear();
|
|
649
654
|
recursiveFlag.clear();
|
|
650
655
|
},
|
|
656
|
+
mode: "native",
|
|
651
657
|
needsKnownKinds: true,
|
|
652
658
|
seededKnownKinds: onDirectorySeen !== undefined,
|
|
653
659
|
watchedPathCount: () => watchers.size,
|
|
@@ -674,8 +680,8 @@ export function startScopedRecursiveWatch(hqRoot, shouldEmit, onEvent, onError,
|
|
|
674
680
|
* ancestor-descent pruning that the chokidar backend needs
|
|
675
681
|
* {@link toChokidarIgnored} to avoid.
|
|
676
682
|
*/
|
|
677
|
-
function startTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded, onDirectorySeen) {
|
|
678
|
-
if (supportsRecursiveWatch()) {
|
|
683
|
+
function startTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded, onDirectorySeen, forcePolling = false) {
|
|
684
|
+
if (!forcePolling && supportsRecursiveWatch()) {
|
|
679
685
|
try {
|
|
680
686
|
const scoped = startScopedRecursiveWatch(hqRoot, shouldEmit, onEvent, onError, onDirectorySeen);
|
|
681
687
|
// Partial coverage is worse than a different backend: a planned root we
|
|
@@ -693,7 +699,7 @@ function startTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, o
|
|
|
693
699
|
onError(err);
|
|
694
700
|
}
|
|
695
701
|
}
|
|
696
|
-
return startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded);
|
|
702
|
+
return startChokidarTreeWatch(hqRoot, shouldEmit, onEvent, onError, maxWatchedPaths, onWatchBudgetExceeded, forcePolling);
|
|
697
703
|
}
|
|
698
704
|
/**
|
|
699
705
|
* Build the composite emit-decision predicate. Returns true when a change to
|
|
@@ -814,6 +820,8 @@ export function createWatchPathFilter(hqRoot, personalMode = false, options = {}
|
|
|
814
820
|
}
|
|
815
821
|
export const DEFAULT_TREE_WATCHER_MAX_PENDING_PATHS = 4096;
|
|
816
822
|
export const DEFAULT_TREE_WATCHER_MAX_PENDING_BYTES = 1024 * 1024;
|
|
823
|
+
/** Chokidar discovery is asynchronous; never leave a runner silently pending forever. */
|
|
824
|
+
export const DEFAULT_TREE_WATCHER_DISCOVERY_TIMEOUT_MS = 60_000;
|
|
817
825
|
/**
|
|
818
826
|
* Cap on distinct dropped-route hints tracked through one overflow episode.
|
|
819
827
|
* More distinct routes than this in a single burst means something is walking
|
|
@@ -833,6 +841,7 @@ export class TreeWatcher {
|
|
|
833
841
|
maxPendingPaths;
|
|
834
842
|
maxPendingBytes;
|
|
835
843
|
maxWatchedPaths;
|
|
844
|
+
discoveryTimeoutMs;
|
|
836
845
|
onBacklogOverflow;
|
|
837
846
|
onDegraded;
|
|
838
847
|
telemetryClient;
|
|
@@ -842,6 +851,7 @@ export class TreeWatcher {
|
|
|
842
851
|
backend = null;
|
|
843
852
|
ready = false;
|
|
844
853
|
detachBackendReady = null;
|
|
854
|
+
discoveryTimer = null;
|
|
845
855
|
readyListeners = new Set();
|
|
846
856
|
timer = null;
|
|
847
857
|
listeners = new Set();
|
|
@@ -859,6 +869,7 @@ export class TreeWatcher {
|
|
|
859
869
|
/** True when at least one drop carried no usable route evidence. */
|
|
860
870
|
droppedRoutesUnknown = false;
|
|
861
871
|
degraded = false;
|
|
872
|
+
pollingFallback = false;
|
|
862
873
|
disposed = false;
|
|
863
874
|
constructor(opts) {
|
|
864
875
|
this.hqRoot = opts.hqRoot;
|
|
@@ -875,6 +886,7 @@ export class TreeWatcher {
|
|
|
875
886
|
this.maxPendingPaths = Math.max(1, opts.maxPendingPaths ?? DEFAULT_TREE_WATCHER_MAX_PENDING_PATHS);
|
|
876
887
|
this.maxPendingBytes = Math.max(1, opts.maxPendingBytes ?? DEFAULT_TREE_WATCHER_MAX_PENDING_BYTES);
|
|
877
888
|
this.maxWatchedPaths = resolveMaxWatchedPaths(opts.maxWatchedPaths);
|
|
889
|
+
this.discoveryTimeoutMs = Math.max(1, opts.discoveryTimeoutMs ?? DEFAULT_TREE_WATCHER_DISCOVERY_TIMEOUT_MS);
|
|
878
890
|
this.onBacklogOverflow =
|
|
879
891
|
opts.onBacklogOverflow ??
|
|
880
892
|
((info) => {
|
|
@@ -883,7 +895,8 @@ export class TreeWatcher {
|
|
|
883
895
|
this.onDegraded =
|
|
884
896
|
opts.onDegraded ??
|
|
885
897
|
((info) => {
|
|
886
|
-
console.
|
|
898
|
+
console.warn(`TreeWatcher WARN watcher degraded: reason=${info.reason} ` +
|
|
899
|
+
`watched-paths=${info.watchedPaths}/${info.maxWatchedPaths}`);
|
|
887
900
|
});
|
|
888
901
|
this.telemetryClient = opts.telemetryClient;
|
|
889
902
|
this.telemetryClaims = opts.telemetryClaims;
|
|
@@ -913,6 +926,9 @@ export class TreeWatcher {
|
|
|
913
926
|
start() {
|
|
914
927
|
if (this.disposed || this.degraded || this.backend)
|
|
915
928
|
return;
|
|
929
|
+
this.startBackend(false);
|
|
930
|
+
}
|
|
931
|
+
startBackend(forcePolling) {
|
|
916
932
|
const backendOpts = {
|
|
917
933
|
hqRoot: this.hqRoot,
|
|
918
934
|
shouldEmit: this.shouldEmit,
|
|
@@ -927,10 +943,11 @@ export class TreeWatcher {
|
|
|
927
943
|
offendingTopLevel: this.topLevelForTelemetry(info.offendingPath),
|
|
928
944
|
}),
|
|
929
945
|
onDirectorySeen: (absolutePath) => this.knownKinds.set(path.resolve(absolutePath), "directory"),
|
|
946
|
+
forcePolling,
|
|
930
947
|
};
|
|
931
948
|
const backend = this.backendFactory
|
|
932
949
|
? this.backendFactory(backendOpts)
|
|
933
|
-
: startTreeWatch(backendOpts.hqRoot, backendOpts.shouldEmit, backendOpts.onEvent, backendOpts.onError, backendOpts.maxWatchedPaths, backendOpts.onWatchBudgetExceeded, backendOpts.onDirectorySeen);
|
|
950
|
+
: startTreeWatch(backendOpts.hqRoot, backendOpts.shouldEmit, backendOpts.onEvent, backendOpts.onError, backendOpts.maxWatchedPaths, backendOpts.onWatchBudgetExceeded, backendOpts.onDirectorySeen, forcePolling);
|
|
934
951
|
// A test backend (or a future eager backend) can discover exhaustion while
|
|
935
952
|
// it is being constructed. Never retain that just-created handle after the
|
|
936
953
|
// degradation path has deliberately disabled event watching.
|
|
@@ -938,12 +955,33 @@ export class TreeWatcher {
|
|
|
938
955
|
backend.close();
|
|
939
956
|
return;
|
|
940
957
|
}
|
|
958
|
+
this.installBackend(backend);
|
|
959
|
+
console.info(`TreeWatcher started (${backend.mode ?? "unknown"}): watched paths ${backend.watchedPathCount()} / budget ${this.maxWatchedPaths}`);
|
|
960
|
+
}
|
|
961
|
+
installBackend(backend) {
|
|
941
962
|
this.backend = backend;
|
|
942
|
-
console.info(`TreeWatcher started: watched paths ${backend.watchedPathCount()} / budget ${this.maxWatchedPaths}`);
|
|
943
963
|
this.ready = false;
|
|
944
964
|
this.detachBackendReady = backend.onReady
|
|
945
965
|
? backend.onReady(() => this.markReady())
|
|
946
966
|
: null;
|
|
967
|
+
if (backend.onReady) {
|
|
968
|
+
this.discoveryTimer = this.clock.setTimeout(() => {
|
|
969
|
+
if (this.ready || this.backend !== backend || this.disposed)
|
|
970
|
+
return;
|
|
971
|
+
const info = {
|
|
972
|
+
reason: "initial_discovery_timeout",
|
|
973
|
+
maxWatchedPaths: this.maxWatchedPaths,
|
|
974
|
+
watchedPaths: backend.watchedPathCount(),
|
|
975
|
+
};
|
|
976
|
+
// A polling backend is the last event-delivery fallback. If it also
|
|
977
|
+
// cannot complete discovery, explicitly close it and surface a WARN
|
|
978
|
+
// instead of leaving a permanently non-ready watcher marked active.
|
|
979
|
+
if (this.pollingFallback)
|
|
980
|
+
this.degrade(info);
|
|
981
|
+
else
|
|
982
|
+
this.fallbackToPolling(info);
|
|
983
|
+
}, this.discoveryTimeoutMs);
|
|
984
|
+
}
|
|
947
985
|
// The scoped backend already indexed every in-scope directory while
|
|
948
986
|
// planning its watch roots — walking the tree again here would double a
|
|
949
987
|
// multi-second startup cost for an identical result.
|
|
@@ -965,6 +1003,7 @@ export class TreeWatcher {
|
|
|
965
1003
|
markReady() {
|
|
966
1004
|
if (this.ready || this.disposed || this.backend === null)
|
|
967
1005
|
return;
|
|
1006
|
+
this.clearDiscoveryTimer();
|
|
968
1007
|
this.ready = true;
|
|
969
1008
|
for (const listener of this.readyListeners) {
|
|
970
1009
|
try {
|
|
@@ -979,7 +1018,7 @@ export class TreeWatcher {
|
|
|
979
1018
|
handleBackendError(err) {
|
|
980
1019
|
if (isInotifyLimitError(err)) {
|
|
981
1020
|
const offendingPath = errorPath(err);
|
|
982
|
-
|
|
1021
|
+
const info = {
|
|
983
1022
|
reason: "inotify_enospc",
|
|
984
1023
|
maxWatchedPaths: this.maxWatchedPaths,
|
|
985
1024
|
watchedPaths: this.backend?.watchedPathCount() ?? 0,
|
|
@@ -988,7 +1027,16 @@ export class TreeWatcher {
|
|
|
988
1027
|
? this.topLevelForTelemetry(offendingPath)
|
|
989
1028
|
: undefined,
|
|
990
1029
|
errorCode: "ENOSPC",
|
|
991
|
-
}
|
|
1030
|
+
};
|
|
1031
|
+
// ENOSPC from one asynchronous chokidar add used to close every watch
|
|
1032
|
+
// immediately. Retain event delivery through chokidar polling instead;
|
|
1033
|
+
// only a failure of that fallback stands the watcher down.
|
|
1034
|
+
if (!this.pollingFallback) {
|
|
1035
|
+
queueMicrotask(() => this.fallbackToPolling(info));
|
|
1036
|
+
}
|
|
1037
|
+
else {
|
|
1038
|
+
this.degrade(info);
|
|
1039
|
+
}
|
|
992
1040
|
return;
|
|
993
1041
|
}
|
|
994
1042
|
console.error("TreeWatcher error:", err);
|
|
@@ -1003,10 +1051,40 @@ export class TreeWatcher {
|
|
|
1003
1051
|
if (this.disposed || this.degraded)
|
|
1004
1052
|
return;
|
|
1005
1053
|
this.degraded = true;
|
|
1054
|
+
this.clearDiscoveryTimer();
|
|
1006
1055
|
// Closing synchronously prevents further directory admissions while
|
|
1007
1056
|
// chokidar's initial walk is still in flight.
|
|
1008
1057
|
this.backend?.close();
|
|
1009
1058
|
this.backend = null;
|
|
1059
|
+
this.reportDegradation({ ...info, action: "stopped" });
|
|
1060
|
+
// The existing overflow/resync batch causes the runner to use its scoped
|
|
1061
|
+
// drain while the cadence poll continues covering everything else.
|
|
1062
|
+
this.signalBackendResync();
|
|
1063
|
+
}
|
|
1064
|
+
fallbackToPolling(info) {
|
|
1065
|
+
if (this.disposed || this.degraded || this.pollingFallback)
|
|
1066
|
+
return;
|
|
1067
|
+
this.pollingFallback = true;
|
|
1068
|
+
this.clearDiscoveryTimer();
|
|
1069
|
+
this.detachBackendReady?.();
|
|
1070
|
+
this.detachBackendReady = null;
|
|
1071
|
+
this.backend?.close();
|
|
1072
|
+
this.backend = null;
|
|
1073
|
+
this.ready = false;
|
|
1074
|
+
this.reportDegradation({ ...info, action: "polling_fallback" });
|
|
1075
|
+
this.signalBackendResync();
|
|
1076
|
+
try {
|
|
1077
|
+
this.startBackend(true);
|
|
1078
|
+
}
|
|
1079
|
+
catch (err) {
|
|
1080
|
+
console.error("TreeWatcher polling fallback failed:", err);
|
|
1081
|
+
this.degrade({
|
|
1082
|
+
...info,
|
|
1083
|
+
watchedPaths: 0,
|
|
1084
|
+
});
|
|
1085
|
+
}
|
|
1086
|
+
}
|
|
1087
|
+
reportDegradation(info) {
|
|
1010
1088
|
try {
|
|
1011
1089
|
this.onDegraded(info);
|
|
1012
1090
|
}
|
|
@@ -1025,9 +1103,12 @@ export class TreeWatcher {
|
|
|
1025
1103
|
: {}),
|
|
1026
1104
|
},
|
|
1027
1105
|
}, { claims: this.telemetryClaims });
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
this.
|
|
1106
|
+
}
|
|
1107
|
+
clearDiscoveryTimer() {
|
|
1108
|
+
if (this.discoveryTimer === null)
|
|
1109
|
+
return;
|
|
1110
|
+
this.clock.clearTimeout(this.discoveryTimer);
|
|
1111
|
+
this.discoveryTimer = null;
|
|
1031
1112
|
}
|
|
1032
1113
|
signalBackendResync() {
|
|
1033
1114
|
if (this.disposed)
|
|
@@ -1277,6 +1358,10 @@ export class TreeWatcher {
|
|
|
1277
1358
|
watchedPathCount() {
|
|
1278
1359
|
return this.backend?.watchedPathCount() ?? 0;
|
|
1279
1360
|
}
|
|
1361
|
+
/** Active backend mode, including the no-inotify polling fallback. */
|
|
1362
|
+
watchMode() {
|
|
1363
|
+
return this.backend?.mode ?? (this.backend ? "unknown" : "inactive");
|
|
1364
|
+
}
|
|
1280
1365
|
/** Number of pending debounce timers — a leak check for tests. */
|
|
1281
1366
|
pendingTimerCount() {
|
|
1282
1367
|
return this.timer === null ? 0 : 1;
|
|
@@ -1294,6 +1379,7 @@ export class TreeWatcher {
|
|
|
1294
1379
|
this.detachBackendReady?.();
|
|
1295
1380
|
this.detachBackendReady = null;
|
|
1296
1381
|
this.ready = false;
|
|
1382
|
+
this.clearDiscoveryTimer();
|
|
1297
1383
|
if (this.timer !== null) {
|
|
1298
1384
|
this.clock.clearTimeout(this.timer);
|
|
1299
1385
|
this.timer = null;
|
package/dist/watcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
|
package/dist/watcher.test.js
CHANGED
|
@@ -723,7 +723,7 @@ describe("US-002: TreeWatcher — debounce coalesce (FakeClock seam)", () => {
|
|
|
723
723
|
fs.rmSync(dir, { recursive: true, force: true });
|
|
724
724
|
}
|
|
725
725
|
});
|
|
726
|
-
it("
|
|
726
|
+
it("keeps event watching through polling when chokidar emits runtime ENOSPC", () => {
|
|
727
727
|
const clock = new FakeClock();
|
|
728
728
|
const degraded = vi.fn();
|
|
729
729
|
const changed = vi.fn();
|
|
@@ -741,18 +741,21 @@ describe("US-002: TreeWatcher — debounce coalesce (FakeClock seam)", () => {
|
|
|
741
741
|
debounceMs: DEBOUNCE,
|
|
742
742
|
onDegraded: degraded,
|
|
743
743
|
telemetryClient,
|
|
744
|
-
backendFactory: ({ onError }) => {
|
|
744
|
+
backendFactory: ({ forcePolling, onError }) => {
|
|
745
745
|
const backend = {
|
|
746
746
|
close: () => {
|
|
747
747
|
closeCalls += 1;
|
|
748
748
|
},
|
|
749
749
|
needsKnownKinds: false,
|
|
750
|
-
|
|
750
|
+
mode: forcePolling ? "polling" : "chokidar",
|
|
751
|
+
watchedPathCount: () => forcePolling ? 200 : 0,
|
|
751
752
|
};
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
753
|
+
if (!forcePolling) {
|
|
754
|
+
queueMicrotask(() => onError(Object.assign(new Error("inotify limit"), {
|
|
755
|
+
code: "ENOSPC",
|
|
756
|
+
path: path.join(ROOT, "companies", "acme", "knowledge"),
|
|
757
|
+
})));
|
|
758
|
+
}
|
|
756
759
|
return backend;
|
|
757
760
|
},
|
|
758
761
|
});
|
|
@@ -760,7 +763,9 @@ describe("US-002: TreeWatcher — debounce coalesce (FakeClock seam)", () => {
|
|
|
760
763
|
watcher.start();
|
|
761
764
|
return new Promise((resolve) => queueMicrotask(resolve)).then(() => {
|
|
762
765
|
expect(closeCalls).toBe(1);
|
|
763
|
-
expect(watcher.isWatching()).toBe(
|
|
766
|
+
expect(watcher.isWatching()).toBe(true);
|
|
767
|
+
expect(watcher.watchMode()).toBe("polling");
|
|
768
|
+
expect(watcher.watchedPathCount()).toBe(200);
|
|
764
769
|
expect(degraded).toHaveBeenCalledWith(expect.objectContaining({
|
|
765
770
|
reason: "inotify_enospc",
|
|
766
771
|
errorCode: "ENOSPC",
|
|
@@ -784,6 +789,64 @@ describe("US-002: TreeWatcher — debounce coalesce (FakeClock seam)", () => {
|
|
|
784
789
|
expect(changed).toHaveBeenCalledWith(undefined, expect.objectContaining({ overflowed: true }));
|
|
785
790
|
});
|
|
786
791
|
});
|
|
792
|
+
it("keeps a large synthetic watch set alive across multiple debounced passes", () => {
|
|
793
|
+
const clock = new FakeClock();
|
|
794
|
+
const changed = vi.fn();
|
|
795
|
+
const handles = new Set(Array.from({ length: 20_000 }, (_, i) => `dir-${i}`));
|
|
796
|
+
const watcher = new TreeWatcher({
|
|
797
|
+
hqRoot: ROOT,
|
|
798
|
+
clock,
|
|
799
|
+
debounceMs: DEBOUNCE,
|
|
800
|
+
backendFactory: () => ({
|
|
801
|
+
close: () => handles.clear(),
|
|
802
|
+
mode: "chokidar",
|
|
803
|
+
needsKnownKinds: false,
|
|
804
|
+
watchedPathCount: () => handles.size,
|
|
805
|
+
}),
|
|
806
|
+
});
|
|
807
|
+
watcher.onChange(changed);
|
|
808
|
+
watcher.start();
|
|
809
|
+
for (let pass = 0; pass < 3; pass += 1) {
|
|
810
|
+
watcher.handleEvent(path.join(ROOT, "personal", `change-${pass}.md`));
|
|
811
|
+
clock.advance(DEBOUNCE);
|
|
812
|
+
expect(watcher.isWatching()).toBe(true);
|
|
813
|
+
expect(watcher.watchedPathCount()).toBe(20_000);
|
|
814
|
+
}
|
|
815
|
+
expect(changed).toHaveBeenCalledTimes(3);
|
|
816
|
+
watcher.dispose();
|
|
817
|
+
});
|
|
818
|
+
it("stands down loudly when polling discovery also times out", () => {
|
|
819
|
+
const clock = new FakeClock();
|
|
820
|
+
const degraded = vi.fn();
|
|
821
|
+
let closeCalls = 0;
|
|
822
|
+
const watcher = new TreeWatcher({
|
|
823
|
+
hqRoot: ROOT,
|
|
824
|
+
clock,
|
|
825
|
+
discoveryTimeoutMs: 100,
|
|
826
|
+
onDegraded: degraded,
|
|
827
|
+
backendFactory: ({ forcePolling }) => ({
|
|
828
|
+
close: () => { closeCalls += 1; },
|
|
829
|
+
mode: forcePolling ? "polling" : "chokidar",
|
|
830
|
+
needsKnownKinds: false,
|
|
831
|
+
watchedPathCount: () => forcePolling ? 20 : 10,
|
|
832
|
+
// Deliberately never invokes its listener: this simulates discovery
|
|
833
|
+
// that hangs before chokidar can report ready.
|
|
834
|
+
onReady: () => () => { },
|
|
835
|
+
}),
|
|
836
|
+
});
|
|
837
|
+
watcher.start();
|
|
838
|
+
clock.advance(100);
|
|
839
|
+
expect(watcher.isWatching()).toBe(true);
|
|
840
|
+
expect(watcher.watchMode()).toBe("polling");
|
|
841
|
+
clock.advance(100);
|
|
842
|
+
expect(watcher.isWatching()).toBe(false);
|
|
843
|
+
expect(closeCalls).toBe(2);
|
|
844
|
+
expect(degraded).toHaveBeenLastCalledWith(expect.objectContaining({
|
|
845
|
+
reason: "initial_discovery_timeout",
|
|
846
|
+
action: "stopped",
|
|
847
|
+
watchedPaths: 20,
|
|
848
|
+
}));
|
|
849
|
+
});
|
|
787
850
|
it("does not retain one rename-kind entry for every changed file", () => {
|
|
788
851
|
const clock = new FakeClock();
|
|
789
852
|
const watcher = new TreeWatcher({
|