Skip to content

feat(browser): staged delivery keeps progressive renders visible - #175

Merged
tannevaled merged 1 commit into
mainfrom
feat/browser-progressive-stage
Aug 9, 2026
Merged

feat(browser): staged delivery keeps progressive renders visible#175
tannevaled merged 1 commit into
mainfrom
feat/browser-progressive-stage

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

The web preview delivers a progressive render as a sequence of frames (fast first paint → refinements → final). Every frame went through Deliver, which cleared loading and reset scroll — so the first frame made the page read as "done" (progress indicator gone) and each frame snapped the view to the top, hiding the progression.

  • DeliverStage(..., final bool): an intermediate frame (final=false) updates content but keeps loading on, so the progress indicator keeps animating until the render completes; the final frame clears it. Deliver is now DeliverStage(final=true).
  • Scroll reset moved to navigation start (startLoad) instead of every delivery, matching a browser: a new page opens at the top, but staged frames refine in place and a user scrolling during a long load isn't yanked back.

100% coverage; existing Deliver behaviour (final render, page opened at top via the preceding navigation) unchanged. Tag a release after merge for the reader bump.

🤖 Generated with Claude Code

The web preview delivers a progressive render as a sequence of frames (a
fast first paint, then refinements, then the final). Every frame went
through Deliver, which cleared loading and reset the scroll — so the first
frame made the page read as "done" (the progress indicator vanished) and
each frame snapped the view back to the top, hiding the progression.

- Add DeliverStage(..., final bool): an intermediate frame (final=false)
  updates content but keeps loading on, so the progress indicator keeps
  animating until the render truly completes; the final frame clears it.
  Deliver is now DeliverStage(final=true).
- Move the scroll reset to navigation start (startLoad) instead of every
  delivery, matching a browser: a new page opens at the top, but staged
  frames refine in place and a user scrolling during a long load is not
  yanked back.

100% coverage; the existing Deliver behaviour (final render, page opened
at the top via the preceding navigation) is unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@tannevaled
tannevaled merged commit 269def3 into main Aug 9, 2026
1 check passed
@tannevaled
tannevaled deleted the feat/browser-progressive-stage branch August 9, 2026 16:38
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.

1 participant