fix(web): match new-thread hero to selected checkout#25064

merged5
main
fix/issue-24999
opened8d agobyJJulius Marminge
View on GitHubTwo-way sync enabledPR last imported 8h ago

Problem

With repository grouping enabled, registering two checkouts with different folder names makes the new-thread breadcrumb name the selected checkout while the hero names the repository. Selecting arc-skeleton-for-zen from a pair sharing the same remote reproduces the mismatch.

Change

Use the selected project's title for the hero button, its tooltip, and heading width measurement, matching the breadcrumb. The picker continues to list and search repository groups.

Scope and approval

Fixes https://github.com/pingdotgg/t3code/issues/24999 GitCafe: #24999

Triaged bug via the automated issue flow. This is a focused correction to inconsistent naming on one screen, with no setting, persisted state, or contract change.

Verification

Reproduced in the real web app on main with two local Git checkouts sharing one remote, then verified the fix with the same data. Format, lint, and affected typechecks passed via vp run check:changed; one knip phase passed, while the other reports the existing unused agent-device dependency in unchanged scripts/package.json on the base revision. No tests added for this visual naming fix.

Web and desktop share this renderer. Native desktop shell was not run; native mobile has no changed path. Providers, contracts, Settings, command palette, keybindings, and connection transports are unchanged.

Evidence: Chrome 154 on Linux, DPR 2, font 100%; CSS viewports 1440×900 and 390×844, each light/dark. Desktop PNG output is scaled by the preview tool to 1280×800; narrow output is 780×1688. Before is 2ed92618e6, after is 72735278d0. Both source trees were served by the isolated dev app. Matching closed panels, theme, data and viewport; repeated frames 500ms apart are pixel-identical.

Fixture matrix · Full evidence and uploaded reproduction/driver scripts

A changes the repository label to the selected checkout title. C uses a long selected title and switches the desktop heading to its existing stacked layout. All changed pixels are confined to the hero. The equal-title D control is pixel-identical before/after. Diff0 amplifies every RGB delta in magenta; DiffT marks max channel delta >16/255 in orange.

A-1440-light

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

A-1440-dark

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

A-390-light

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

A-390-dark

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

C-1440-light

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

C-1440-dark

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

C-390-light

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

C-390-dark

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

D-1440-light

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

D-1440-dark

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

D-390-light

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

D-390-dark

BeforeAfterDiff0DiffT >16
BeforeAfterDiff0DiffT
2ed92618e672735278d0same pairsame pair

Picker and selected-member recordings

Hover the selected checkout trigger, open the picker and search arc-ui-skeleton, clear search and hover the group tooltip, select the current group, navigate to the first concrete checkout draft, then return to the second. Before retains the repository label; after follows each selected checkout. Reload transients are included and make no timing claim. Approximate annotation times below are seconds, ±0.5s.

RecordingHoverOpen/searchClear/group tooltipSame-group selectionNavigate first (settled first)Return second (settled second)
1440 light BEFORE0–3.23.3–4.44.5–6.2~6.26.4–14.7 (12–14.7)14.8–23.9 (20.5–23.9; normalized ~22.5)
1440 light AFTER0–2.72.8–3.83.9–5.6~5.75.9–14.6 (11.5–14.6; normalized ~13.5)14.7–21.4 (18.5–21.4; normalized ~19.5)
1440 dark BEFORE0–2.72.8–3.73.8–5.1~5.2–5.75.8–12.7 (9.5–12.7; normalized ~10.5)12.8–19.7 (17–19.7; normalized ~18)
1440 dark AFTER0–2.82.9–3.73.8–5.7~5.86–13.7 (11–13.7; normalized ~12)13.8–20.8 (18–20.8; normalized ~19)
390 light BEFORE0–2.32.4–3.33.4–4.7~4.85–12.2 (9.5–12.2)12.3–18.9 (16–18.9)
390 light AFTER0–2.32.4–3.33.4–4.8~4.95–12.4 (10–12.4)12.5–19.3 (16.5–19.3)
390 dark BEFORE0–2.22.3–3.63.7–4.6~4.74.9–10.2 (8–10.2)10.3–15.9 (13.5–15.9)
390 dark AFTER0–2.32.4–3.63.7–4.8~4.9–5.25.3–11.6 (9–11.6)11.7–18.7 (16–18.7)

