Skip to content

test(e2e): allow time for the second playback checkpoint - #424

Merged
chhoumann merged 1 commit into
masterfrom
test/j-play-11-deadline
Oct 12, 2026
Merged

chhoumann merged 1 commit into
masterfrom
test/j-play-11-deadline

Conversation

@chhoumann

@chhoumann chhoumann commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

Summary

J-PLAY-11 waited 20 seconds for a saved position of at least five seconds, but that value reaches disk on the second write, about 20 seconds after the episode click. Allow 30 seconds while keeping >= 5 and the later restore assertions unchanged.

Use two playback observations separated by sleep(gapMs) for playing episodes; retain continuous checks while paused. Remove the offline request-count assertion against a stopped server, and replace the future-schema readiness sleep with a wait for its rejection notice. Four test files only.

Verification

At e41cbb4a964580b5ad5af3d23c199360d112efae, based on master ab4b07c:

  • npm run lint, npm run format:check, npm run typecheck, npm run build, npm run test, npm run test:tooling, and npm run docs:build passed. Application tests: 1,714 in 99 files. Tooling: 10 tests. Svelte: zero errors or warnings. Docs: all links and 112 legacy fragments valid.
  • Real Obsidian on headless Linux: npm run test:e2e passed 77/77 on 1.14.4; PODNOTES_OBSIDIAN_APP=/opt/Obsidian/obsidian npm run test:e2e passed 77/77 on 1.13.7.
  • npm run test:e2e -- tests/e2e/journey-playback.test.ts -t J-PLAY-11 passed five consecutive runs on 1.14.4, each with a fresh instance. Disk traces show the qualifying write about 20 seconds after the episode-selection write. The test uses the local Journey Playback feed and its 60-second Long Listen WAV.
  • Ran the M5 rewind mutation once with npm run test:e2e -- -t '#355 audio keeps playing'. It failed the expected advancement assertion, 0.521333 seconds against the required 1 second. Source was restored before all gates and full suites.

All commands used Node 22.23.2. No retries. All owned instances stopped. Report and logs, traces, mutation capture and hashes.

Release impact

None. Tests only; no product, navigation, storage, API, or URI changes.

Fixes #421

Note

Fix e2e test timing: extend playback checkpoint wait and replace fixed delays

  • Raises the library-checkpoint wait from 20 to 30 seconds in journey-playback.test.ts, with a note that the second persistence write lands around 20 seconds after playback
  • Updates playbackOver in library.ts to wait the full requested interval before the second observation when playback is already active, instead of polling for an immediate state change
  • Replaces the fixed 200ms delay in podnotes-runtime.test.ts with a wait for the exact unsupported-schema notice
  • Removes the online request-count assertion from the offline feed journey in journey-resilience.test.ts
  • Behavioral Change: the offline feed e2e test no longer verifies that opening an unavailable feed makes no extra server requests

Macroscope summarized e41cbb4.

@chhoumann chhoumann linked an issue Oct 12, 2026 that may be closed by this pull request
@chhoumann
chhoumann marked this pull request as ready for review October 12, 2026 22:04
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying podnotes with  Cloudflare Pages  Cloudflare Pages

Latest commit: e41cbb4
Status: ✅  Deploy successful!
Preview URL: https://b0f22538.podnotes.pages.dev
Branch Preview URL: https://test-j-play-11-deadline.podnotes.pages.dev

View logs

@chhoumann
chhoumann merged commit 1587b27 into master Oct 12, 2026
16 checks passed
@chhoumann
chhoumann deleted the test/j-play-11-deadline branch October 12, 2026 22:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test(e2e): intermittent J-PLAY-11 playback checkpoint timeout

1 participant