diff --git a/changelog.d/fixes/8233-codex-dashboard-regressions.md b/changelog.d/fixes/8233-codex-dashboard-regressions.md new file mode 100644 index 00000000000..831e86088ff --- /dev/null +++ b/changelog.d/fixes/8233-codex-dashboard-regressions.md @@ -0,0 +1 @@ +- **fix(dashboard):** Normalize Codex client URLs, restore the analytics input-bar color, resolve OAuth modal TypeScript regressions, synchronize the documented compression-engine count, and sanitize Muse Spark fetch errors ([#8233](https://github.com/diegosouzapw/OmniRoute/pull/8233)) — thanks @nguyenha935 diff --git a/open-sse/executors/muse-spark-web.ts b/open-sse/executors/muse-spark-web.ts index 8893e08fd3c..fb5b00277b7 100644 --- a/open-sse/executors/muse-spark-web.ts +++ b/open-sse/executors/muse-spark-web.ts @@ -5,6 +5,7 @@ import WebSocket from "ws"; import { BaseExecutor, mergeUpstreamExtraHeaders, type ExecuteInput } from "./base.ts"; import { getRotatingApiKey } from "../services/apiKeyRotator.ts"; import { prepareToolMessages, buildToolAwareResult } from "../translator/webTools.ts"; +import { sanitizeErrorMessage } from "../utils/error.ts"; import { normalizeSessionCookieHeader, normalizeSessionCookieHeaders, @@ -12,9 +13,8 @@ import { import { type ParsedMetaAiResponse, isRecord } from "./muse-spark-web/response-parser.ts"; const META_AI_GRAPHQL_API = "https://www.meta.ai/api/graphql"; -// Meta rebranded the chat product from "Abra" to "Ecto"; the session cookie -// `abra_sess` was replaced by `ecto_1_sess`. `normalizeSessionCookieHeader` -// only uses this constant when the user pastes a bare cookie value with no +// Meta rebranded "Abra" to "Ecto"; `abra_sess` became `ecto_1_sess`. +// `normalizeSessionCookieHeader` only uses this constant for bare values with no // `name=` prefix; full cookie lines (with any cookie names) pass through // untouched, so users who paste their entire DevTools cookie line still work. const META_AI_DEFAULT_COOKIE = "ecto_1_sess"; @@ -522,7 +522,7 @@ function buildErrorResponse(status: number, message: string, code?: string | nul return new Response( JSON.stringify({ error: { - message, + message: sanitizeErrorMessage(message), type: "upstream_error", ...(code ? { code } : {}), }, diff --git a/src/shared/components/OAuthModal.tsx b/src/shared/components/OAuthModal.tsx index a925c16a9da..7b54f927aa4 100644 --- a/src/shared/components/OAuthModal.tsx +++ b/src/shared/components/OAuthModal.tsx @@ -274,7 +274,7 @@ export default function OAuthModal({ let token: string | Record = raw; if (provider === "grok-cli") { const parsed = parseGrokCliPasteToken(raw); - if (!parsed.ok) { + if (parsed.ok === false) { setError(parsed.error); return; } @@ -1084,7 +1084,7 @@ export default function OAuthModal({

-