From 7885824f92e1a63054a917529694e9e5721379a8 Mon Sep 17 00:00:00 2001 From: Shinwoo PARK Date: Sun, 10 May 2026 08:57:19 +0900 Subject: [PATCH] [verified] refactor: remove codex-pool references --- README.md | 2 +- apps/api/src/codex/codex.service.ts | 2 +- .../src/codex/legacy-upstream-copy.spec.ts | 17 ++++++++++++++++ apps/web/src/App.tsx | 3 +-- .../test/legacy-upstream-copy-removal.test.js | 20 +++++++++++++++++++ 5 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 apps/api/src/codex/legacy-upstream-copy.spec.ts create mode 100644 apps/web/test/legacy-upstream-copy-removal.test.js diff --git a/README.md b/README.md index 88e693a..e990844 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ CodexDash helps you keep track of several Codex-backed OpenAI accounts without b ## OpenAI/Codex login flow -CodexDash now reuses the public-client OAuth/PKCE shape found in [`darvell/codex-pool`](https://github.com/darvell/codex-pool), but wraps it in an app-native flow: +CodexDash uses an app-native OAuth/PKCE flow for connecting OpenAI accounts: 1. The user clicks **Connect OpenAI account**. 2. CodexDash API creates a short-lived PKCE login attempt. diff --git a/apps/api/src/codex/codex.service.ts b/apps/api/src/codex/codex.service.ts index 7056a8a..c7391ad 100644 --- a/apps/api/src/codex/codex.service.ts +++ b/apps/api/src/codex/codex.service.ts @@ -570,7 +570,7 @@ export class CodexService { const headers: Record = { accept: 'application/json', authorization: `Bearer ${session.accessToken}`, - 'user-agent': 'CodexDash/0.2 (+https://github.com/darvell/codex-pool)', + 'user-agent': 'CodexDash/0.2', originator: 'codex_cli_rs', }; diff --git a/apps/api/src/codex/legacy-upstream-copy.spec.ts b/apps/api/src/codex/legacy-upstream-copy.spec.ts new file mode 100644 index 0000000..61a8a55 --- /dev/null +++ b/apps/api/src/codex/legacy-upstream-copy.spec.ts @@ -0,0 +1,17 @@ +import { readFileSync } from 'node:fs'; +import { join } from 'node:path'; + +const legacyProjectName = ['codex', 'pool'].join('-'); +const legacyRepoPath = ['darvell', legacyProjectName].join('/'); + +describe('CodexService source copy', () => { + it('does not reference the legacy upstream project in usage headers', () => { + const serviceSource = readFileSync( + join(__dirname, 'codex.service.ts'), + 'utf8', + ); + + expect(serviceSource).not.toContain(legacyRepoPath); + expect(serviceSource).not.toContain(legacyProjectName); + }); +}); diff --git a/apps/web/src/App.tsx b/apps/web/src/App.tsx index 151ebf2..6b9708d 100644 --- a/apps/web/src/App.tsx +++ b/apps/web/src/App.tsx @@ -546,8 +546,7 @@ function ConnectAccountDialog() { />
- CodexDash reuses the Codex public-client login shape discovered in - codex-pool, but presents it as an integrated popup flow with a manual pasted-URL fallback instead of asking you to paste cookies manually. + CodexDash opens the official OpenAI sign-in flow in a popup and also supports a manual pasted-URL fallback when the local callback bridge is unavailable.