Repository navigation
refactor(ui): extract ChatView turn rendering - #832
Merged
Merged
Conversation
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
chat-view.tsxinto one cohesivechat-turn.tsxmodule.Why
Stage 2 of #829. ChatView still implemented attachments, message bodies, timeline entries, streaming/thinking content, lineage, and footer actions inline. Those concerns change as one rendered-turn subsystem, independently of the page container and its scroll lifecycle.
Refs #829.
Scope
This is a pure extraction. It does not redesign turn rendering, split every child component into a separate file, or move the #828 pinned-bottom and turn-size-warmup lifecycle out of ChatView; that scroll boundary is Stage 3.
Verification
npm --workspace @maka/ui test— 111 passed.npm --workspace @maka/desktop test— 2,351 passed.npm --workspace @maka/desktop run typecheck:stories— passed.npm --workspace @maka/desktop run e2e -- scroll-geometry.spec.ts— 3 passed, including the section-switch re-warm contract from fix(ui): stabilize long-session scroll geometry for content-visibility turns #828.TurnFooterActionMetafromchat-view.js. The import now uses the existing public components barrel and Storybook typecheck passes.main; the warm-up conflict was resolved by keeping scroll lifecycle in ChatView.Impact
No user-visible, storage, migration, documentation, or release-note impact. Public
@maka/uitype exports remain unchanged.Reviewer notes
Review
chat-turn.tsxas a moved cohesive unit.TurnViewand the two fallback indicators are exported only for the internal ChatView seam; the package barrel continues to expose only the existing turn metadata types.Ready for review
Verificationexplains why it is not applicable