timescale.info
Sign inSign up

How OpenChronology was built

Every merged pull request of openchronology/timeline-app, its first week of commits and its releases; and before them the 2020 PureScript editor, from snapshots of its deleted repositories in the Wayback Machine. Written to this server through the HTTP API.

327 moments · 2020-03-09T00:15:08Z CE – 2026-11-02T20:11:21Z CE · by @athan · @athan

#278 · Live polling skips timelines that left the screen

  • timeline-app
  • pull request

Closes #240. **1. Request to the first server after switching (accounts-browser.mjs:418).** - The flagged `timelines/…0001/revision` request was a desktop poll of the first server's timeline. That timeline stays open behind the dashboard until the second server's timeline is clicked. - Polls run every five seconds and whenever the header updates. One can go out between the test clearing its request log and the click. `route()` reaches `useServer()` synchronously after the click, and `openRemote()` then clears `remote`, so nothing goes to the old server after the switch. The failure was a race in the test. - Looking into it turned up a real gap in `liveUpdates`. A polling pass took its list of sources at the start and checked each in turn. A source that left the screen mid-pass was still checked, through whichever server was in use by then. A 403/404 for it was reported as `denied`, telling the new view its access was lost. - Each source is now checked only while still on screen. - An answer for one that left is ignored. - The test now asserts that nothing reaches the first server after the switch, and that nothing but that revision check reaches it before. **2. WebKit "due to access control checks" in drafts-browser.mjs.** Already handled by #271/#273: `test/drafts-browser.mjs` ignores that message. **Tests** - New unit test in `test/live-client.test.mjs`: a source that leaves during a poll is neither checked further nor reported denied. - `npm test`: 306 pass. `npm run build`: OK. - `checkAccounts` looped in the Playwright image: WebKit 6/6, Chromium 5/5, Firefox 5/5.

Sources

Open #278 · Live polling skips timelines that left the screen in the timeline