sotashimozono_obsidian-remo.../plugin/tests
Souta 94d7321813 fix(connect): address #352 review — failed-spawn lockout + double Notice
- CRITICAL: openShadowVaultFor armed the 15s guard-clear timer in a
  `finally`, so a FAILED spawn locked retry for 15s behind a stale
  "still opening" toast (the exact "can't reconnect" symptom). Now
  asymmetric: success arms the 15s debounce; failure clears the guard
  synchronously → instant retry.
- IMPORTANT: a failed shadow-window auto-connect showed connectProfile's
  classified, cause-specific Notice AND runAutoConnect's generic one in
  the SAME window — the second stacked on and obscured the first. Drop
  the generic Notice; keep the log line the e2e oracle asserts on.
- Correct the shadowSpawnInFlight JSDoc to describe the (now) asymmetric
  semantics instead of "held after each spawn".
- Add tests/openShadowVaultFor.test.ts: locks the failed-spawn
  instant-clear, the success 15s hold, and the in-flight re-entrancy
  rejection (the C2 guard the suite never exercised).
- Consume the shared e2e/helpers/sshd.ts (drops the triplicated copy).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 01:47:03 +09:00
..
__mocks__ test(AdapterManager,ShadowStartupCoordinator): coverage for lifecycle and F2 startup paths (#267) 2026-05-09 22:31:42 +09:00
compat docs: post-#294 cleanup — update stale paths to migrated docs 2026-05-10 15:54:38 +09:00
helpers fix(test): address code review comments on PR #211 2026-05-02 10:28:52 +09:00
integration fix(sync): RPC writer self-reflect + echo de-dup (#341, fully closes) 2026-05-17 15:27:57 +09:00
settings test: address self-review HIGH+MEDIUM findings on UI mock 2026-05-03 18:58:29 +09:00
ui test: address self-review on PR #230 (M1+M2+L1-L4) 2026-05-03 19:08:20 +09:00
AdapterManager.test.ts fix(sync): RPC writer self-reflect + echo de-dup (#341, fully closes) 2026-05-17 15:27:57 +09:00
AdapterPatcher.test.ts feat(adapter): patch basePath / getBasePath via shadow vault path (#170, 0.4.87) 2026-04-30 17:16:28 +09:00
AncestorTracker.test.ts feat(plugin): Phase E2-α.1 — AncestorTracker + collab safety design (0.4.29) 2026-04-28 14:28:50 +09:00
AssertSyncReflect.test.ts test(plugin): Phase C.M8 — assertSyncReflect helper (0.4.46) 2026-04-29 07:49:24 +09:00
AuthResolver.test.ts test: AuthResolver / ConflictResolver / ReconnectManager branch coverage (#261) 2026-05-09 22:21:22 +09:00
Backoff.test.ts feat(plugin): auto-reconnect with backoff after unexpected SSH drop 2026-04-26 10:32:27 +09:00
BulkWalker.test.ts feat(walk): profile "Ignore directories" — prune big subtrees server-side 2026-05-17 23:43:40 +09:00
ConflictResolver.test.ts fix(tests): repair 6 CI failures + bump 1.0.36 (#278) 2026-05-09 23:26:01 +09:00
ConnectionManager.test.ts fix(rpc): address PR #355 v2 review — pin startRpcSession + honest type 2026-05-18 00:28:26 +09:00
DaemonProbe.test.ts feat(transport): probe + reuse existing daemon on connect (closes #131, 0.4.72) 2026-04-29 15:21:13 +09:00
DiffEngine.test.ts feat(plugin): Phase E2-α.2 — DiffEngine + ThreeWayMergeModal (0.4.30) 2026-04-28 14:37:36 +09:00
DirCache.test.ts chore: monorepo restructure (plugin/ + server/ + proto/) 2026-04-25 10:52:52 +09:00
errorHook.test.ts Improve coverage for retry/error observability utilities (#257) 2026-05-08 10:41:04 +09:00
errorMessage.test.ts test: 100% coverage for errorMessage, RpcError, and isPreconditionFailed (#264) 2026-05-09 22:07:04 +09:00
ErrorTaxonomy.test.ts test(errorTaxonomy): cover mapSyscallCode null-return (unknown code) branch (#272) 2026-05-09 22:03:28 +09:00
FakeFileExplorer.test.ts test(plugin): Phase C.M7 — FakeFileExplorer test double for UI-reflect (0.4.45) 2026-04-29 07:44:26 +09:00
fingerprint.test.ts test: add formatFingerprint unit tests to restore coverage 2026-05-02 10:41:45 +09:00
framing.test.ts test: harden TDD coverage thresholds and add shared mock factories 2026-05-02 10:07:02 +09:00
FsChangeListener.applyChange.test.ts fix(sync): RPC writer self-reflect + echo de-dup (#341, fully closes) 2026-05-17 15:27:57 +09:00
FsChangeListener.test.ts Improve coverage for retry/error observability utilities (#257) 2026-05-08 10:41:04 +09:00
HostKeyConfirmModal.test.ts Improve coverage for retry/error observability utilities (#257) 2026-05-08 10:41:04 +09:00
HostKeyStore.test.ts fix(host-key): forget() now clears sessionTrust; fix verifyAsync JSDoc 2026-05-02 11:11:08 +09:00
JumpHostTunnel.test.ts test(JumpHostTunnel): cover readFileSync catch, default auth, and verifyAsync rejection (#262) 2026-05-09 22:06:46 +09:00
LocalOpRegistry.test.ts fix(sync): RPC writer self-reflect + echo de-dup (#341, fully closes) 2026-05-17 15:27:57 +09:00
Logger.test.ts test: second coverage pass — Logger/RpcClient/RpcConnection/WindowSpawner (#260) 2026-05-09 22:09:54 +09:00
ObservabilityInstaller.test.ts Improve coverage for retry/error observability utilities (#257) 2026-05-08 10:41:04 +09:00
ObsidianRegistry.test.ts fix(tests): repair 6 CI failures + bump 1.0.36 (#278) 2026-05-09 23:26:01 +09:00
OfflineQueue.test.ts feat(plugin): Phase E2-β.1 — OfflineQueue persistent JSONL (0.4.32) 2026-04-28 15:04:23 +09:00
openShadowVaultFor.test.ts fix(connect): address #352 review — failed-spawn lockout + double Notice 2026-05-18 01:47:03 +09:00
PathMapper.test.ts feat(plugin): expose clientId + userName in settings (F19/F20) 2026-04-26 10:46:53 +09:00
pathUtils.test.ts fix(rpc): address PR #355 review — path-space mismatch + undefined guard 2026-05-18 00:28:26 +09:00
PerfAggregator.test.ts test(plugin): Phase C.M4 — PerfAggregator + NDJSON / Markdown writers (0.4.41) 2026-04-28 19:54:29 +09:00
PerfCompare.test.ts ci(plugin): Phase C.M10 — perf-bench off the PR critical path; nightly + workflow_dispatch (0.4.48) 2026-04-29 08:39:01 +09:00
PerfInstrumentation.test.ts feat(plugin): Phase C.M2 — TS instrumentation for sync-latency spans (0.4.40) 2026-04-28 19:48:06 +09:00
PerfTracer.test.ts feat(plugin): Phase C.M0 — PerfTracer module (0.4.37) 2026-04-28 19:22:45 +09:00
PluginMarketplaceInstaller.test.ts feat(plugin): shadow vault installs missing plugins from Obsidian marketplace instead of copying from source (0.4.17) 2026-04-28 09:52:03 +09:00
proto-types.test.ts feat(proto): Phase C.M1 — additive meta.cid on RPC envelopes (0.4.38) 2026-04-28 19:29:50 +09:00
QueueReplayer.test.ts feat(plugin): Phase E2-β.3 — QueueReplayer + reconnect/connect drain (0.4.34) 2026-04-28 15:58:36 +09:00
ReadCache.test.ts chore: monorepo restructure (plugin/ + server/ + proto/) 2026-04-25 10:52:52 +09:00
ReconnectManager.test.ts test: AuthResolver / ConflictResolver / ReconnectManager branch coverage (#261) 2026-05-09 22:21:22 +09:00
Redact.test.ts feat(plugin): Phase D-β / F20 — structured JSONL log file + secret redactor (0.4.50) 2026-04-29 09:06:16 +09:00
RemoteShell.test.ts feat: integrated remote terminal pane (xterm.js + ssh2 shell channel) (#149) (#234) 2026-05-04 08:17:11 +09:00
RenameLeafFollower.test.ts fix(vault): keep the editor tab on writer rename (#341 follow-up) 2026-05-17 20:27:52 +09:00
ResourceBridge.test.ts feat(adapter): thread expectedMtime through range requests (#171, 0.4.88) 2026-04-30 17:36:06 +09:00
retry.test.ts Improve coverage for retry/error observability utilities (#257) 2026-05-08 10:41:04 +09:00
RpcClient.test.ts test: second coverage pass — Logger/RpcClient/RpcConnection/WindowSpawner (#260) 2026-05-09 22:09:54 +09:00
RpcConnection.test.ts test(RpcConnection): cover auth ok=false and server.info error branches (#268) 2026-05-09 22:15:28 +09:00
RpcError.test.ts test: 100% coverage for errorMessage, RpcError, and isPreconditionFailed (#264) 2026-05-09 22:07:04 +09:00
RpcRemoteFsClient.test.ts feat(rpc): fs.readBinaryRange + ResourceBridge fast path (#134, 0.4.83) 2026-04-30 10:10:15 +09:00
SecretStore.test.ts chore: monorepo restructure (plugin/ + server/ + proto/) 2026-04-25 10:52:52 +09:00
ServerDeployer.test.ts test: cover writeAtomic errors, waitForToken lastErr, and Port edge cases (#263) 2026-05-09 22:06:55 +09:00
SftpClient.kbdInteractive.test.ts test: add unit tests for keyboard-interactive handler wiring (#173) 2026-04-30 22:17:10 +09:00
SftpClient.unit.test.ts fix(tests): repair 6 CI failures + bump 1.0.36 (#278) 2026-05-09 23:26:01 +09:00
SftpDataAdapter.test.ts fix(sync): address PR #346 second-round review (N1-N6) 2026-05-17 15:00:28 +09:00
SftpRemoteFsClient.test.ts refactor(plugin): SftpDataAdapter talks to RemoteFsClient, not SftpClient 2026-04-25 12:04:20 +09:00
ShadowStartupCoordinator.test.ts test(AdapterManager,ShadowStartupCoordinator): coverage for lifecycle and F2 startup paths (#267) 2026-05-09 22:31:42 +09:00
ShadowVaultBootstrap.test.ts fix(shadow): address #354 review — detect "{}" app.json first-run state 2026-05-17 23:50:36 +09:00
ShadowVaultManager.test.ts feat(plugin): Phase 2 — ShadowVaultBootstrap + Manager + WindowSpawner + ObsidianRegistry (0.4.8) 2026-04-28 00:57:14 +09:00
SharedConfigWatcher.test.ts fix(shadow): push local shared-config changes to remote — close #342 2026-05-17 23:35:48 +09:00
SshConfigReader.test.ts test: cover writeAtomic errors, waitForToken lastErr, and Port edge cases (#263) 2026-05-09 22:06:55 +09:00
SshKeyGen.test.ts fix: address PR-222 review comments 2026-05-03 16:35:26 +09:00
Telemetry.test.ts fix: address PR-223 review comments 2026-05-03 16:58:14 +09:00
TransferTracker.test.ts feat: status-bar indicator for large file transfers (#127) 2026-05-03 15:40:00 +09:00
VaultModelBuilder.test.ts fix(sync): address PR #346 multi-agent review (C1 + I1-I5 + advisories) 2026-05-17 14:48:26 +09:00
WatchEventFilter.test.ts feat(plugin): subscribe to daemon fs.watch on adapter patch 2026-04-25 18:35:50 +09:00
WindowSpawner.test.ts test: second coverage pass — Logger/RpcClient/RpcConnection/WindowSpawner (#260) 2026-05-09 22:09:54 +09:00