mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-09 16:59:43 +02:00
App Settings now refuses a Default Codex model that the server would reject, before anything is written to localStorage. SettingsUpdateSchema is .strict() and checks codexModel with ^[a-zA-Z0-9._\-/]*$, so a value like gpt-oss:20b 400'd the whole settings PUT while the toast still said "Settings saved", and because the bad value was already in the local blob every later save from that device failed the same way. The client check uses the same pattern, shows an error toast, focuses the field and keeps the modal open. The toast has a zh-CN translation in i18n.js. src/web/codex-launch-defaults.ts gets an @fileoverview (fill only unset fields, re-validate persisted values, callers decide scope, never writes Codex config files), as every module in src carries one. Both new Codex rows in index.html carry has-field, like every other App Settings field row, so on phones the input and the select stack under their label instead of squeezing it into a narrow column. The Agent CLIs wiki paragraph said the defaults apply to every local launch. Scheduled (cron) codex jobs are built without a codexConfig and never get them, while Resume goes through POST /api/sessions and does, so the sentence now names the Run menu, Resume, POST /api/sessions and /api/quick-start, and says cron jobs do not use them. The Settings Reference lists the two new rows in the Agents & CLIs table. The neighbouring "Bypass approvals and sandbox" row described Pi's project trust; it is the Codex --dangerously-bypass-approvals-and-sandbox toggle, so its note says that now. The PR's own changeset is removed: the release writes one consolidated changeset at COM, and the PR's text overstated the scope (it included cron). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>