Skip to content

refactor(desktop): split provider settings flows - #377

Merged
Astro-Han merged 1 commit into
mainfrom
codex/providers-panel-split
Jun 30, 2026
Merged

refactor(desktop): split provider settings flows#377
Astro-Han merged 1 commit into
mainfrom
codex/providers-panel-split

Conversation

@Astro-Han

@Astro-Han Astro-Han commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Split ProvidersPanel.tsx into focused provider settings sibling files while keeping the existing facade exports stable.

Why

Part of #363

ProvidersPanel.tsx had accumulated provider catalog, OAuth login, config sheet, add form, connection detail, and model table behavior in one sink file. This keeps the runtime behavior in place but moves each flow to the file that owns it.

Scope

Changed:

  • Kept ProvidersPanel.tsx as the facade for ConnectionsBridge, ProvidersPanel, ProviderLogo, and providerDisplay.
  • Moved provider flows into provider-catalog.tsx, provider-oauth-section.tsx, provider-config-sheet.tsx, provider-add-form.tsx, provider-connection-detail.tsx, provider-display.tsx, and provider-panel-shared.ts.
  • Retargeted source-reading provider/settings contract tests through provider-contract-source-helpers.ts so the tests read the new provider source files instead of assuming one large file.
  • Updated stale comments that pointed to the old ProvidersPanel.tsx -> ModelOAuthSection location.

Not included:

  • No provider icon changes.
  • No SettingsModal page decomposition.
  • No behavior, copy, or visual redesign.

Verification

  • node ../../worktree-bootstrap.mjs
  • npm run -w @maka/desktop typecheck
  • npm run -w @maka/desktop build
  • node --test dist/main/__tests__/model-oauth-section-contract.test.js dist/main/__tests__/claude-subscription-experimental-gate.test.js dist/main/__tests__/settings-confirm-dialog-contract.test.js dist/main/__tests__/settings-form-a11y-contract.test.js dist/main/__tests__/settings-roadmap-cleanup-contract.test.js dist/main/__tests__/web-search-boundary.test.js dist/main/__tests__/session-sticky-model-contract.test.js
  • node --test dist/main/__tests__/storybook-baseline-contract.test.js

Attempted:

  • npm run -w @maka/desktop test currently fails on daily-review-copy-feedback-contract.test.js (onCopyDailyReviewMarkdown?(input:) source-grep expectation). I reproduced the same failure on clean main, so it is not introduced by this PR.

User-facing impact

None expected. This is a source organization refactor; existing provider settings UI and facade imports remain stable.

Reviewer notes

The PR intentionally keeps source-reading contracts lightweight: provider tests can read named provider source files and still use combined where the existing contract spans multiple provider flows.

@Astro-Han
Astro-Han merged commit 02807c8 into main Jun 30, 2026
@Astro-Han
Astro-Han deleted the codex/providers-panel-split branch June 30, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant