Skip to content

feat(web): put new-thread defaults and overrides back on the Project page - #13154

Closed
t3dotgg wants to merge 1 commit into
mainfrom
t3code/project-page-overrides
Closed

t3dotgg wants to merge 1 commit into
mainfrom
t3code/project-page-overrides

Conversation

@t3dotgg

@t3dotgg t3dotgg commented Sep 22, 2026 •

Copy link
Copy Markdown
Member

The Project settings page lost its default model picker when overrides moved onto the category pages. You now have to know to keep the project selected and go to General. The page opened from "Project settings" showed only the name, icon, actions, and removal, so it felt empty.

The Project page now shows:

  • New threads: the same Model, Permissions, Workspace and Submodules rows as General. When the project is selected, they edit the project's overrides.
  • Overrides: a row for each other setting this project overrides. Each row shows the value and a reset button, and links to the row on its category page. The section is hidden when there are no overrides, so a new project shows about 8 rows.

A typed map sets the page where each overridable setting is edited. If someone adds a new project-scoped key, the build fails until they add it to the map. The source control writing style rows now accept a project scope in search, because they already render and write overrides.

Web and desktop only. Mobile has its own Project overview and does not change.

Before After
Before: Project page with name, icon, actions, checkouts and danger only After: Project page adds New threads rows and an Overrides list linking to Source Control

I checked this in the web client against a copy of real data. The Overrides row opens Source Control with the project scope kept and focuses the row.

Created with Claude Opus 5.5 in Claude Code.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • The Project settings page now lists settings overridden by the project that are managed elsewhere, showing their current value or “Mixed” when values differ.
    • Select an override to open the relevant settings page and section.
    • Project settings descriptions now include defaults for the model and workspace used in new threads.
    • Settings summaries display clearer labels for runtime mode, response streaming, and worktree cleanup.
  • Documentation
    • Updated the Project settings guide to describe the Overrides list and how to navigate to overridden settings.

The Project page only held name, icon, actions and removal, so a
project's default model had no obvious home. It now renders the same
New threads rows as General and lists every other setting the project
overrides, each linking to the row that edits it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Sep 22, 2026
Comment thread apps/web/src/components/settings/ProjectSettingsPanel.logic.ts
@macroscopeapp

macroscopeapp Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — The PR adds editable project-level new-thread defaults and an override/reset surface that can change future thread behavior. An unresolved medium-severity finding also reports that some persisted model overrides may be hidden when their provider is disabled, leaving no visible reset path.

Adjust the Minimum Blocking Severity for this repo — including turning it Off — in Settings. You can add or adjust custom eligibility rules. Learn more.

@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.5 KiB 13.5 KiB +32 B (+0.2%) 15.1 KiB ✅
Codex Thread snapshot wire 7.0 KiB 7.1 KiB +8 B (+0.1%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.5 KiB 6.5 KiB +24 B (+0.4%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 56.3 KiB 56.3 KiB 0 B (0.0%) 66.4 KiB ✅
Codex Live turn messages 10 10 0 (0.0%) 21 ✅
Claude Total thread wire 13.5 KiB 13.5 KiB +18 B (+0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +6 B (+0.1%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.4 KiB 6.4 KiB +12 B (+0.2%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 57.0 KiB 57.0 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 9 9 0 (0.0%) 21 ✅

Baseline: d7819c1 · PR result: 79afb30 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 113.9 KiB
  • Claude decoded thread snapshot: 114.6 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@coderabbitai

coderabbitai Bot commented Sep 22, 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: 13c526c2-6f4b-45f3-9517-47cb35bf3c99

📥 Commits

Reviewing files that changed from the base of the PR and between d7819c1 and 79afb30.

📒 Files selected for processing (10)
  • apps/web/src/components/settings/ProjectDefaultsSettings.tsx
  • apps/web/src/components/settings/ProjectSettingsPanel.logic.test.ts
  • apps/web/src/components/settings/ProjectSettingsPanel.logic.ts
  • apps/web/src/components/settings/ProjectSettingsPanel.tsx
  • apps/web/src/components/settings/ProjectsSettings.tsx
  • apps/web/src/components/settings/SettingInheritance.tsx
  • apps/web/src/components/settings/SettingsPanels.logic.ts
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/settingsSearch.ts
  • docs/user/project-settings.md

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


📝 Walkthrough

Walkthrough

The Project settings page now displays general defaults and project-scoped overrides edited elsewhere. Override rows show formatted or mixed values and link to the relevant settings section. The override list is derived from scoped settings sources and sorted by sidebar section.

Changes

Project settings overrides

Layer / File(s) Summary
Resolve and order project overrides
apps/web/src/components/settings/ProjectSettingsPanel.logic.ts, apps/web/src/components/settings/settingsSearch.ts, apps/web/src/components/settings/ProjectSettingsPanel.logic.test.ts
The logic selects project-sourced settings that are edited elsewhere and sorts them by sidebar section. The search catalog provides the corresponding settings entries. Tests cover ordering, omitted Project page rows, and overrides present on any selected checkout.
Display defaults and override rows
apps/web/src/components/settings/ProjectSettingsPanel.tsx, apps/web/src/components/settings/ProjectDefaultsSettings.tsx, apps/web/src/components/settings/SettingInheritance.tsx, apps/web/src/components/settings/SettingsPanels.logic.ts, apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/components/settings/ProjectsSettings.tsx, docs/user/project-settings.md
The Project page renders general defaults and override rows. Rows show formatted values or “Mixed” and link to the relevant settings page and section. Descriptions and documentation cover project defaults and overrides.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant ProjectSettingsPanel
  participant useSettingsScope
  participant listedProjectOverrides
  participant settingsSearchItem
  participant SettingsPage
  ProjectSettingsPanel->>useSettingsScope: Read the current settings scope
  ProjectSettingsPanel->>listedProjectOverrides: Pass scoped settings targets
  listedProjectOverrides->>settingsSearchItem: Resolve each override itemId
  settingsSearchItem-->>listedProjectOverrides: Return the settings search item
  listedProjectOverrides-->>ProjectSettingsPanel: Return ordered override items
  ProjectSettingsPanel->>SettingsPage: Link to the editing section with highlight state
Loading

Possibly related PRs

  • pingdotgg/t3code#10639: Both changes address where project defaults and overrides appear and how the Project page links to settings edited elsewhere.

Suggested reviewers: juliusmarminge

Merge Risk: ⚪ Minimal · up to 79afb

The Project settings additions have no identified merge-blocking risk.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 16 functions across 9 files. (1 skipped: … 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 summarizes the main change: restoring new-thread defaults and overrides to the Project page.
Description check ✅ Passed The description explains what changed and why, and includes before-and-after screenshots for the UI changes. It does not include the template’s Checklist section, but the description is otherwise comp…
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: Docstring Coverage

Explanation

Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 16 functions across 9 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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

@t3dotgg t3dotgg closed this Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant