sotashimozono_obsidian-remo.../plugin/e2e/helpers
Souta 07e1911ef1 test(e2e): close the Settings overlay that was swallowing every click
Root cause of the click-driven failures, and it is suite-wide.

`launchObsidian` -> `ensurePluginLoaded` -> `dismissTrustDialog` clicks "Trust
author and enable plugins". Obsidian's OWN reaction to that gesture is to open
its Settings dialog on the Community-plugins tab — a `.modal-container.mod-dim`
full-window overlay. Playwright cannot click through it:

    locator.click: Timeout 15000ms exceeded.
      - element is visible, enabled and stable
      - <div data-setting-id="plugins" ...> from <div class="modal-container
        mod-dim"> subtree intercepts pointer events

Every spec has been running under that overlay, in every window, since the
trust-dismiss path was added. It went unnoticed because the probes that do NOT
click are immune — page.evaluate over vault/metadataCache, and Node-side
fetches — so the model-level tests passed and only click-driven tests were hurt,
and those merely HUNG (Playwright's default actionTimeout is 0 = wait forever),
which read as "the product is slow", not "the harness is blocked".

`demo.spec.ts` is the single place in the repo that ever knew: it presses Esc,
with a comment saying exactly this. Every other spec ate it.

Fixed at the source: `launchObsidian` now calls the new `dismissBlockingModals`
once, for everyone. It LOGS what it closed, so a modal that IS meaningful (a
host-key prompt, PendingPluginsModal) shows up in the CI log rather than being
silently swallowed. Paired with `actionTimeout: 30_000` (previous commit), a
covered element now fails fast with Playwright's own intercept diagnostic — the
message that solved this — instead of burning the test timeout in silence.

This is why `images › embedded image in a root note renders` regressed to red
and why `links-metadata › 4 — clicking a wiki link opens the target` failed:
neither note was ever opened; the file-row click was intercepted. Both should
now go green. The genuine product reds are untouched.
2026-07-14 20:10:34 +09:00
..
log-oracle.ts test(e2e): isolate SFTP specs — fix cross-spec log contamination 2026-05-18 13:49:39 +09:00
obsidian.ts test(e2e): close the Settings overlay that was swallowing every click 2026-07-14 20:10:34 +09:00
remote-fixtures.ts test(e2e): hard-test matrix across images, plugins, fs, links, cache (17 -> 60) 2026-07-14 18:11:57 +09:00
remote-reset.ts test(e2e): fix the harness bugs the first run exposed; keep the real reds red 2026-07-14 19:37:24 +09:00
remote-verifier.ts test(e2e): hard-test matrix across images, plugins, fs, links, cache (17 -> 60) 2026-07-14 18:11:57 +09:00
sshd.ts test(e2e): address #353 review — race-free baseline + attributable restart 2026-05-18 10:47:57 +09:00
vault-scaffold.ts test(e2e): isolate SFTP specs — fix cross-spec log contamination 2026-05-18 13:49:39 +09:00