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": "Bộ nhớ người dùng",
"projectScope": "Bộ nhớ dự án",
"missing": "Không tìm thấy AGENTS.md."
},
"config": {
"userScope": "Cấu hình người dùng",
"projectScope": "Cấu hình dự án",
"missing": "Không tìm thấy config.toml."
},
"mcp": {
@@ -74,7 +70,6 @@
"bearerLabel": "Biến môi trường bearer token (tùy chọn)",
"addButton": "Thêm",
"removeButton": "Gỡ bỏ",
"noServers": "Không tìm thấy máy chủ MCP nào.",
"added": "Đã thêm {{name}}.",
"removed": "Đã gỡ bỏ {{name}}."
},
@@ -91,10 +86,24 @@
"addMarketplacePlaceholder": "https://github.com/owner/repo",
"addMarketplaceButton": "Thêm",
"marketplaceAdded": "Đã thêm marketplace.",
"marketplaceRemoved": "Đã gỡ bỏ marketplace {{name}}.",
"noMarketplaces": "Chưa đăng ký marketplace nào."
"marketplaceRemoved": "Đã gỡ bỏ marketplace {{name}}."
},
"manage": {
"working": "Đang xử lý…"
"working": "Đang xử lý…",
"noIdentifier": "Mục này không có định danh ổn định - hãy gỡ trực tiếp từ CLI."
},
"cli": {
"unavailable": "CLI codex không có sẵn trên máy này ({{message}}) - cài đặt hoặc thêm vào PATH để quản lý mục này."
},
"backups": {
"openButton": "Bản sao lưu",
"title": "Bản sao lưu",
"subtitle": "Mỗi thao tác lưu / xoá đều ghi bản sao tới đây trước. Thư mục sao lưu nằm ngoài các vị trí CLI quét, nên không xuất hiện như mục thừa trong CLI.",
"empty": "Chưa có bản sao lưu - mỗi lần sửa hoặc xoá sẽ tạo bản sao có dấu thời gian.",
"restoreHint": "Khôi phục bằng cách đổi tên bản sao về vị trí cũ:"
},
"snippet": {
"copy": "Sao chép",
"copied": "Đã sao chép"
}
}