{"version":"2.1.275","anchor":"chat-history-virtualization-speaker-label-list-rendering-i","canonical_anchor":"chat-history-virtualization-speaker-label-list-rendering-i","heading":"Chat-history virtualization \/ speaker-label list rendering internally reworked","tier":"internal","area":"Chat UI","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.275\/e\/chat-history-virtualization-speaker-label-list-rendering-i","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.275","markdown":"### Chat-history virtualization \/ speaker-label list rendering internally reworked\n\nInternal rework of how chat history renders speaker labels and message rows\n\n**What**\n\nThe internal code that computes speaker-label continuation state (whether consecutive messages from the same speaker are grouped together), reply boundaries, and message row rendering in the chat history view was restructured, including a new memoized rendering call. No new user-facing capability was identified.\n\n**Why**\n\nThis appears to be an internal refactor of chat history rendering with no described change in what users see or can do.\n\n- Area: Chat UI\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 0\/5"}