feat(containers): add raw inspect tab to container detail view#2368
feat(containers): add raw inspect tab to container detail view#2368GiulioSavini wants to merge 3 commits intogetarcaneapp:mainfrom
Conversation
Adds a new 'Inspect' tab in the container detail page that displays the full container JSON data, matching what docker inspect returns. Includes a copy-to-clipboard button for easy export. Closes getarcaneapp#1381
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
| "containers_mount_label_host": "Host:", | ||
| "containers_mount_label_source": "Origem:", | ||
| "containers_no_mounts_configured": "Sem volumes ou montagens configuradas", | ||
| "containers_inspect_title": "Raw Inspect", | ||
| "containers_inspect_description": "Full JSON output of docker container inspect", | ||
| "container": "Contêiner", | ||
| "container_name_required": "Nome do contêiner é obrigatório", | ||
| "container_image_required": "Requer imagem", |
There was a problem hiding this comment.
pt.json is the only locale file that does not include the new tabs_inspect key. All 17 other locales in this PR add it. Without this key the Portuguese locale will either render a broken/empty tab label or fall back to the English value depending on how paraglide handles missing keys.
Add "tabs_inspect": "Inspect", near the other tabs_* entries in pt.json (mirroring every other locale file).
Prompt To Fix With AI
This is a comment left during a code review.
Path: frontend/messages/pt.json
Line: 389-396
Comment:
**Missing `tabs_inspect` key**
`pt.json` is the only locale file that does not include the new `tabs_inspect` key. All 17 other locales in this PR add it. Without this key the Portuguese locale will either render a broken/empty tab label or fall back to the English value depending on how paraglide handles missing keys.
Add `"tabs_inspect": "Inspect",` near the other `tabs_*` entries in `pt.json` (mirroring every other locale file).
How can I resolve this? If you propose a fix, please make it concise.| ...(hasMounts ? [{ value: 'storage', label: m.containers_nav_storage(), icon: VolumesIcon }] : []), | ||
| ...(showComposeTab ? [{ value: 'compose', label: m.tabs_compose(), icon: CodeIcon }] : []) | ||
| ...(showComposeTab ? [{ value: 'compose', label: m.tabs_compose(), icon: CodeIcon }] : []), | ||
| { value: 'inspect', label: m.tabs_inspect(), icon: CodeIcon } |
There was a problem hiding this comment.
Duplicate icon for Inspect and Compose tabs
Both the Compose tab (line 215) and the new Inspect tab use CodeIcon. Consider using a distinct icon (e.g. a magnifying glass / search icon) to help users visually distinguish the two tabs at a glance.
Prompt To Fix With AI
This is a comment left during a code review.
Path: frontend/src/routes/(app)/containers/[containerId]/+page.svelte
Line: 216
Comment:
**Duplicate icon for Inspect and Compose tabs**
Both the Compose tab (line 215) and the new Inspect tab use `CodeIcon`. Consider using a distinct icon (e.g. a magnifying glass / search icon) to help users visually distinguish the two tabs at a glance.
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
kmendell
left a comment
There was a problem hiding this comment.
Remove any translations thats not en.json or your native laguage, as crowdin will handle the rest vai community translators.
Summary
docker container inspect)ContainerDetailsDtoalready loaded on the pagePreview
The tab appears as the last item in the container nav bar and renders a scrollable
pre/codeblock with the full inspect JSON.Related
Closes #1381
Test plan
Disclaimer Greptiles Reviews use AI, make sure to check over its work.
To better help train Greptile on our codebase, if the comment is useful and valid Like the comment, if its not helpful or invalid Dislike
To have Greptile Re-Review the changes, mention
greptileai.Greptile Summary
This PR adds a new Inspect tab to the container detail page that renders the full
ContainerDetailsDtoas formatted JSON (equivalent todocker container inspect) with a Copy JSON button. The implementation is clean —$props()/$derivedare used correctly, HTML is auto-escaped so there is no XSS risk, and the tab is unconditionally visible as intended.pt.jsonis missingtabs_inspect: it is the only locale among the 18 changed files that did not receive the new key, which will cause a missing or empty tab label for Portuguese users.Confidence Score: 4/5
Safe to merge after adding the missing
tabs_inspectkey topt.json.One P1 defect:
pt.jsonis missing thetabs_inspecttranslation key that every other locale received. This will cause a broken tab label for Portuguese users and should be fixed before merging. Remaining finding is P2 (duplicate icon).frontend/messages/pt.json — missing
tabs_inspectkeyPrompt To Fix All With AI
Reviews (1): Last reviewed commit: "feat(containers): add raw inspect tab to..." | Re-trigger Greptile