mirror of
https://github.com/NeuralNomadsAI/CodeNomad.git
synced 2026-10-20 11:16:06 +00:00
## Summary I replaced Codex Usage's legacy auth-file reads with the connected OpenCode V2 daemon's selected ChatGPT OAuth credential. This addresses the stale-file mismatch described in #808 without guessing WSL credential paths or substituting another account. - Resolve the provider integration in the owned session's native location; use only its selected active credential and native accountID. - Keep credentials server-only, OAuth refresh native-owned, and credential export/generic RPC blocked through the browser proxy. - Fence warm and pending quota results on account changes, reconnects and session movement; scope the visible panel to its instance/session. - Bound quota HTTP, reject redirects and sanitize errors. No SQLite access or legacy/Codex CLI fallback. The credential-list API requires OpenCode 2.0.20 for this feature only. Older runtimes, expired native tokens and non-ChatGPT connections fail closed; the global application minimum is unchanged. Other providers' credential integrations are outside this focused fix. ## Validation - Server/UI typechecks; 85 server tests; five UI unit tests; three rendered browser scenarios; UI build and diff checks passed. - A fresh native 2.0.20 Windows daemon with synthetic credentials exercises the production adapter: selected OAuth/accountID, key-account switch invalidating a warm snapshot, and recovery despite stale auth.json. Quota HTTP is mocked; no shared daemon or real credentials are used. - This fixes the confirmed integration mismatch, but I have not reproduced the author's real WSL/live account failure. Closes #808. Maintenance: existing `packages/server/src/server/http-server.ts` (~2,317 lines) and `packages/ui/src/lib/api-client.ts` (~613 lines) exceed the source-size guideline; their wiring changes remain small. |
||
|---|---|---|
| .. | ||
| fixtures | ||
| winget | ||
| bump-version.js | ||
| compare-user-html-rendering.mjs | ||
| desktop-server-resources.cjs | ||
| desktop-server-resources.test.cjs | ||
| native-fixture-guards.mjs | ||
| native-fixture-guards.test.mjs | ||
| prepare-node-runtime.cjs | ||
| prepare-node-runtime.test.cjs | ||
| profile-ui-motion.mjs | ||
| smoke-packaged-resources.cjs | ||
| test-attachment-picker-desktop.mjs | ||
| test-automation-native.mjs | ||
| test-blank-session-cleanup-native.mjs | ||
| test-electron-owner-close.mjs | ||
| test-git-degraded-native.mjs | ||
| test-native-event-relay.mjs | ||
| test-native-worktree-management.mjs | ||
| test-opencode-history-migration.mjs | ||
| test-opencode-install-native.mjs | ||
| test-opencode-location-native.mjs | ||
| test-opencode-proxy-native.mjs | ||
| test-opencode-setup-desktop.mjs | ||
| test-opencode-setup-wsl.mjs | ||
| test-opencode-upgrade-native.mjs | ||
| test-provider-usage-native.mjs | ||
| test-session-aside-native.mjs | ||
| test-session-environment-native.mjs | ||
| test-session-fork-native.mjs | ||
| test-session-history-native.mjs | ||
| test-session-interrupt-native.mjs | ||
| test-session-navigation-native.mjs | ||
| test-session-pruning-native.mjs | ||
| test-session-pruning-ui.mjs | ||
| test-tauri-input-deadlock.mjs | ||
| test-tauri-view-menu.mjs | ||
| test-worktree-families-native.mjs | ||
| verify-bundled-node.cjs | ||