Skip to content

Connected dashboard tells users to run ocx start while awaiting hub browser authentication #4206

Closed

Description

@lidge-jun

Client or integration

OpenCodex dashboard

Area

Dashboard

Summary

A local connected-client dashboard awaiting hub browser pairing simultaneously tells the user to run ocx start, even though the local process is running and the client connection is established. Authentication state is presented as a stopped proxy.

This causes users to restart healthy software when the next meaningful action is authorizing the dashboard session.

Reproduction

  1. Use a connected client with managementTransport: relay and a healthy hub.
  2. Open http://127.0.0.1:10100/ without an established hub browser session.
  3. Observe the pairing panel and the dashboard error below it.
  4. Independently confirm ocx connect status --json is connected and both services are reachable.

Observed together in the Korean UI:

  • sidebar action: “허브 연결 해제” (disconnect hub);
  • panel: “이 대시보드를 허브에 연결” (connect this dashboard to the hub), one-time code field;
  • error: “프록시에 연결할 수 없습니다. 실행 중인가요?” followed by an instruction to run ocx start.

The remote hub tab also displayed an administrator-token prompt together with generic model-load/proxy-running errors. That is supporting UX evidence; this report does not assert that both surfaces have the same underlying authentication defect.

Version

Client 2.50.0; hub 2.51.0, dev 6d3ad12e3fbfd8423f1515a467db4d3349732886.

Operating system

Windows 11 25H2 browser/client; macOS 27.0 hub.

Provider and model

Not provider-specific.

Logs or error output

CLI connection: connected
Local process: healthy
Hub authenticated usage read: HTTP 200
Browser: connect this dashboard to the hub
Browser: cannot connect to proxy; run ocx start

Screenshots and supporting files

gui/src/pages/Dashboard.tsx:29 renders the same cannot-connect/start message whenever useDashboardData exposes an error. gui/src/connect-pairing.ts:33 renders the separate authentication panel.

Acceptance criteria:

  • Distinguish local process unavailable, hub unreachable, browser session required/expired, permission denied, and failed data load.
  • When pairing is required, show “Local client connected; authorize this dashboard” with one primary recovery action. Do not also suggest starting or stopping the running proxy.
  • Preserve and label stale data rather than presenting cached counters as fully current during authentication failure.
  • Recheck state after successful authorization; errors must clear without a process restart.

Related: closed #3279 has similar generic offline copy but described an intermittent loopback-origin/session issue in 2.40.0. This report is the connected-client relay/pairing state observed in 2.50.0. #4055 concerns session lifetime; this report does not request changing authentication lifetime or weakening its checks.

Redacted configuration

{"runtimeRole":"client","client":{"managementTransport":"relay"}}

Checks

  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.

Activity

  1. added
    cliCLI, config inject, packaging flags
    guiDashboard, tray, settings UI
    on Sep 10, 2026
  2. lidge-jun commented on Sep 10, 2026

    @lidge-jun
    OwnerAuthor

    리뷰 · 우선순위 63 / 80

    연결된 클라이언트 대시보드가 허브 브라우저 페어링을 기다리는 중인데, 같은 화면에 “프록시에 연결할 수 없습니다 / ocx start 실행” 메시지를 같이 보여 줍니다. 로컬 프로세스는 살아 있고 ocx connect status 도 connected 인데, 인증(브라우저 세션) 부족을 프록시 다운으로 오인하게 만듭니다. 사용자는 멀쩡한 소프트웨어를 재시작합니다.

    현재 dev HEAD 6101140ff(2.51.0) 에서 gui/src/pages/Dashboard.tsx 는 useDashboardData 가 error 이면 EmptyState 로 dash.cannotConnect + dash.runStart(ocx start) 만 그립니다. gui/src/connect-pairing.ts 는 별도 페어링 패널(코드 입력·relay/direct 문구)입니다. 두 UI 가 동시에 뜨면 “브라우저 세션 필요”와 “프록시 정지”가 한 화면에서 충돌합니다. #4208(페어링 다음 행동 안내)과 같은 UX 묶음으로 볼 수 있습니다.

    라인 - gui/src/pages/Dashboard.tsx error 분기 — useDashboardData error → 무조건 cannot-connect + ocx start
    경로/심볼 - gui/src/connect-pairing.ts ConnectPairingForm — 페어링 패널은 별도; 대시보드 에러와 상태 공유/구분 없음
    경로/심볼 - gui/src/i18n(ko 등) dash.cannotConnect / dash.runStart — 프록시 다운 문구만; browser-session-required 문구 없음
    경로/심볼 - 재현 — relay connected + /healthz OK 인데도 페어링 패널 아래 ocx start 안내

    메인테이너의 판단이 필요한 지점

    너의 추천
    브라우저 세션(페어링) 필요와 프록시 다운을 구분하세요. 페어링 패널이 보이는 connected-client 흐름에서는 ocx start 를 숨기거나 “허브에 이 대시보드를 인증하세요”로 바꾸고, 진짜 listener/proxy 비가용일 때만 start 안내를 쓰세요. #4208 과 UX 배치 가능합니다.

    이 댓글은 grok-bot이 작성했습니다

  3. lidge-jun commented on Sep 13, 2026

    @lidge-jun
    OwnerAuthor

    Resolved on dev by #4378, landed today as part of a 36-pull-request batch.

    gui/src/pages/Dashboard.tsx renders nothing while authenticationPending, and the ocx start guidance now appears only when the proxy is genuinely unreachable (!connected && connectionFailure === "unavailable"), so awaiting hub pairing no longer looks like a dead proxy.

    Verified against origin/dev at 72601a173 after the batch landed, rather than from the pull request description. Closing on that evidence; reopen if the behavior does not match on your setup.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcliCLI, config inject, packaging flagsguiDashboard, tray, settings UI

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions