sotashimozono_obsidian-remo.../plugin
Souta 92ed4297fc test(e2e): make sync.spec deterministic — it was passing by luck
sync.spec's create/edit/delete went red once the Settings overlay was closed.
The overlay was not what made them work; removing it just made the whole run
faster and exposed two latent faults the spec had carried all along.

1. THE REAL RACE. `beforeAll` used `connectAndOpenShadow`, which returns as
   soon as the PLUGIN LOADS — the SSH connect, the ADAPTER PATCH and
   populateVaultFromRemote all land later, at layout-ready. A write fired
   before the patch goes to the shadow vault's LOCAL directory and never
   reaches the remote. That is the same race restart-settings.spec hit, and
   the same pre-connect window #342/#429 lives in. With the overlay up the run
   was slow enough that the connect had usually landed first; without it, it
   hadn't. Now: capture the shadow path via the building blocks and block on
   `waitForShadowVaultLoaded` before any test runs.

2. SILENT SKIPS. The rename was `if (await inlineTitle.isVisible(...))` — when
   false it was skipped without a word, leaving the note as `Untitled.md`, and
   the test then failed on `remote.exists('e2e-test-<stamp>.md')` with a
   message that named nothing. `delete` had the same shape around its confirm
   dialog. Note that Playwright's isVisible() does NOT hit-test (an element
   under an overlay still reports visible) while click() does — so overlay
   presence silently flipped which steps worked. Both branches are gone; every
   stage is now asserted and dumps the active file / fileMap / open modals on
   failure.

Drive path is now `app.vault.create/modify/delete` via page.evaluate. In the
shadow window `app.vault.adapter` IS the patched adapter, so the write still
traverses every line of plugin code a keystroke would have reached; the only
thing dropped is Obsidian's own contenteditable→debounce→vault.modify step,
which is not the product under test. The REMOTE assertions — independent SFTP
ground truth via RemoteVerifier — are unchanged, and two are stronger:
`edit` now asserts the original text is GONE (a stray append used to satisfy
it), and `delete` now asserts the file was actually THERE first (it could
previously pass vacuously). Fixed waitForTimeout sleeps replaced with
expect.poll against the remote.
2026-07-14 20:34:44 +09:00
..
e2e test(e2e): make sync.spec deterministic — it was passing by luck 2026-07-14 20:34:44 +09:00
scripts fix(daemon): sha-verify on the fast path + keep the dev-daemon marker in E2E 2026-07-02 19:07:38 +09:00
src fix(adapter): harden config write-through against symlink clobber + traversal 2026-07-14 14:39:00 +09:00
tests fix(adapter): harden config write-through against symlink clobber + traversal 2026-07-14 14:39:00 +09:00
esbuild.config.mjs fix(plugin): resolve Obsidian reviewer findings (CSS / disclosure / dynamic-exec) — 1.1.1-beta.2 (#373) 2026-06-08 17:17:41 +09:00
eslint.config.mjs chore(lint): tighten local config to mirror more of ObsidianReviewBot's checklist (0.4.76) 2026-04-29 20:50:14 +09:00
manifest.json test(e2e): hard-test matrix across images, plugins, fs, links, cache (17 -> 60) 2026-07-14 18:11:57 +09:00
package-lock.json test(e2e): hard-test matrix across images, plugins, fs, links, cache (17 -> 60) 2026-07-14 18:11:57 +09:00
package.json test(e2e): hard-test matrix across images, plugins, fs, links, cache (17 -> 60) 2026-07-14 18:11:57 +09:00
styles.css release: 1.1.2 (stable) — validator-clean (#395) 2026-06-09 15:28:18 +09:00
tsconfig.json fix(plugin): add node types to tsconfig to resolve unsafe-member warnings (#380) 2026-06-08 21:48:02 +09:00
versions.json chore(release): promote 1.1.7-beta.1 -> 1.1.7 (stable) 2026-07-14 14:44:48 +09:00
vitest.config.ts fix(tests): repair 6 CI failures + bump 1.0.36 (#278) 2026-05-09 23:26:01 +09:00
vitest.integration.config.ts chore(plugin): satisfy ObsidianReviewBot's stricter ruleset, round 2 (0.4.75) 2026-04-29 20:19:10 +09:00
vitest.replay.config.ts ci(replay): replay previous release tag's tests against current source 2026-04-30 17:54:22 +09:00
vitest.setup.ts chore(deps-dev): integrate dev-deps group + prefer-window-timers fix (1.1.1-beta.1) (#371) 2026-06-08 13:18:07 +09:00