Skip to content

fix(gui): fold the model catalog delivery card into one line - #5578

Merged
lidge-jun merged 1 commit into
devfrom
codex/models-catalog-delivery-disclosure
Sep 22, 2026
Merged

lidge-jun merged 1 commit into
devfrom
codex/models-catalog-delivery-disclosure

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Sep 22, 2026

Copy link
Copy Markdown
Owner

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 catalogSyncedAt only exists for ocx connect clients (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:

  • standalone: Saved here → Codex loads it on restart
  • ocx connect client: Saved on hub → Synced <time> | No sync recorded → Codex loads it on restart

Expanded, 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.subtitle drops the two sentences the disclosure now covers.
  • The save toast (models.applied) no longer says "hub" on installs that have none.
  • models.catalogState.* (8 keys) replaced by models.delivery.* (16 keys) in all ten locales.
  • The disclosure renders only on the Models tab (panels stay mounted hidden, so it sits beside the subtitle rather than inside the panel).
  • CSS lives in styles-models-workspace.css; styles.css is at its ratchet cap and is untouched. Models.tsx is 2785/2792.

Collapsed (ko):

collapsed

Expanded (ko):

expanded

Verification

  • cd gui && bun x tsc --noEmit -p tsconfig.app.json: exit 0
  • cd 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 pass
  • bun run lint:gui: exit 0; bun run privacy:scan: passed
  • Rendered on a Vite dev server proxied to a running proxy: collapsed line is 27px tall, expanded view checked in English and Korean, Combos tab renders no disclosure.
  • Not observed live: the client-mode branch (this machine is standalone); covered by the render test.
  • Non-en/ko locales were translated per locale and checked for key and placeholder parity, not by native readers.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed. (docs-site wording about the three states is still accurate.)
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults. (GUI copy and layout only.)

Summary by CodeRabbit

  • New Features

    • Added a collapsible model catalog delivery guide to the Models page.
    • Shows delivery steps based on connection mode, including save, sync, and Codex loading stages.
    • Displays localized synchronization timing when available.
    • Added guidance to reload the Codex model list to see saved changes.
  • Translations

    • Updated model delivery and confirmation messages across supported languages.
  • Bug Fixes

    • Save confirmations no longer imply hub storage for standalone installations.

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.
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 22, 2026 18:38
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@github-actions

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the bug Something isn't working label Sep 22, 2026
@coderabbitai

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

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 configuration

Configuration used: Repository: lidge-jun/opencodex/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 6035ffe6-97c3-4f55-ab8b-6135b273b244

📥 Commits

Reviewing files that changed from the base of the PR and between b7351dd and 08a696b.

⛔ Files ignored due to path filters (2)
  • devlog/_plan/260923_models_catalog_delivery_disclosure/evidence/ko-collapsed.png is excluded by !**/*.png
  • devlog/_plan/260923_models_catalog_delivery_disclosure/evidence/ko-expanded.png is excluded by !**/*.png
📒 Files selected for processing (18)
  • devlog/_plan/260923_models_catalog_delivery_disclosure/000_plan.md
  • devlog/_plan/260923_models_catalog_delivery_disclosure/010_architect.md
  • devlog/_plan/260923_models_catalog_delivery_disclosure/020_done.md
  • gui/src/App.tsx
  • gui/src/i18n/de.ts
  • gui/src/i18n/en.ts
  • gui/src/i18n/fr.ts
  • gui/src/i18n/ja.ts
  • gui/src/i18n/ko.ts
  • gui/src/i18n/ru.ts
  • gui/src/i18n/tr.ts
  • gui/src/i18n/vi.ts
  • gui/src/i18n/zh-TW.ts
  • gui/src/i18n/zh.ts
  • gui/src/pages/Models.tsx
  • gui/src/pages/models-catalog-state.tsx
  • gui/src/styles-models-workspace.css
  • gui/tests/models-catalog-delivery.test.tsx
 ______________________________________________________________________________________________________
< Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it. - Alan Perlis >
 ------------------------------------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lidge-jun
lidge-jun merged commit 965a6e5 into dev Sep 22, 2026
31 of 32 checks passed
@lidge-jun
lidge-jun deleted the codex/models-catalog-delivery-disclosure branch September 22, 2026 18:46
Dylan-Liew pushed a commit to Dylan-Liew/opencodex that referenced this pull request Sep 23, 2026
…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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant