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:
@@ -190,7 +190,7 @@
|
||||
"saveSuccessNew": "Created.",
|
||||
"deleteSuccess": "Deleted · backup at {{path}}",
|
||||
"confirmDelete": "Delete this item?",
|
||||
"confirmDeleteBody": "This will move the file (or skill folder, including bundled assets) to a timestamped backup before removing it. The backup lives outside the directories Claude Code scans, so the entry will disappear from your CLI.",
|
||||
"confirmDeleteBody": "This will move the file (or skill folder, including bundled assets) to a timestamped backup before removing it. The backup lives outside the directories the CLI scans, so the entry will disappear from your CLI.",
|
||||
"confirmDeletePath": "Path: {{path}}",
|
||||
"confirmDeleteAction": "Yes, back up and delete",
|
||||
"templates": {
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
"saveSuccessNew": "Đã tạo.",
|
||||
"deleteSuccess": "Đã xoá · bản sao tại {{path}}",
|
||||
"confirmDelete": "Xoá mục này?",
|
||||
"confirmDeleteBody": "Tệp (hoặc thư mục skill cùng tài nguyên đi kèm) sẽ được sao lưu kèm dấu thời gian trước khi xoá. Bản sao nằm ngoài thư mục Claude Code quét, nên mục này sẽ biến mất khỏi CLI.",
|
||||
"confirmDeleteBody": "Tệp (hoặc thư mục skill cùng tài nguyên đi kèm) sẽ được sao lưu kèm dấu thời gian trước khi xoá. Bản sao nằm ngoài thư mục CLI quét, nên mục này sẽ biến mất khỏi CLI.",
|
||||
"confirmDeletePath": "Đường dẫn: {{path}}",
|
||||
"confirmDeleteAction": "Xác nhận sao lưu và xoá",
|
||||
"templates": {
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user