[GH#578] [MVP Task 15] Replace ExternalAccountsSection debug UI with real connection controls #3

Open
opened 2026-05-19 22:15:16 +02:00 by Max · 0 comments
Owner

Migrated from GitHub #578
Originally created by @Bio1988 on 2026-05-18T10:57:13Z


Phase 3, Task 15

Plan: docs/plans/2026-05-18-teammanager-iracing-login-mvp.md in Bio1988/strategy-desktop.

Depends on: #577
Server dependency: Bio1988/teammanager-server#12

Product decisions from Max (2026-05-18)

  • IRACING_CLIENT_SECRET, iRacing username/client identifier data, and IRACING_REDIRECT_URI will be provided as GitHub Secrets / deployment environment, not hard-coded.
  • Redirect URI is dynamic via env/secret so production and later variants can be changed without code changes.
  • DNS for api.teammanager.cc is still pending.
  • Desktop must never store OAuth access/refresh tokens. Use a random per-install pairing token locally; store OAuth tokens and pairing mapping in the server database.
  • No separate token-refresh cron/goroutine for MVP. Refresh opportunistically when users interact / before API calls; mark expired only when refresh fails.
  • IRACING_USERNAME is not required by the server and must not be part of required config.

Objective

Update settings external-account UI with connect, pending, connected, disconnect, retry/error states.

Scope

See plan task details; adjust implementation to the product decisions above.

Acceptance criteria

  • Connected state shows display name/customer hint if provided.
  • Disconnected state shows connect button.
  • Pending state shows progress.
  • Disconnect invokes Wails binding and refreshes state.
  • TypeScript typecheck passes.

Notes

  • Keep race-critical logic local; this is sync/team integration only.
  • Desktop stores only a random pairing token / connection metadata, never iRacing OAuth tokens.

Parent: #573

Migrated from [GitHub #578](https://github.com/Bio1988/strategy-desktop/issues/578) Originally created by @Bio1988 on 2026-05-18T10:57:13Z --- ## Phase 3, Task 15 Plan: `docs/plans/2026-05-18-teammanager-iracing-login-mvp.md` in `Bio1988/strategy-desktop`. Depends on: #577 Server dependency: Bio1988/teammanager-server#12 ## Product decisions from Max (2026-05-18) - `IRACING_CLIENT_SECRET`, iRacing username/client identifier data, and `IRACING_REDIRECT_URI` will be provided as GitHub Secrets / deployment environment, not hard-coded. - Redirect URI is dynamic via env/secret so production and later variants can be changed without code changes. - DNS for `api.teammanager.cc` is still pending. - Desktop must never store OAuth access/refresh tokens. Use a random per-install pairing token locally; store OAuth tokens and pairing mapping in the server database. - No separate token-refresh cron/goroutine for MVP. Refresh opportunistically when users interact / before API calls; mark expired only when refresh fails. - `IRACING_USERNAME` is not required by the server and must not be part of required config. ## Objective Update settings external-account UI with connect, pending, connected, disconnect, retry/error states. ## Scope See plan task details; adjust implementation to the product decisions above. ## Acceptance criteria - Connected state shows display name/customer hint if provided. - Disconnected state shows connect button. - Pending state shows progress. - Disconnect invokes Wails binding and refreshes state. - TypeScript typecheck passes. ## Notes - Keep race-critical logic local; this is sync/team integration only. - Desktop stores only a random pairing token / connection metadata, never iRacing OAuth tokens. Parent: #573
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Max/strategy-desktop#3
No description provided.