fix(codex-config): close fix-round-1 parity gaps against CcConfig

Isolate the codex-CLI-backed reads (mcp/plugins/marketplaces) from the
file-backed ones in fetchAll via two independent Promise.all groups, so a
missing `codex` binary degrades only the mcp/plugins tabs instead of
leaving the whole panel stuck on skeletons. Generalize EditorModal's
nameless-type detection behind a `namelessTypes` prop (defaulting to
Claude's own ["memory"]) so Codex's config.toml can be created without a
name. Port BackupsModal, disable the plugin/mcp Remove button when no
stable identifier resolved, hide the inert search box on memory/config,
drop a redundant empty state, and reword the delete-dialog copy to be
tool-neutral.

Co-authored-by: Nguyễn Ngọc Trí Vĩ <vinnt@smartgift.vn>
This commit is contained in:
2026-09-08 21:34:06 +07:00
parent 8015730adf
commit 56bf5bbf4d
8 changed files with 432 additions and 73 deletions
+17 -8
View File
@@ -54,13 +54,9 @@
}
},
"memory": {
"userScope": "User memory",
"projectScope": "Project memory",
"missing": "No AGENTS.md found."
},
"config": {
"userScope": "User config",
"projectScope": "Project config",
"missing": "No config.toml found."
},
"mcp": {
@@ -74,7 +70,6 @@
"bearerLabel": "Bearer token env var (optional)",
"addButton": "Add",
"removeButton": "Remove",
"noServers": "No MCP servers found.",
"added": "Added {{name}}.",
"removed": "Removed {{name}}."
},
@@ -91,10 +86,24 @@
"addMarketplacePlaceholder": "https://github.com/owner/repo",
"addMarketplaceButton": "Add",
"marketplaceAdded": "Added marketplace.",
"marketplaceRemoved": "Removed marketplace {{name}}.",
"noMarketplaces": "No marketplaces registered."
"marketplaceRemoved": "Removed marketplace {{name}}."
},
"manage": {
"working": "Working…"
"working": "Working…",
"noIdentifier": "No stable identifier for this entry - remove it from the CLI directly."
},
"cli": {
"unavailable": "The codex CLI isn't available on this machine ({{message}}) - install it or add it to PATH to manage this."
},
"backups": {
"openButton": "Backups",
"title": "Backups",
"subtitle": "Every save / delete writes a copy here first. Backup folders live outside the directories the CLI scans, so they don't reappear as ghosts in your CLI.",
"empty": "No backups yet - every edit or delete creates a timestamped backup that lands here.",
"restoreHint": "Restore by renaming the backup back into place:"
},
"snippet": {
"copy": "Copy",
"copied": "Copied"
}
}