Skip to content

[Bug] Missing UI for switching codexAccountMode (Pool/Direct) on Providers page #586

Closed

Description

@jhste102lab

Client or integration

OpenCodex dashboard

Area

Dashboard

Summary

Providers > OpenAI (Codex login) Settings 탭에서 codexAccountMode를 pool ↔ direct로 전환하는 UI 컨트롤(드롭다운/콤보박스)이 존재하지 않습니다.

  • README에는 "Change the mode on the dashboard's Providers page"라고 명시되어 있지만, 실제 UI에서는 불가능합니다.
  • 현재 JSON 편집기를 통해서만 변경 가능합니다.
  • PATCH /api/providers?name=openai 엔드포인트는 구현되어 있으나 호출하는 프론트엔드 코드가 없습니다.

Codex Auth 페이지에는 현재 모드를 보여주는 배너("Pool mode" / "Direct mode")만 있고, 전환 기능은 없습니다.

Reproduction

  1. 대시보드에서 Providers > OpenAI (Codex login) 선택
  2. Settings 탭으로 이동
  3. codexAccountMode를 변경할 수 있는 컨트롤이 보이지 않음
  4. "Edit JSON" 버튼을 통해서만 providers.openai.codexAccountMode 값을 "direct" 또는 "pool"로 수정 가능

Version

v2.7.42

Operating system

Linux

Checks

  • 기존 이슈 및 문서 검색 완료
  • 시크릿/토큰/개인정보 제거 완료
Translated Message

Original language: Korean

Client or integration

OpenCodex dashboard

Area

Dashboard

Summary

There is no UI control (dropdown/combo box) to switch codexAccountMode between pool and direct in the Providers > OpenAI (Codex login) Settings tab.

  • The README states "Change the mode on the dashboard's Providers page," but it is not possible in the actual UI.
  • Currently, it can only be changed through the JSON editor.
  • The PATCH /api/providers?name=openai endpoint is implemented, but there is no frontend code to call it.

The Codex Auth page only has a banner showing the current mode ("Pool mode" / "Direct mode") and does not have a switching feature.

Reproduction

  1. Select Providers > OpenAI (Codex login) on the dashboard
  2. Navigate to the Settings tab
  3. Cannot see any control to change codexAccountMode
  4. Can only modify the providers.openai.codexAccountMode value to "direct" or "pool" via the "Edit JSON" button.

Version

v2.7.42

Operating system

Linux

Checks

  • Completed searching existing issues and documentation
  • Removed secrets/tokens/personal information

Activity

  1. changed the title [-][버그] Providers 페이지에서 codexAccountMode (Pool/Direct) 전환 UI 누락[/-] [+][Bug] Missing UI for switching codexAccountMode (Pool/Direct) on Providers page[/+] on Jul 28, 2026
  2. github-actions commented on Jul 28, 2026

    @github-actions
    Contributor

    Automated translation bookkeeping — detected language: unknown.

  3. self-assigned this
    on Jul 28, 2026
  4. lidge-jun commented on Jul 28, 2026

    @lidge-jun
    Owner

    Triage: backend exists, the gap is entirely in the dashboard

    Confirmed on dev (7710185c0). Your reading is right on both halves.

    The management route is implemented: src/server/management/provider-routes.ts:137-167 handles PATCH /api/providers?name=openai with codexAccountMode, validates it as pool or direct (:148), restricts it to the openai provider (:145), refuses to combine it with other patch fields (:143), and runs the dedicated side-effect path (quota cache clear, thread map) before writing config.providers.openai at :155.

    No dashboard code calls it. gui/src/pages/CodexAuth.tsx reads the mode for its banner only, and the Providers > Settings tab has no control bound to that field — which is why the JSON editor is the only route today, and why the README line ("Change the mode on the dashboard's Providers page") currently overstates what the UI offers.

    Where this needs a decision rather than a patch: the mode is not an ordinary provider setting. Switching it clears quota state and remaps threads, and the surface that already displays the mode is Codex Auth, not Providers. So there is a real choice between adding a control to Providers > Settings (matching the README), promoting the existing Codex Auth banner into the control (matching where users already see the state), or doing both with one canonical location. That is an information-architecture call for the maintainers, so we are not implementing it unilaterally.

    Whichever way it lands, the README wording and the UI should end up agreeing — right now they do not, and that mismatch is the part of this report that is unambiguous.

  5. added
    account-poolOAuth, credentials, Codex pool, quota, failover, plans
    on Aug 1, 2026
  6. lidge-jun commented on Aug 2, 2026

    @lidge-jun
    Owner

    Triage: confirmed — the backend can switch codexAccountMode, but the Providers GUI only renders the mode as badges; no frontend control calls the PATCH. Still open as a GUI feature gap.

  7. lidge-jun commented on Aug 3, 2026

    @lidge-jun
    Owner

    Confirmed still real on current dev.

    The backend is complete — src/server/management/provider-routes.ts:151-180 has a dedicated PATCH for codexAccountMode. Nothing in the GUI calls it. The Providers page renders the mode as a badge only (gui/src/components/provider-catalog/ProviderCatalog.tsx:84-85), and the Codex Auth page shows a read-only banner (gui/src/pages/CodexAuth.tsx:22-50). So the API you would need already exists and the control does not, which is exactly the gap you described.

    The work is small but not trivial, and the non-obvious part is picking one canonical surface. Both pages currently display the mode, so adding a switch to both would create two places that can disagree during a refresh. Switching pool↔direct also changes thread affinity and quota accounting, so the control needs a confirmation step and a state refresh rather than a bare toggle.

    Left open with that shape recorded. Not forgotten.

  8. Wibias commented on Aug 3, 2026

    @Wibias
    Contributor

    [GD] Opened PR #935 to address this.

  9. Wibias commented on Aug 3, 2026

    @Wibias
    Contributor

    Fixed by #935 (merged into \dev\ as 010c7f0). The Providers > OpenAI (Codex login) Settings tab now has a Pool/Direct account mode selector that calls the dedicated mode PATCH, with a confirmation step, quota/account-state refresh, and tests. It will reach users with the next release promoted from \dev.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

account-poolOAuth, credentials, Codex pool, quota, failover, plansbugSomething isn't workingguiDashboard, tray, settings UI

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions