diff --git a/docs/guides/CODEX-CLI-CONFIGURATION.md b/docs/guides/CODEX-CLI-CONFIGURATION.md index 6c43477651..9e37bfc32c 100644 --- a/docs/guides/CODEX-CLI-CONFIGURATION.md +++ b/docs/guides/CODEX-CLI-CONFIGURATION.md @@ -1,3 +1,9 @@ +--- +title: "Codex CLI — Configuration with OmniRoute" +version: 3.8.16 +lastUpdated: 2026-06-08 +--- + # Codex CLI — Configuration with OmniRoute Complete guide for using the Codex CLI pointed at OmniRoute as an OpenAI-compatible backend. diff --git a/src/app/(dashboard)/dashboard/providers/components/CodexCliGuideModal.tsx b/src/app/(dashboard)/dashboard/providers/components/CodexCliGuideModal.tsx index 284f664c01..76d13870b4 100644 --- a/src/app/(dashboard)/dashboard/providers/components/CodexCliGuideModal.tsx +++ b/src/app/(dashboard)/dashboard/providers/components/CodexCliGuideModal.tsx @@ -125,17 +125,26 @@ export default function CodexCliGuideModal({ isOpen, onClose }: CodexCliGuideMod useEffect(() => { if (!isOpen || content) return; - setLoading(true); - setError(false); - - fetch("/api/docs/codex-cli") - .then((res) => { + let cancelled = false; + const load = async () => { + setLoading(true); + setError(false); + try { + const res = await fetch("/api/docs/codex-cli"); if (!res.ok) throw new Error(`${res.status}`); - return res.json() as Promise<{ content: string }>; - }) - .then((data) => setContent(data.content)) - .catch(() => setError(true)) - .finally(() => setLoading(false)); + const data = (await res.json()) as { content: string }; + if (!cancelled) setContent(data.content); + } catch { + if (!cancelled) setError(true); + } finally { + if (!cancelled) setLoading(false); + } + }; + + void load(); + return () => { + cancelled = true; + }; }, [isOpen, content]); return (