Live-reload (auto-update) for binary document previews#15
Closed
exilis wants to merge 20 commits into
Closed
Conversation
Drives a real reefdoc server in headless Chromium to verify the live-reload pipeline end-to-end (active auto-update, background updated-dot, delete -> missing state). Stubs the CDN PDF viewer so tests run offline. Adds an e2e CI job and an npm run e2e script.
4 tasks
Owner
Author
|
Superseded by #17. PR #15 was opened before the document-download feature landed on #17 merges this branch onto current master with those conflicts resolved — your feature commits keep their original authorship (it's a merge commit, not a rewrite). The two Playwright suites now share one config ( Suggest reviewing #17 and closing this one once you're happy with the resolution. |
exilis
added a commit
that referenced
this pull request
Jun 26, 2026
…nt previews (#17, supersedes #15) Binary document live-reload (PDF/DOCX/XLSX/PPTX auto-update on disk change) by Yuki Hayashi, conflict-resolved onto master after document-download landed. Reconciles the two Playwright E2E setups into one shared config + CI job. All tests green (go -race, 90 unit, 8 E2E).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
web/binreload.jsholds all testable logic (debounce scheduler, change routing, scroll math, seq-guarded refresh);web/app.jsis thin wiring. Embedded via//go:embed.changeevents onisMarkdown, so binary docs never emitted one — the frontend would have been dead end-to-end. Changed toisViewable(markdown + the four binary formats).End-to-end tests (Playwright)
Added browser E2E (
web/e2e/) that drives a real reefdoc server in headless Chromium and verifies the live-reload pipeline end-to-end. The CDN PDF viewer is stubbed so tests run offline/deterministically. Three scenarios: active auto-update, background updated-dot + lazy render, delete→missing-state. Wired into CI as a third job; run locally withnpm run e2e.Design & plan
docs/specs/2026-06-26-binary-doc-live-reload-design.mddocs/plans/2026-06-26-binary-doc-live-reload.mdTest Plan
go test -race ./...— all packages pass (incl. non-vacuous watcher test for a.pdfchange event)node --test— 87 passing, 0 failures (debounce, routing, scroll math, abort/seq-guard, off-screen leak cleanup, never-reject, PPTX in-place, dirOf/vanishedTabs)npm run e2e— 3/3 Playwright tests pass (active auto-update, background dot, delete→missing); verified non-vacuous (each fails without its fix)