Skip to content

Separate pull-request reviews from comments - #721

Merged
sudomaggie merged 1 commit into
dev/rich-text-shared-toolbar-controlsfrom
dev/github-pr-review-composer
Aug 6, 2026
Merged

Separate pull-request reviews from comments#721
sudomaggie merged 1 commit into
dev/rich-text-shared-toolbar-controlsfrom
dev/github-pr-review-composer

Conversation

@Harry19081

Copy link
Copy Markdown
Member

Problem

Pull-request level actions and review decisions compete with the scrolling conversation and comment input. Approve and Request changes submit directly from the conversation draft, which conflates review bodies with ordinary comments and does not make the reviewed head commit explicit.

Solution

Dock the PR composer below the scrolling timeline, place PR-level merge/reviewer/state actions directly above its input, and move review submission into a dedicated modal with Comment, Approve, and Request changes decisions. Anchor submitted reviews to the displayed head SHA, localize the complete PR action vocabulary in every supported locale, and use compact upward-opening toolbars for comment and review-thread editors.

Potential risks

The docked composer reserves at least 240 px, so very short panels have less visible conversation space. A review falls back to GitHub's current head when the displayed SHA is unavailable; when present, the explicit SHA can cause GitHub to reject a review if the PR advanced, which protects against reviewing unseen code. This PR is stacked on PR #719 and expects PR #714's right-aligned dropdown default for the action menus. Manual responsive, keyboard, and modal evidence is pending, so this PR remains a draft.

Performance guard

Verdict: pass. The composer adds one element measurement observer while the conversation is mounted and releases it through the existing hook cleanup. It adds no timer, poll, network request, subscription, or cache; hidden/idle behavior is unchanged, repeated mounts do not retain listeners, and multi-instance cost is bounded to one observer per mounted PR conversation.

Audit

The configured frontend-ui-audit skill file was unavailable at both documented locations. A direct pass confirmed reuse of Modal, Radio, Textarea, Button, Dropdown, ComposerShell, and RichMarkdownEditor, with native labels/fieldset semantics and localized actions rather than one-off controls.

Verification

  • Vitest for PrConversationTab, PrDetailPanel, and useWorkstationPrDetail — passed (13 tests across 3 files).
  • ESLint on all 8 changed TypeScript/TSX implementation and test files — passed after removing one formatting-only blank line.
  • pnpm typecheck — passed.
  • jq empty for all 13 changed locale files — passed.
  • git diff --cached --check — passed before commit.
  • Manual desktop verification was not run because local UI control was not authorized for this task.

@Harry19081
Harry19081 marked this pull request as ready for review August 6, 2026 13:00
@sudomaggie
sudomaggie merged commit 8a46173 into dev/rich-text-shared-toolbar-controls Aug 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants