Unify activity timeline loading and surfaces - #722
Merged
Conversation
Harry19081
marked this pull request as ready for review
August 6, 2026 13:00
…-timeline-surfaces # Conflicts: # src/modules/WorkStation/CodeEditor/Panels/EditorPrimarySidebar/content/PullRequestContent/detail/PrConversationTab.tsx
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.
Problem
Issue, pull-request, work-item, and human-session timelines mix generic spinner placeholders with timeline cards whose entire surface uses the header fill. Markdown preview fades can also blend into the wrong background when a card body sits on the chat pane.
Solution
Add one accessible, text-free timeline loading skeleton and use it for issue and PR activity loading. Match timeline card bodies to the surrounding chat pane while retaining the primary-container fill on headers, and let MarkdownContent receive the correct fade origin from each host surface. Export the skeleton through the shared timeline component boundary. The
developintegration preserves the dedicated PR review modal while removing the obsolete placeholder import.Potential risks
Changing the card body surface affects every TimelineCard consumer, including Human Sessions. Automated tests cover the shared behavior and the merged review-composer integration, but manual contrast review across themes was not run because desktop UI control was not authorized. Callers that omit
fadeFromretain the existing primary-container default.Audit
Frontend UI audit: 0 fixes recommended, 6 keep-with-reason decisions, and 1 typography abstraction candidate deferred to a dedicated repository sweep. The report is included at
docs/frontend-ui-audit-2026-08-06/UnifiedTimelineSurfaces.md.Verification
pnpm vitest run src/features/HumanSession/HumanSessionView.test.ts src/modules/shared/components/ActivityTimeline/ActivityTimeline.test.ts src/modules/WorkStation/CodeEditor/Panels/EditorPrimarySidebar/content/PullRequestContent/detail/PrConversationTab.test.ts— passed (18 tests across 3 files).pnpm typecheck— passed.org2andorgtrack_core— passed.git diff --cached --check— passed before commit.