chore(e2e): retire lost-reply workarounds obsolete since obsidian-e2e 0.10.0 - #1668
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe E2E dependency now uses version ChangesE2E structured result handling
Estimated code review effort: 2 (Simple) | ~10 minutes Mergeability Score: ⚪ Minimal · up to This PR removes obsolete e2e transport workarounds and updates the supporting dependency without changing product runtime behavior; the localized test changes are merge-ready after normal checks, with no actionable merge-blocking risk remaining. Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying quickadd with
|
| Latest commit: |
5096e27
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://b407d957.quickadd.pages.dev |
| Branch Preview URL: | https://chore-e2e-retire-lost-reply.quickadd.pages.dev |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 751c9527f8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
obsidian-e2e 0.10.0 (obsidian-e2e#25, PR #26) made
exec()- and everything riding it:dev.eval*,plugin.reload(),quickadd:*CLI calls - recover lost CLI replies via a nonce-registry dispatch shim, andevalJsonAsyncalready runs kickoff-and-poll internally with exactly-once semantics. This retires the hand-rolled defense quickadd carried for that failure mode.Removed / updated
tests/e2e/apply-template-to-active-note.test.ts-applyTemplatefire-and-poll helper: replacedevalRaw+window.__qaApplyTplResult+waitFor(evalJson)polling with a single awaitedevalJsonAsynccall. The comment justifying the decoupling ("a long-awaited eval can stall and time out even after the in-app operation completed") describes exactly the lost-reply mode 0.10.0's recoverable exec fixes;evalJsonAsyncis now that fire-and-poll pattern, managed by the package. The in-app{ ok, error }catch stays so A07/A08 keep asserting on rejection messages, and the vault-index poll loop stays (index lag is real and unrelated to the transport).package.json+pnpm-lock.yaml:obsidian-e2e^0.9.0→^0.10.0, the version that ships the recovery. Lockfile regenerated and verified consistent with--frozen-lockfile.Deliberately kept
vitest.e2e.config.mtstestTimeout: 60s/hookTimeout: 30s: predate the transport-hang era entirely (set at suite creation in test(e2e): add file collision behavior coverage #1153, March 2026) - they are generic e2e budgets, not lost-reply padding, and hooks still need headroom for the ~5s-scale recovery poll latency on top of reload/lock work.30_000timeouts and all 10-15sWAIT_OPTS/waitForContent/waitUipolls: these wait on vault-content writes, metadata indexing, and UI state - real in-app latencies the recoverable transport does not remove.exec("quickadd:run", ...)call sites: unchanged; they gain recovery automatically in 0.10.0, which explicitly keeps non-idempotentquickadd:run-style commands exactly-once.Sweep covered
tests/e2e/,docs/, configs, and inline comments for fire-and-poll, window-global, evalJsonAsync-guidance, 30s/transport/lost-reply language (viagit grep, avoiding the known ripgrep NUL-byte blindspot). The helper above was the only workaround found.Verification
stop:e2e-obsidian→start --print-env→test:e2e): 49/49 e2e tests green both rounds.tsc -noEmitand eslint clean.Summary by CodeRabbit