Skip to content

[K-Marcus] Add Copilot device login to CLI - #22

Draft
marcus7989 wants to merge 5 commits into
mainfrom
codex/copilot-device-login
Draft

marcus7989 wants to merge 5 commits into
mainfrom
codex/copilot-device-login

Conversation

@marcus7989

Copy link
Copy Markdown
Owner

[K-Marcus] Add config login --provider copilot --json for the Windows engine used by VibeTV #343. The command emits the Mac-compatible device-code JSON line immediately, waits for GitHub authorization, then saves and activates the account in Win-CodexBar's existing protected token store. Existing GitHub accounts with the same identity are updated.

Validation: cargo test -p codexbar --lib cli::config (6 passed), cargo fmt --all -- --check, git diff --check on macOS. Tests cover the JSON contract, no device-code disclosure, rejection of unsupported providers, account persistence, and preservation of another provider. No live OAuth or Windows/device test has been run.

WinCB #6 also edits config.rs, but a local merge-tree against its current head had no conflict; #20 and #21 touch unrelated files. Draft pending Windows CI and a real sign-in/usage test; no merge or release requested.

@marcus7989 marcus7989 self-assigned this Oct 30, 2026
@marcus7989

Copy link
Copy Markdown
Owner Author

[K-Marcus] @codex review

@marcus7989

Copy link
Copy Markdown
Owner Author

[K-Marcus] @codex review

@marcus7989

Copy link
Copy Markdown
Owner Author

[K-Marcus] @codex review

Head 62c70b5: Copilot-Login lehnt Systeme ohne geschützte Token-Ablage (nicht Windows) vor der Device-Code-Anfrage ab; fehlender Identitätsabruf speichert nichts und meldet einen verständlichen Fehler.

DreamyTalesPAN and others added 2 commits October 30, 2026 12:43
CodexBar's `serve` takes `--request-timeout`; here the option was rejected
and the server exited, so a caller had to leave it out on Windows.

The option now means what it means upstream: a request still unanswered
after that many seconds gets `504 Gateway Timeout` with
`{"error":"request timed out"}`. Its work is not stopped: a slow dashboard
snapshot finishes and is cached, so the next request is answered from it.
`0` waits without a deadline. Fractions are allowed, the cap is one day, a
negative value is an error.

One deliberate difference: upstream's default is 30 seconds, the default
here is 0. Without the option the server keeps waiting for slow providers
as it did before, so callers that do not pass it see no change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 370647c)
@marcus7989

Copy link
Copy Markdown
Owner Author

@codex review

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.

2 participants