feat(site): move Coder Agents settings to AI settings - #26692
Conversation
|
/coder-agents-review |
|
Chat: Review posted | View chat Review historydeep-review v0.9.0 | Round 3 | Last posted: Round 3, 16 findings (4 P2, 8 P3, 4 Nit), COMMENT. Review Finding inventoryFindings
Contested and acknowledgedCRF-3 (P3, AdminPersonalModelOverridesSettings.tsx:70) - Save button/form layout duplicated from AgentSettingLayout
CRF-14 (Nit, AdminPersonalModelOverridesSettings.tsx:12) - Duplicated MutationCallbacks interface
CRF-6 (P2, AISettingsSidebarView.tsx:59) - Sidebar link orphans page
CRF-7 (P2, CoderAgentsPage.tsx:1) - Files moved out of React Compiler scope
CRF-9 (P3, AgentSettingLayout.tsx:1) - AgentSettingLayout duplicates LifecycleSettingLayout
Round logRound 1Panel. 4 P2, 7 P3, 3 Nit. 15 reviewers (Bisky, Hisoka, Mafu-san, Mafuuu, Pariston, Gon, Leorio, Nami, Ging-react, Ging-ts, Robin, Zoro, Komugi, Meruem, Kite). Wildcards: Meruem, Kite. Reviewed against 1ae96fc..07f288d. Round 2Churn guard: PROCEED. 9 fixed, 4 contested. Panel: 6 reviewers (Bisky, Mafuuu, Pariston, Robin, Komugi, Meruem). Wildcard: Meruem. CRF-3 closed (2/3 accept), CRF-14 closed (2/3 accept). CRF-6, CRF-7, CRF-9 re-raised. 1 new P3, 1 new Nit. Reviewed against 1ae96fc..7c70085. Round 3Churn guard: PROCEED. CRF-15, CRF-17 fixed. CRF-6, CRF-7 accepted (product direction). CRF-9 accepted (PR scope, no ticket). Panel: 4 reviewers (Bisky, Mafuuu, Pariston, Chopper). Wildcard: Chopper. No new findings. Reviewed against 1ae96fc..59e236c. About deep-reviewCRF = Coder Review Finding (P0-P4, Nit, Note)
|
There was a problem hiding this comment.
The relocation is clean: renames are consistent, redirects use replace to avoid history pollution, the <title> element was added, and stories were updated to match every behavioral change. The TemporarySavedState integration gives clearer save feedback.
Severity counts: 4 P2, 7 P3, 3 Nit.
The four P2s are: (1) forms lost their aria-label attributes, regressing accessibility for screen reader users; (2) ErrorAlert replaced with a hardcoded string, dropping server error details from the admin UI; (3) the AI sidebar link still targets the old route, leaving no active-state indicator on the Coder Agents page; (4) moved files silently fell out of React Compiler scope.
Process note: the PR summary says "preserving the existing model override controls and save behavior," but the diff changes save button visibility (always-visible-disabled to conditionally-rendered), adds TemporarySavedState flash on save, replaces ErrorAlert with a static string, and changes button sizes from sm to lg. The implementation plan items 5 and 6 are more accurate than the top-level summary. Worth updating the summary to say the save controls were restyled to match AI settings patterns. (Mafu-san)
Commit subject "refactor(site): align Coder Agents AI settings page" does not convey intent. "Align" is a mechanism word without a referent. A subject like "refactor(site): restyle Coder Agents page to match AI settings layout" would tell the reader what changed and why without opening the diff. (Leorio)
"An operator at 2 AM sees 'Failed to load personal model override settings' whether the cause is a network timeout, a 403, or a 500. That is exactly the kind of error message that tells someone 'you're sick' without naming the disease." (Leorio)
site/src/modules/management/AISettingsSidebarView.tsx:59-63
P2 [CRF-6] This link targets /agents/settings/agents, which this PR changed to a <Navigate replace /> redirect to /ai/settings/coder-agents. When the user lands on /ai/settings/coder-agents, NavLink compares to against the current path. Since /agents/settings/agents !== /ai/settings/coder-agents, nothing in the sidebar highlights. The user lands on a page with no sidebar indication of where they are.
The ArrowUpRightIcon communicates "this link leaves the current settings area," but the destination (after redirect) is inside AI settings. The icon's signal contradicts the actual destination.
The PR description says "for now" but no ticket is linked for the follow-up. Under no-follow-up assumptions, this ships permanently with an orphaned page in navigation.
Fix: change the href to /ai/settings/coder-agents, drop the ArrowUpRightIcon, and use a standard SidebarNavItem. (Pariston P2, Nami P3, Hisoka Note, Zoro Note, Mafuuu Note)
🤖
site/src/pages/AISettingsPage/CoderAgentsPage/CoderAgentsPage.tsx:1
P2 [CRF-7] The React Compiler filter in vite.config.mts:20 includes only /src\/pages\/AgentsPage\// and /src\/pages\/AIBridgePage\//. This PR moves components from AgentsPage/ to AISettingsPage/CoderAgentsPage/, which does not match either pattern. All moved files (CoderAgentsPage, CoderAgentsPageView, AdminPersonalModelOverridesSettings, SubagentModelOverrideSettings) and the new AgentSettingLayout silently lose compiler coverage. No build error, no diagnostic.
Fix: add /src\/pages\/AISettingsPage\// to the compilerPreset.rolldown.filter.id.include array in vite.config.mts. (Ging-react)
🤖
site/src/pages/AISettingsPage/CoderAgentsPage/components/SubagentModelOverrideSettings.tsx:41
P3 [CRF-1] showHeader?: boolean is declared in the interface but never destructured, never read, and no caller passes it. The old code used showHeader to toggle an inline header block; the refactor moved headers into AgentSettingLayout and removed the usage but left the type declaration. Remove line 41. (Netero, Meruem)
🤖
🤖 This review was automatically generated with Coder Agents.
CRF-6 Keeping the redirect-style sidebar link for now by product direction. The page itself still lives at |
CRF-7 Skipping the React Compiler scope change for now by product direction. |
CRF-1 Fixed in |
|
/coder-agents-review |
There was a problem hiding this comment.
Nine of 14 findings fixed in 7c70085, all verified. The fixes are clean: aria-label on both forms, ErrorAlert restored, showStatusArea rename, toggle description added, title fallback documented, path aliases used, dead props removed, and a new Storybook story for AgentSettingLayout.
Panel closed CRF-3 (switch-row layout differs from AgentSettingLayout; 2/3 accept) and CRF-14 (duplicated MutationCallbacks; nit-level, code works; 2/3 accept).
Three contested findings remain open: CRF-6 (sidebar link, P2), CRF-7 (React Compiler scope, P2), and CRF-9 (LifecycleSettingLayout duplication, P3). All three cite "product direction" or scope-avoidance with no linked ticket. These need a human decision: file a ticket to track the follow-up, or explicitly accept the gap.
One new P3 and one new Nit from this round's panel.
Severity counts this round: 1 new P3, 1 new Nit, plus 2 open P2 and 1 open P3 from R1.
"'Product direction' is a decision, not a technical defense; the redirect is a regression from the pre-PR behavior where the page rendered directly at the linked URL." (Meruem)
🤖 This review was automatically generated with Coder Agents.
CRF-6 Explicitly accepting this gap for now. Product direction is to keep the redirect-style |
CRF-7 Explicitly accepting this gap for now. We are not expanding React Compiler scope in this PR. |
|
/coder-agents-review |
There was a problem hiding this comment.
CRF-15 and CRF-17 verified fixed in 59e236c. All 11 code findings across 3 rounds are resolved (fixed or panel-closed). Panel found no new issues. The code is clean.
Three author-accepted gaps remain for human reviewer confirmation:
- CRF-6 (P2): Sidebar "Manage Coder Agents" link targets
/agents/settings/agents(redirects to/ai/settings/coder-agents), producing no active-state indicator. Author cites product direction. - CRF-7 (P2): Files moved from
AgentsPage/toAISettingsPage/fall outside the React Compiler filter invite.config.mts. Author cites product direction. - CRF-9 (P3):
AgentSettingLayoutduplicatesLifecycleSettingLayoutsave/saved pattern. Author accepts for this PR's scope. No ticket linked.
These are product/scope decisions that the review panel cannot close. A human reviewer should confirm the acceptances or file tickets.
17 findings total across 3 rounds: 11 fixed, 2 panel-closed, 3 author-accepted, 1 dropped.
🤖 This review was automatically generated with Coder Agents.
Documentation CheckUpdates Needed
Automated review via Coder Agents |
05345be to
9c9854e
Compare
Moves the Coder Agents admin settings page into Admin Settings > AI as
Coder Agents, with legacy/agents/settings/adminand/agents/settings/agentsroutes redirecting to the new location.Updates the page to live under
AISettingsPage/CoderAgentsPageand use the AI settings header with an Instructions-style bordered settings panel. The model override controls are restyled to match AI settings patterns, including conditional save actions and saved-state feedback.Implementation plan
/ai/settings/coder-agentsunderAISettingsLayout.Coder Agentsitem to the AI settings sidebar.AISettingsPage/CoderAgentsPage.Note
🤖 This PR was written by Coder Agent on behalf of Danielle Maywood