fix(gui): fold the model catalog delivery card into one line - #5578
Conversation
The Models tab opened with a three-row card of fixed sentences whose middle row read "not reported" on every standalone install, because catalogSyncedAt only exists for ocx connect clients. Replace it with a closed <details> line that names the real delivery steps for the current mode (standalone: save -> Codex loads it on restart; client: save on hub -> sync -> Codex loads it on restart) and expands to a per-step explanation plus a pointer to the Reload Codex models button. Trim the subtitle sentences the disclosure now covers and make the save toast mode-neutral. All ten locale catalogs updated.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
✅ Deterministic PR hygiene checks passed. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Repository: lidge-jun/opencodex/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (18)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…un#5578) The Models tab opened with a three-row card of fixed sentences whose middle row read "not reported" on every standalone install, because catalogSyncedAt only exists for ocx connect clients. Replace it with a closed <details> line that names the real delivery steps for the current mode (standalone: save -> Codex loads it on restart; client: save on hub -> sync -> Codex loads it on restart) and expands to a per-step explanation plus a pointer to the Reload Codex models button. Trim the subtitle sentences the disclosure now covers and make the save toast mode-neutral. All ten locale catalogs updated. (cherry picked from commit 965a6e5)
Summary
The Models tab opened with a three-row card ("Saved on hub / Fetched by this client / Active in a running client") between the subtitle and the workspace. Two rows were fixed sentences, and the middle row read "not reported" on every standalone install, because
catalogSyncedAtonly exists forocx connectclients (gui/src/api-targets.ts). The subtitle repeated the same caveat, so the page spent its first ~170px on one warning and pushed the model list down.This replaces the card with a single closed
<details>line under the subtitle, How changes reach Codex, that names the real steps for the current mode:Saved here → Codex loads it on restartocx connectclient:Saved on hub → Synced <time> | No sync recorded → Codex loads it on restartExpanded, each step says what it means, how OpenCodex knows it or why it cannot, and the hint points at the page's own Reload Codex models button (which stops app-servers; the user reopens Codex). The #5031 honesty contract stays: a sync time does not prove it includes the latest hub save, and activation in a running Codex is described as unverifiable.
Also:
models.subtitledrops the two sentences the disclosure now covers.models.applied) no longer says "hub" on installs that have none.models.catalogState.*(8 keys) replaced bymodels.delivery.*(16 keys) in all ten locales.styles-models-workspace.css;styles.cssis at its ratchet cap and is untouched.Models.tsxis 2785/2792.Collapsed (ko):
Expanded (ko):
Verification
cd gui && bun x tsc --noEmit -p tsconfig.app.json: exit 0cd gui && bun test tests/models-catalog-delivery.test.tsx tests/models-status-toast.test.tsx tests/codex-stale-banner.test.ts tests/i18n-locales.test.ts tests/i18n-language-switch.test.tsx: 54 pass (new test covers standalone 2 steps, client 3 steps with a time, and client with a missing or unparsable time; closed by default)bun test tests/ci-workflows/file-size-ratchet.test.ts tests/gui: 439 passbun run lint:gui: exit 0;bun run privacy:scan: passedChecklist
Summary by CodeRabbit
New Features
Translations
Bug Fixes