feat(components): loading states and a cached conversation in its first frame - #942
Merged
Merged
Conversation
…app restyle on portals Replace use-stick-to-bottom with three explicit modes (follow, anchored, free): only reader input releases following, only reaching the real bottom, a jump or a send re-arms it, and a send anchors its message with room for the reply. Remove Konsta's unanchored :last-child rule and keep #root off <body>'s tail, so a portal no longer restyles the whole app. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…markdown Memoize sidebar rows with content-visibility, share recursive GitHub tree and PR reads, batch doc-meta updates, reuse the doc-meta projection at startup and tokenize markdown code blocks in a worker. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…st frame Show a skeleton only when nothing is cached (decided after the local read) and "Updating" while a cached copy catches up; render an open store synchronously and reveal the conversation in the frame after the click. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zxch3n
added this pull request to stack #946
September 24, 2026 04:12
Contributor
|
Desktop PR regression failed on commit
Recordings not attached
The Actions artifact retains the complete trace, screenshots, logs, and runtime evidence. |
"chore: acp" moved acp-extension-claude and acp-extension-codex to their main commits (Claude Agent SDK 0.3.274, @openai/codex ^0.154.0) without updating pnpm-lock.yaml, so `pnpm install --frozen-lockfile` fails on main and on every branch based on it. Regenerate the lockfile for those manifests. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Desktop PR smoke regression failed on commit
Recordings not attached
The Actions artifact retains the complete trace, screenshots, logs, and runtime evidence. |
This reverts commit a8b2e69.
7ea5568 moved acp-extension-claude, codex, grok, kimi and pi back to ancestors of the commits #906 pinned (1 to 17 commits behind, none ahead), leaving pnpm-lock.yaml (Claude Agent SDK 0.3.280, @openai/codex ^0.156.0) and apps/cli's runtime manifests (Codex 0.156.0) ahead of the manifests. Frozen installs and apps/cli tests fail on main. Restore #906's pointers. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…oll-2-switch-perf Brings in origin/main, including `@lody/ui` (#913). The extracted `SessionGroupRow` takes main's context-menu migration (`ContextMenu.Root/Trigger/Content/Item onClick/Separator`). Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ll-3-loading-states Brings in origin/main, including `@lody/ui` (#913). The conversation skeleton moves to `@lody/ui/skeleton`, whose size is its `width`/`height` props rather than classes. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tch-perf Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ing-states Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tch-perf Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ing-states Brings in origin/main. The info bar shows when there is a related-sessions tree (#959) or this layer's ambient sync status. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Base UI's dialog (#913) moves focus into its input a frame after it renders. The shortcut journey pressed Escape as soon as the palette was visible, so on a slow first launch the key still reached the composer and the palette stayed open. Wait for the focus a person would see first. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit 64875fd)
…tch-perf Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ing-states Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tch-perf Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ing-states Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zxch3n
marked this pull request as ready for review
September 26, 2026 01:19
Brings in #973; both sides' imports are kept. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tch-perf Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude/conv-scroll-1-follow-modes was squash-merged into main. Where this layer edited that layer's lines the squashed copy conflicts; this layer's side is kept. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ing-states Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude/conv-scroll-2-switch-perf was squash-merged into main. Where this layer edited that layer's lines the squashed copy conflicts; this layer's side is kept. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Related issue
Problem / pressure
Opening a conversation showed a blank pane, a cached conversation flashed a skeleton, and switching between conversations already in memory painted three blank frames (~125ms).
Summary
ManagedStoreCache.peek/peekSessionStoreletuseSessionDocrender an open store in its first commit;useTurnRangeis ready in render once hydrated.visibilitydirectly, and own scroll writes dispatchscrollso Virtua renders the new range in the same frame.Visual explanation
Before / after
Test plan
packages/components: tsgo clean; vitest 4060 passed on this layer; docs check clean.🤖 Generated with Claude Code