Conversation
A steer during a streaming expanded tool-call group remounted the live header under a new key, so LegendList placed the following user row and Working-for pill with a 90px estimate on top of a much taller details row. Keep the live-activity-row identity across that splice, pin chrome row sizes, and include an expanded-group height signature in list extraData so growing tool rows remasure before new tail rows are placed.
CodeRabbit docstring coverage on the mid-turn tool-group fix was 33%. Add one-line TSDoc on every function in that diff so coverage clears 80%. Co-authored-by: maco <macodev00@users.noreply.github.com>
getFixedMessagesTimelineItemSize treated every work-live row as fixed chrome. Expanded AgentSpawnRow members grow in place via expandedSpawnEntryIds, so following rows overlapped. Leave expandable spawn work-live rows measured instead. Co-authored-by: maco <macodev00@users.noreply.github.com>
CodeRabbit docstring coverage on the mid-turn tool-group fix was 75%. Use function-declaration TSDoc on the test helpers and remaining touched functions so coverage clears 80%.
getFixedMessagesTimelineItemSize returns undefined for work-live rows with agentSpawn so AgentSpawnRow is measured instead of pinned to chrome height. Include expandedSpawnEntryIds in LegendList extraData and derive the live spawn row in the overlap test.
This branch has not been deployed
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.
A live expanded tool-call group can be much taller than LegendList’s 90px estimate. A mid-turn user message (steer) remounted that group under a new key, so the following user bubble and Working-for pill were placed on top of the streaming commands.
This keeps
live-activity-rowidentity when a steer only moves the working header, pins chrome row sizes, and puts an expanded-group height signature in listextraDataso growing tool rows remasure before new tail rows are placed.Follow-up:
getFixedMessagesTimelineItemSizealso pinned everywork-liverow, including expandableAgentSpawnRows. Spawn members grow in place viaexpandedSpawnEntryIds, so following rows overlapped. Those spawn rows are now measured instead of treated as fixed chrome.Tracked as pingdotgg#12094. No upstream PR.
Tests:
vp test run --project unit src/components/chat/MessagesTimeline.logic.test.ts src/components/chat/MessagesTimeline.test.tsx(192 passed).