B 1440 light

BEFORE recording · AFTER recording

B 1440 dark

BEFORE recording · AFTER recording

B 390 light

BEFORE recording · AFTER recording

B 390 dark

BEFORE recording · AFTER recording

Independent proof audit: every matrix entry passed; a rebuilt head capture matched the delivered image with zero pixel delta. Both independent full-diff reviewers returned MERGE.

Independent proof audit

Models: Claude Opus 5.5 and GPT-6.1-Sol; Claude and Codex harnesses in T3 Code.

Checks

21 successful · 17 skipped
All checks passed
08fda1e

Added 2 commits

  • Merge remote-tracking branch 'origin/main' into fix/issue-249997273527
  • fix(web): draft hero names the selected project, not its group label745b534
Synced from GitHub

Approvability

Verdict: Approved at 7273527

Macroscope's review found this PR approvable — This small web-only bug fix makes the new-thread hero consistently display the selected checkout title while leaving project grouping and selection behavior unchanged. Its impact is limited to UI text and responsive layout measurement, with no defaults, persistence, or API changes.

No code changes detected at 08fda1e. Prior analysis still applies.

You can add or adjust custom eligibility rules. Learn more.

Synced from GitHub

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

External image Run configuration
External image Commits

Reviewing files that changed from the base of the PR and between 7f585f7886c0f71b37f5d93524a024b304ae6d5b and 08fda1eb33b137040db4fde6c45805324a4cff29.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review

No actionable comments were generated in the recent review.

Walkthrough

The draft hero’s project selector, tooltip, and heading now use activeProjectTitle instead of a display name derived from the project group.

Changes: Draft hero project title

Layer / File(s)Summary
Use the active project title
apps/web/src/components/chat/DraftHeroHeadline.tsx
The selector label, tooltip, and hero heading now use activeProjectTitle instead of the group-derived display name. The “No project” label remains for scratch drafts.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix · Severity of issue fixed: Low

Possibly related PRs

Suggested reviewers: bentbrain, yash-singh1

Merge Risk: External image Minimal · previous review 7f585

No actionable merge-blocking risk was found in this focused naming change.

Pre-merge checks: Passed 4
Check nameStatusExplanation
Title checkPassedThe title clearly and concisely identifies the web fix: aligning the new-thread hero with the selected checkout.
Description checkPassedThe description includes all required sections: Problem, Change, Scope and approval, and Verification. It explains the issue, fix, linked issue, validation results, limitations, and UI evidence.
Linked Issues checkPassedIssue [#24999] requires consistent naming on the grouped-checkout new-thread screen. The diff changes the hero button label, tooltip, and DraftHeroProjectHeading input from the group display name to…
Out of Scope Changes checkPassedThe whole-PR diff contains only the focused change in apps/web/src/components/chat/DraftHeroHeadline.tsx. It replaces the hero naming source and removes the unused group display-name variable. It do…
Full details: Linked Issues check

Explanation

Issue [#24999] requires consistent naming on the grouped-checkout new-thread screen. The diff changes the hero button label, tooltip, and DraftHeroProjectHeading input from the group display name to activeProjectTitle. The issue identifies activeProjectTitle as the selected checkout title used by the breadcrumb. The picker still uses group entries and group display names for listing and search.

Full details: Out of Scope Changes check

Explanation

The whole-PR diff contains only the focused change in apps/web/src/components/chat/DraftHeroHeadline.tsx. It replaces the hero naming source and removes the unused group display-name variable. It does not change settings, state, contracts, picker grouping behavior, or unrelated functionality.

Finishing Touches
Generate docstrings
  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
External image Recent review info
External image Run configuration
External image Commits

Reviewing files that changed from the base of the PR and between 6bf4aef53ef3947a6523f05712768c4b595c81e9 and 7f585f7886c0f71b37f5d93524a024b304ae6d5b.

External image Files selected for processing: 1
  • apps/web/src/components/chat/DraftHeroHeadline.tsx

Limit details: You’ve used all 10 included reviews currently available.

Added 2 commits

  • Merge branch 'main' into fix/issue-249996bf4aef
  • Merge branch 'main' into fix/issue-249997f585f7
Synced from GitHub

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for 7f585f7.

This comment will update automatically after the next completed run.

Added 1 commit

  • Merge branch 'main' into fix/issue-2499908fda1e