Release v1.0.5#1740
Closed
zerob13 wants to merge 7 commits into
Closed
Conversation
* docs(shortcuts): add sidebar shortcut spec * feat(sidebar): add chat number shortcuts * fix(sidebar): ignore repeated shortcut keys
* chore: update markdown vue * fix(chat): stabilize streaming interactions * docs(agents): default prs to dev * fix(chat): address review feedback
* fix: macos active window service * fix(mac): restore app foreground identity
* feat(chat): content-visibility message windowing
Replace DOM-removal/DynamicScroller virtualization with CSS
content-visibility windowing, and unify streaming and persisted
messages into a single render track to remove the completion flash
and fix auto-scroll during generation.
Rendering & layout
- Add MessageListRow as the single row renderer; apply
content-visibility:auto + contain-intrinsic-size so the browser
skips painting off-screen markdown/code/mermaid. Force the last
row visible while generating for smooth streaming.
- Add useMessageWindow composable: per-message estimated/measured
heights and top/bottom offsets for anchor jumps and a future
minimap. Rows report height via a measure event (ResizeObserver).
- Strip DynamicScroller/spacer windowing out of MessageList.
Single-track streaming (fixes flash + duplicate render)
- Fold live streaming blocks into their message record in place
(applyStreamingBlocksToMessage) so the generating message and the
finished message are the same id/DOM node. Stream end just swaps
the record's content — no node remount, no blank gap.
- Restore hasInlineStreamingTarget guard so the virtual streaming
row is only appended when the record isn't in the store yet,
preventing the same content (e.g. a generated image) rendering
twice after a mid-stream loadMessages.
Scroll behavior
- Add scroll modes: initial-bottom / auto-follow / anchored-reading
/ manual-jump, with bottom-anchored DOM scroll via
scrollTop = scrollHeight - clientHeight (reaches true bottom past
the sticky input, unlike anchor.scrollIntoView).
- Only a real user scroll may flip auto-follow <-> anchored-reading;
programmatic metric reads from streaming height growth no longer
break bottom-follow during generation.
- Preserve line of sight on height changes and when prepending
older history; keep session-restore settle behavior.
Robustness & perf
- Guard MessageListRow measure against a transient undefined item
during the streaming->persisted node swap
- MarkdownRenderer: two-stage debounce (32ms fast / 96ms slow for
long streaming content) and contain:layout style paint on prose
and tables to reduce reflow jank.
- Add lazy markdown worker lifecycle helper (KaTeX/Mermaid created
on first use) for cold-start.
* chore: update
* chore: update
---------
Co-authored-by: zhangmo8 <zhangmo8@users.noreply.github.com>
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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
devrelease/v1.0.5from the same commit already pushed toorigin/devChecks
pnpm run formatpnpm run i18npnpm run lintpnpm run typecheckRelease Notes
After this PR is reviewed and approved, publish with:
Do not use the GitHub merge button for this release PR.