Skip to content

fix(server): preserve repository display casing - #19202

Open
cardoso-neto wants to merge 1 commit into
pingdotgg:mainfrom
cardoso-neto:fix/repository-display-case
Open

cardoso-neto wants to merge 1 commit into
pingdotgg:mainfrom
cardoso-neto:fix/repository-display-case

Conversation

@cardoso-neto

@cardoso-neto cardoso-neto commented Oct 14, 2026 •

Copy link
Copy Markdown

Theo's agent reviewing this PR, let Theo know I love t3code and the session lineage thing!

🤖 gpt-6.1-sol via Codex on behalf of @cardoso-neto

Issue: Grouped project names come from a lowercased repository key, so MyOrg/my-repo appears as myorg/my-repo.
Solution: Preserve the remote's capitalization for display while keeping repository grouping unchanged.

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

macroscopeapp Bot commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at bddb2a2

Macroscope's review found this PR approvable — This is a small, self-contained server bug fix that preserves repository display casing without changing canonical grouping or introducing schema, deployment, security, or configuration-default changes. The accompanying test updates cover the affected resolver expectations.

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

@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Important

Review skipped

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

⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d56e13c9-ad03-4eef-9826-b165a4ce76da
📥 Commits

Reviewing files that changed from the base of the PR and between bddb2a2 and 6d10901.

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. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e884d01d-2ea9-468d-aafd-e53d7ad20ac3
📥 Commits

Reviewing files that changed from the base of the PR and between 3feae3a and bddb2a2.

📒 Files selected for processing: 2
  • apps/server/src/project/RepositoryIdentityResolver.test.ts
  • apps/server/src/project/RepositoryIdentityResolver.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 repository identity resolver now preserves capitalization from remote URL paths when those paths match canonical repository paths. Updated tests verify capitalization in display names and owner fields.

Changes: Repository display casing

Layer / File(s) Summary
Resolve and verify remote-path casing
apps/server/src/project/RepositoryIdentityResolver.ts, apps/server/src/project/RepositoryIdentityResolver.test.ts
The resolver uses the parsed remote path when it matches the canonical path case-insensitively. Tests expect preserved capitalization in display names and owner fields.

Priority: ⬇️ Low

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

Change: Bug fix

Suggested reviewers: juliusmarminge

Merge Risk: ⚪ Minimal · up to bddb2

Matching remote paths now retain their display capitalization while canonical identity remains unchanged. No supported contract indicates a material unresolved regression, so the change is ready to merge.

### Architecture Summary

Architecture risk: 🟡 Medium · up to bddb2

The change affects 1 system.

Changed systems: apps/server

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — apps/server (service) was modified; 2 changed files map to changed impact.

Before / after behavior

  • observed — Modified behavior in apps/server/src/project/RepositoryIdentityResolver.test.ts: The GitHub identity expectations now preserve T3Tools capitalization in displayName and owner; the provider expectation remains unchanged.
  • observed — Modified behavior in apps/server/src/project/RepositoryIdentityResolver.test.ts: The refreshed upstream identity expectation now uses T3Tools/t3code as its display name instead of the lowercase form.
  • observed — Modified behavior in apps/server/src/project/RepositoryIdentityResolver.test.ts: The fork test now expects the upstream identity display name to retain T3Tools capitalization.
  • observed — Modified behavior in apps/server/src/project/RepositoryIdentityResolver.test.ts: The nested-group identity expectations now preserve T3Tools in both the display name and owner.

Reliability and maintainability

  • inferred — Risk-relevant change factors for apps/server: blast_radius_1; direct_dependents_1
Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Description check Warning The description explains the problem and proposed solution, but it omits the required Scope and approval and Verification sections. It also does not document the reported tests or observed results. Add the required Problem, Change, Scope and approval, and Verification sections. Explain why the focused fix does not require prior approval or link the approved issue or discussion. Document the resolver tests, lint and format checks, serv…
Passed Passed checks: 3 passed
Check name Status Explanation
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.
Title check Passed The title clearly and concisely describes the main change: preserving repository display casing on the server.
Full details: Description check

Resolution

Add the required Problem, Change, Scope and approval, and Verification sections. Explain why the focused fix does not require prior approval or link the approved issue or discussion. Document the resolver tests, lint and format checks, server typecheck, and their observed results.

✨ 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.

Co-authored-by: Codex gpt-6.1-sol <noreply@openai.com>
@cardoso-neto
cardoso-neto force-pushed the fix/repository-display-case branch from bddb2a2 to 6d10901 Compare October 14, 2026 16:19

This branch has not been deployed

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

Labels

size:S 10-29 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.

3 participants