Skip to content

fix(web): keep grouped project icons consistent in settings - #14493

Open
hpflatorre wants to merge 1 commit into
pingdotgg:mainfrom
hpflatorre:fix/project-settings-icon
Open

hpflatorre wants to merge 1 commit into
pingdotgg:mainfrom
hpflatorre:fix/project-settings-icon

Conversation

@hpflatorre

Copy link
Copy Markdown

Problem

With connected checkouts of the same repository, Project settings can show a custom icon in the project selector but an automatic monogram in the icon preview. This occurs when a remote checkout is registered before the primary checkout: the selector uses the sidebar representative, while the preview uses the first checkout with server configuration.

Change

Use the sidebar representative for the icon preview, description, and picker defaults. When an environment or checkout filter excludes that representative, use the selected checkout's complete identity. Keep favicon file browsing on an available checkout.

Scope and approval

Closes #11835. This follows the maintainer's preview-only triage. Saved-icon synchronization and edit/reset targets are unchanged. #11406 includes a related preview correction within a broader navigation change; this PR isolates the icon inconsistency.

Verification

  • Focused settings and project grouping tests: 19 passed. Regression coverage uses actual sidebar snapshots for remote-first ordering, favicon/title/source consistency, environment filtering, and same-environment checkout filtering. Selecting the first member instead makes the two primary-checkout regressions fail.
  • T3 Browser, with two isolated synthetic environments and the remote registered first: unmodified upstream shows a red cloud in the header and automatic IF in the preview; the fix shows the red cloud in both. The picker opens with Cloud and Red selected. Remote-only scope shows its own automatic icon.
  • Targeted lint and formatting passed, with an existing memo dependency warning. git diff --check passed.
  • Web typecheck reports six existing TestContext.bench errors in untouched src/performance.bench.ts; confirmed the same errors on unmodified upstream main.
  • Web was exercised; desktop shares this panel but its shell was not exercised. Native mobile, provider adapters, contracts, and server behavior are unchanged. The remote fixture used direct HTTP; relay/tunnel connections were not exercised.

Before: header uses the primary checkout's red cloud, while the preview uses the remote checkout's automatic monogram.

Before: inconsistent header and icon preview

After: header, preview, and picker defaults use the same representative.

After: matching red cloud icons

GPT-6.1-Sol via the Codex harness in T3 Code.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 30, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 30, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 5177979

Macroscope's review found this PR approvable — This is a focused settings bug fix that aligns grouped project icons, titles, and picker defaults with the sidebar representative while preserving existing update and file-browsing behavior. It adds targeted regression coverage without introducing new capabilities, schema changes, or production infrastructure changes.

Notes:

  • Diff unchanged. Approvability was decided on eligibility alone.

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

@coderabbitai

coderabbitai Bot commented Sep 30, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: pingdotgg/t3code/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: bc32eaf9-b359-4a66-88f7-f82781cf1653

📥 Commits

Reviewing files that changed from the base of the PR and between 7c67876 and 5177979.

📒 Files selected for processing (3)
  • apps/web/src/components/settings/ProjectSettingsPanel.logic.test.ts
  • apps/web/src/components/settings/ProjectSettingsPanel.logic.ts
  • apps/web/src/components/settings/ProjectSettingsPanel.tsx

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

Walkthrough

Grouped project settings now use the member identified by the selected group as their representative and retain the full member list. The settings panel reads icon and favicon values from the group and uses a separate member for favicon picker paths.

Changes

Grouped Project Settings

Layer / File(s) Summary
Scope a group to its selected member
apps/web/src/components/settings/ProjectSettingsPanel.logic.ts, apps/web/src/components/settings/ProjectSettingsPanel.logic.test.ts
The new helper selects the member matching both group identifiers, or falls back to the first member. Tests cover local and remote member selection.
Use scoped group data in settings
apps/web/src/components/settings/ProjectSettingsPanel.tsx
The panel uses the scoped group for icon and favicon values. Favicon picker paths continue to use a member with server configuration when available.

Priority: ⬇️ Low

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

Change: Bug fix · Severity of issue fixed: Low

Merge Risk: ⚪ Minimal · up to 51779

Settings previews now follow the sidebar representative or the selected checkout when filtered, while file browsing keeps its existing checkout selection. No actionable merge-blocking risk is identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 16.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 3 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the primary change: keeping grouped project icons consistent in web settings.
Description check ✅ Passed The description includes the required Problem, Change, Scope and approval, and Verification sections. It explains the issue, implementation, linked issue and approval context, focused test results, li…
Linked Issues check ✅ Passed The implementation satisfies #11835. scopeProjectSettingsGroup keeps the sidebar representative when that checkout is in the selected scope and uses the selected checkout when the representative is …
Out of Scope Changes check ✅ Passed The changes stay within #11835. They add one settings-scoping helper, connect it to the project settings panel, and add focused tests. File browsing continues to use an available checkout, and the dif…
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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

@juliusmarminge juliusmarminge added the macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews label Sep 30, 2026 — with ChatGPT Codex Connector
@macroscopeapp
macroscopeapp Bot dismissed their stale review September 30, 2026 23:48

Dismissing prior approval to re-evaluate 5177979

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

macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews size:M 30-99 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.

Grouped project icon differs between settings and sidebar

2 participants