Skip to content

fix(client-runtime): honor shared names for grouped repos - #27133

Closed
iTzFrancesco wants to merge 1 commit into
pingdotgg:mainfrom
iTzFrancesco:fix/project-group-label
Closed

iTzFrancesco wants to merge 1 commit into
pingdotgg:mainfrom
iTzFrancesco:fix/project-group-label

Conversation

@iTzFrancesco

Copy link
Copy Markdown

Problem

With repository grouping enabled, a group whose checkouts share a title identical to the repository name is shown as owner/repo. Adding the same repository on another environment can therefore change the project picker and settings label even though the saved project name is still the short name. This is the short-name case reported in #4880.

Change

Prefer a unanimous non-empty saved title when deriving a group label, including when it matches the repository name. Fall back to repository identity only when member titles disagree or are absent. Repository grouping keys and remote identity are unchanged.

Scope and approval

This is a focused fix for the mismatch between the saved Project name and the derived group label. It changes display text only and does not change repository grouping or identity. Related to #4880.

Verification

  • Added a local/remote regression test. On the base, it failed with owner/repo instead of t3code; on this branch it passes.
  • projectGrouping.test.ts: 21 passed. File-scoped formatting and lint, client-runtime typecheck, and commit hooks (format, lint, knip) passed.
  • vp run check:changed was attempted but its Windows child processes failed with spawn vp ENOENT; the focused checks above passed.
  • No real-client before/after screenshot or integrated UI pass was captured.
  • Trade-off: separate repositories with the same short name and saved title can display the same label, though their grouping identities remain distinct.

GPT-6 Luna via T3 Code (Codex harness).

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Oct 29, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at f73df47

Macroscope's review found this PR approvable — Grouped repositories now retain their shared saved name instead of substituting a repository identity label. The change affects display text only; grouping identities and stored data remain unchanged.

Notes:

  • Code review disabled. Approvability was decided on eligibility alone.

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

@coderabbitai

coderabbitai Bot commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 2f4da5d and f73df47.

Files selected for processing: 2
  • packages/client-runtime/src/state/projectGrouping.test.ts
  • packages/client-runtime/src/state/projectGrouping.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

Walkthrough

The project-group label derivation now uses the sole shared project title even when it matches the repository display name or repository name. A test covers projects with matching repository identity and title across local and remote environments, including the canonical group key and both members.

Changes: Project group labels

Layer / File(s) Summary
Select and verify the shared project title
packages/client-runtime/src/state/projectGrouping.ts, packages/client-runtime/src/state/projectGrouping.test.ts
The label derivation now returns the sole shared project title when it matches the repository name. The test checks the group key, members, and label for matching projects across environments.

Priority: Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Bug fix

Possibly related issues

  • pingdotgg/t3code#26296: Both concern a shared title that matches the repository name. This change does not add the issue’s provider-identity rule for other repositories.
  • pingdotgg/t3code#24999: The shared title may align the grouped label with the selected checkout title. This change does not address cases where member titles differ.
  • pingdotgg/t3code#15049: This change accepts a saved title that matches the repository name. It does not establish whether rename persistence succeeds.

Suggested labels: bugfix, size:S

Suggested reviewers: t3dotgg

Merge Risk: Minimal · up to f73df

The intended project-label mismatch is addressed without changing grouping identity or selection behavior; no merge-blocking risk was established.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: honoring shared saved names when grouping repositories.
Description check Passed The description covers the required Problem, Change, Scope and approval, and Verification sections. It explains the behavior, implementation, regression test, validation results, failed broader check,…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description covers the required Problem, Change, Scope and approval, and Verification sections. It explains the behavior, implementation, regression test, validation results, failed broader check, missing UI evidence, and trade-off.

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

Comment @coderabbitai help to get the list of available commands.

@t3-code-bot

t3-code-bot Bot commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

closing at @StiensWout's request under Provide evidence for the changed behavior.

Changes project-picker and settings group labels from owner/repo to a unanimous saved short project name across environments. The author explicitly reports no real-client before/after screenshot or integrated UI pass.

submission evidence: "No real-client before/after screenshot or integrated UI pass was captured."

Attach before/after screenshots of the grouped project label in the picker and settings.

thanks for trying to help improve t3 code. if you think this closure was a mistake, please open a fresh pr addressing the requirement above, and link back to this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant