Render saved surfaces in the preview pane with refresh recovery #53

Merged
weichen merged 1 commits from feature/generative-ui-u4 into main 2026-10-11 11:40:00 +00:00
Owner

Why: U4 read-only experience - event projection with strict revision guard, surface preview tabs rendering SurfaceView, doc-ref bridging into artifact previews, non-stealing auto-open, and authoritative reload on conversation open (refresh recovery).

Evidence: tsc clean; vitest 87/87 incl. new surface projection tests.

Impact: Frontend-only.

Refs: Core #27/#28; UI #42/#43/#44; Dev task feature/generative-ui-u4

Why: U4 read-only experience - event projection with strict revision guard, surface preview tabs rendering SurfaceView, doc-ref bridging into artifact previews, non-stealing auto-open, and authoritative reload on conversation open (refresh recovery). Evidence: tsc clean; vitest 87/87 incl. new surface projection tests. Impact: Frontend-only. Refs: Core #27/#28; UI #42/#43/#44; Dev task feature/generative-ui-u4
weichen added 1 commit 2026-10-11 11:39:58 +00:00
Why: U4 read-only experience - surface.updated events project into a
surfaces slice with a strict revision guard (stale/duplicate events
never overwrite; server snapshot is the single owner), preview tabs
gain a surface: kind that renders SurfaceView (doc-refs bridge into
artifact previews), a new page auto-opens a tab without stealing the
user's active non-surface tab, and opening a conversation reloads the
authoritative surface list so refresh/断线 restores pages.

Evidence: tsc clean; vitest 87/87 including new surface projection
tests (stale/duplicate/multi-surface); UI SurfaceView suite green in
its repo.

Impact: Frontend-only; no backend or contract changes.

Refs: Core PRs #27/#28; UI PRs #42/#43/#44; Dev task
feature/generative-ui-u4
weichen merged commit 68f6c8638b into main 2026-10-11 11:40:00 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weichen/Agent-System-Frontend#53