refactor(web): authorized clients and endpoint rows live in their own file#22684

merged1
refactor/settings-split-connections-logic
refactor/settings-split-authorized-clients
opened3d agobyJJulius Marminge
View on GitHubTwo-way sync enabledPR last imported 3d ago

Moves the pairing link, client, and endpoint rows, plus PairingClientsList, AuthorizedClientsHeaderAction, and NetworkAccessDescription, into AuthorizedClientsSettings.tsx. The moved code keeps its existing raw-RPC exemption, so the new file joins ConnectionsSettings.tsx in the no-rpc-permission-bypass override in vite.config.ts.

FileBeforeAfter
ConnectionsSettings.tsx37672814
AuthorizedClientsSettings.tsx-992

Renders: pure move, no render change.

Tests run: tsc-rs --noEmit for apps/web, vp lint on changed files, vp test run src/reactCompilerCoverage.test.ts -t settings/ (0 bailouts), SettingsPanels.logic.test.ts, ConnectionsSettings.logic.test.ts.

πŸ€– Generated with Claude Code

Checks

All checks passed
Synced from GitHub

Thread transfer impact

βœ… Thread transfer remains within every enforced ceiling.

ℹ️ No successful main baseline artifact is available yet. This run establishes the initial measurement.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wireβ€”5.0 KiBβ€”6.8 KiBβœ…
CodexThread snapshot wireβ€”3.8 KiBβ€”4.9 KiBβœ…
CodexLive turn WebSocket wireβ€”1.2 KiBβ€”2.0 KiBβœ…
CodexLive turn WebSocket decodedβ€”20.9 KiBβ€”29.3 KiBβœ…
CodexLive turn messagesβ€”2β€”8βœ…
ClaudeTotal thread wireβ€”5.0 KiBβ€”6.8 KiBβœ…
ClaudeThread snapshot wireβ€”3.8 KiBβ€”4.9 KiBβœ…
ClaudeLive turn WebSocket wireβ€”1.2 KiBβ€”2.0 KiBβœ…
ClaudeLive turn WebSocket decodedβ€”21.2 KiBβ€”29.3 KiBβœ…
ClaudeLive turn messagesβ€”2β€”8βœ…

Baseline: unavailable Β· PR result: b1f19d8 Β· 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: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

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

Synced from GitHub

Approvability

Verdict: Needs Human Approval

Macroscope's review found this PR requires human approval β€” The UI change is primarily a mechanical extraction with no apparent behavior change. However, vite.config.ts expands the raw-RPC-access static-analysis exemption to the new production file, so the exemption warrants human review.

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

Synced from GitHub

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: Team
  • Run ID: 4eec442d-73db-4298-94f9-e704e2f69878
πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 1ad60d4037a0b0307109760095f4f5ad325e7dbb and b1f19d8f24ec9a434580df47e7f2f5348113ebbe.

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: Team
  • Run ID: 4f172429-7873-4860-941e-705f4dcb3ecd
πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between f631093fe097a3a632ce85b064988fce46ec8b44 and 1ad60d4037a0b0307109760095f4f5ad325e7dbb.

πŸ“’ Files selected for processing: 3
  • apps/web/src/components/settings/AuthorizedClientsSettings.tsx
  • apps/web/src/components/settings/ConnectionsSettings.tsx
  • vite.config.ts

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

πŸ“ Walkthrough

The pull request moves authorized-client, pairing-link, and advertised-endpoint settings UI from ConnectionsSettings.tsx into AuthorizedClientsSettings.tsx. ConnectionsSettings imports the extracted components, and the lint override includes the new module.

Changes: Access settings

Layer / File(s)Summary
Pairing links and authorized clients
apps/web/src/components/settings/AuthorizedClientsSettings.tsx, apps/web/src/components/settings/ConnectionsSettings.tsx
The new module defines pairing-link and connected-client rows, pairing creation controls, and list rendering. ConnectionsSettings imports these components and removes the corresponding local implementations.
Advertised endpoint display
apps/web/src/components/settings/AuthorizedClientsSettings.tsx, vite.config.ts
The new module defines advertised-endpoint rows and network-access descriptions. The lint override includes the new module.

Priority: ⬇️ Low

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

Change: Refactor

Suggested reviewers: maria-rcks

Merge Risk: βšͺ Minimal Β· up to 1ad60

This refactor moves settings UI code into its own file without changing behavior. No merge-blocking risk was found.

Pre-merge checks: Passed 3 Β· Failed 1

Failed Failed checks: 1 warning

Check nameStatusExplanationResolution
Description checkWarningThe description explains the code move and lists validation commands, but it omits the required Problem and Scope and approval sections. It also does not provide the required before/after UI screensho…Add the Problem, Scope and approval, and Verification headings. Document the underlying problem, link the approved issue or discussion, and include focused verification results. Add clear before/after screenshots, or explain why the pure mo…
Passed Passed checks: 3 passed
Check nameStatusExplanation
Title checkPassedThe title clearly describes the main refactor: moving authorized-client and endpoint row implementations into a separate file.
Linked Issues checkPassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes checkPassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains the code move and lists validation commands, but it omits the required Problem and Scope and approval sections. It also does not provide the required before/after UI screenshots or state why screenshots are unnecessary for this UI refactor.

Resolution

Add the Problem, Scope and approval, and Verification headings. Document the underlying problem, link the approved issue or discussion, and include focused verification results. Add clear before/after screenshots, or explain why the pure move produces no visual change and provide suitable evidence.

✨ Finishing Touches
πŸ“ Generate docstrings
  • Commit to this branch
  • Create a new PR
πŸ§ͺ Generate unit tests (beta)
  • Commit to this branch
  • 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.

Added 1 commit

  • refactor(web): authorized clients and endpoint rows live in their own fileb1f19d8