docs(FR-3446): update Admin Menu chapter for 26.8 - #8579
Merged
Conversation
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Captures the 15 screenshots the Admin Menu chapter refresh flagged TODO, in all
four UI locales (en / ko / ja / th). Every locale was booted from scratch
(persisted language + full reload) rather than switched in place, so no
`<Trans>` string is left rendering the previous locale.
New images (7):
bulk_edit_users_modal.png - live data
credential_bulk_deactivate.png - live data
agent_watcher_actions.png - live data
bulk_edit_resource_groups_modal.png - live data
announcement_edit_modal.png - live UI, sample Markdown typed into the
editor only; nothing was published
diagnostics_empty_state.png - live data
set_project_admin_modal.png - live data
Re-captured (8):
user_update_dialog.png - live data
keypair_update_dialog.png - live data
add_keypair_dialog.png - live data
update_resource_policy.png - live data
user_resource_policy_list.png - live data
detailed_agent_node_usage_information.png - live data
modify_resource_group.png - live data
maintenance_page.png - live data
No GraphQL mocking was needed: the capture server has real users, keypairs,
resource policies, resource groups, agents and project-admin assignments, so
all 15 images are live captures.
Framing follows the preflight scope of the images being replaced (dialogs and
drawers are element/clip captures, list pages are viewport captures); the
dialog re-captures land on exactly 2x the previous pixel dimensions.
Every dialog was opened for the screenshot and then dismissed - no Save,
Create, Publish, Deactivate, Delete, Purge, Rescan or agent start/stop/restart
was ever submitted, and nothing was created or removed on the server.
The visible access keys are AWS's canonical documentation-example keys
(AKIAIOSFODNN7EXAMPLE and friends) that the demo cluster seeds; no secret key
is rendered anywhere, and the App Proxy API token stays masked.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
yomybaby
requested review from
agatha197,
ironAiken2 and
nowgnuesLee
and
a balanced review from Copilot
August 4, 2026 03:33
Contributor
There was a problem hiding this comment.
Pull request overview
Refreshes the Admin Menu manual for Backend.AI 26.8 across four supported languages.
Changes:
- Documents new admin workflows, filters, URL state, and auto-refresh behavior.
- Updates UI terminology and corrected deployment routes.
- Recaptures 15 screenshots for each locale.
Reviewed changes
Copilot reviewed 3 out of 64 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
src/en/admin_menu/admin_menu.md |
Updates English chapter. |
src/ja/admin_menu/admin_menu.md |
Updates Japanese chapter. |
src/ko/admin_menu/admin_menu.md |
Updates Korean chapter. |
src/th/admin_menu/admin_menu.md |
Updates Thai chapter. |
src/en/images/add_keypair_dialog.png |
English credential dialog. |
src/en/images/agent_watcher_actions.png |
English agent actions. |
src/en/images/announcement_edit_modal.png |
English announcement editor. |
src/en/images/bulk_edit_resource_groups_modal.png |
English resource-group bulk edit. |
src/en/images/bulk_edit_users_modal.png |
English user bulk edit. |
src/en/images/credential_bulk_deactivate.png |
English credential bulk action. |
src/en/images/detailed_agent_node_usage_information.png |
English agent details. |
src/en/images/diagnostics_empty_state.png |
English diagnostics empty state. |
src/en/images/keypair_update_dialog.png |
English keypair editor. |
src/en/images/maintenance_page.png |
English maintenance page. |
src/en/images/modify_resource_group.png |
English resource-group editor. |
src/en/images/set_project_admin_modal.png |
English project-admin dialog. |
src/en/images/update_resource_policy.png |
English resource-policy editor. |
src/en/images/user_resource_policy_list.png |
English user-policy list. |
src/en/images/user_update_dialog.png |
English user editor. |
src/ja/images/add_keypair_dialog.png |
Japanese credential dialog. |
src/ja/images/agent_watcher_actions.png |
Japanese agent actions. |
src/ja/images/announcement_edit_modal.png |
Japanese announcement editor. |
src/ja/images/bulk_edit_resource_groups_modal.png |
Japanese resource-group bulk edit. |
src/ja/images/bulk_edit_users_modal.png |
Japanese user bulk edit. |
src/ja/images/credential_bulk_deactivate.png |
Japanese credential bulk action. |
src/ja/images/detailed_agent_node_usage_information.png |
Japanese agent details. |
src/ja/images/diagnostics_empty_state.png |
Japanese diagnostics empty state. |
src/ja/images/keypair_update_dialog.png |
Japanese keypair editor. |
src/ja/images/maintenance_page.png |
Japanese maintenance page. |
src/ja/images/modify_resource_group.png |
Japanese resource-group editor. |
src/ja/images/set_project_admin_modal.png |
Japanese project-admin dialog. |
src/ja/images/update_resource_policy.png |
Japanese resource-policy editor. |
src/ja/images/user_resource_policy_list.png |
Japanese user-policy list. |
src/ja/images/user_update_dialog.png |
Japanese user editor. |
src/ko/images/add_keypair_dialog.png |
Korean credential dialog. |
src/ko/images/agent_watcher_actions.png |
Korean agent actions. |
src/ko/images/announcement_edit_modal.png |
Korean announcement editor. |
src/ko/images/bulk_edit_resource_groups_modal.png |
Korean resource-group bulk edit. |
src/ko/images/bulk_edit_users_modal.png |
Korean user bulk edit. |
src/ko/images/credential_bulk_deactivate.png |
Korean credential bulk action. |
src/ko/images/detailed_agent_node_usage_information.png |
Korean agent details. |
src/ko/images/diagnostics_empty_state.png |
Korean diagnostics empty state. |
src/ko/images/keypair_update_dialog.png |
Korean keypair editor. |
src/ko/images/maintenance_page.png |
Korean maintenance page. |
src/ko/images/modify_resource_group.png |
Korean resource-group editor. |
src/ko/images/set_project_admin_modal.png |
Korean project-admin dialog. |
src/ko/images/update_resource_policy.png |
Korean resource-policy editor. |
src/ko/images/user_resource_policy_list.png |
Korean user-policy list. |
src/ko/images/user_update_dialog.png |
Korean user editor. |
src/th/images/add_keypair_dialog.png |
Thai credential dialog. |
src/th/images/agent_watcher_actions.png |
Thai agent actions. |
src/th/images/announcement_edit_modal.png |
Thai announcement editor. |
src/th/images/bulk_edit_resource_groups_modal.png |
Thai resource-group bulk edit. |
src/th/images/bulk_edit_users_modal.png |
Thai user bulk edit. |
src/th/images/credential_bulk_deactivate.png |
Thai credential bulk action. |
src/th/images/detailed_agent_node_usage_information.png |
Thai agent details. |
src/th/images/diagnostics_empty_state.png |
Thai diagnostics empty state. |
src/th/images/keypair_update_dialog.png |
Thai keypair editor. |
src/th/images/maintenance_page.png |
Thai maintenance page. |
src/th/images/modify_resource_group.png |
Thai resource-group editor. |
src/th/images/set_project_admin_modal.png |
Thai project-admin dialog. |
src/th/images/update_resource_policy.png |
Thai resource-policy editor. |
src/th/images/user_resource_policy_list.png |
Thai user-policy list. |
src/th/images/user_update_dialog.png |
Thai user editor. |
- Identify the Projects page as superadmin-only (routes.tsx marks it access: 'superadmin') - Document the Max Concurrent Logins field of the user resource policy dialog - Quote credential.RateLimitValidation verbatim from ko/ja/th i18n Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FdktXwZzFsTa9LfKNwYtZQ
…tions Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FdktXwZzFsTa9LfKNwYtZQ
The dialog gained a Max Concurrent Logins field, which the chapter now documents; the previous capture predates it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FdktXwZzFsTa9LfKNwYtZQ
Condense the four near-identical paragraphs explaining the URL persistence mechanism (per-tab state storage) down to the one user-relevant fact: filters/sort survive tab switches and the URL is shareable/bookmarkable. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…menu Drop the exact error-message string and button-disabled mechanics; keep only the two facts users need: CSV without a password column loads fine, and filling the default password field updates the preview immediately so re-upload isn't needed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… 4 locales The "state persists in URL, tabs remembered separately, URL is bookmarkable" note was copy-pasted near-verbatim onto four pages (Users, Admin Deployments, Resource Policies, Admin Session) in every locale. Keep the fact once (Users page, trimmed to one sentence) and drop the other three repeats — the behavior is generic across all tabbed tables in this chapter and doesn't need restating per page. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves #8539 (FR-3446)
Summary
The largest chapter in the refresh: 27 driving rows on a 1655-line chapter, grown to 2006 lines, in all four languages, with 15 screenshots captured.
Part of the 26.8 user manual refresh (epic #8538 / FR-3445).
Attribution — by document section
Reviewers are the driving authors minus the PR author (@yomybaby opened this PR). No reviewer needs to read all 27 rows — find your sections below.
@agatha197 — System announcement (FR-3223 #8067, FR-3224 #8070), Resource Group SFTP settings & bulk edit (FR-3243 #8119), Prometheus preset modal (FR-3326 #8285), Diagnostics empty state (FR-3241 #8107), CSV bulk create (FR-3209 #8064), create-button label unification (FR-3244 #8118), auto-refresh dropdown (FR-3147 #7928)
@ironAiken2 — Agent watcher actions (FR-3230 #8087), project admin assign/revoke (FR-3317 #8264), keypair resource policy columns (FR-3268 #8196), storage & model-card typed filters (FR-3011 #7940/#8082), admin session project picker (FR-3258 #8153), theme/branding (FR-3239 #8104), edit-terminology pass (FR-3331 #8303/#8315)
@nowgnuesLee — User Resource Policy V2 migration (FR-3222 #8062), per-tab URL table state (FR-3267 #8251), bulk-edit list alerts (FR-3257 #8162), Fair Share resource-group warnings (FR-3404 #8506)
The chapter stated something verifiably false
admin_menu.md:365claimed the admin deployment detail has "its own dedicated route at/admin-deployments/:id". FR-3055 changed the URL scheme. Corrected to/admin/deployments/<deployment id>, derived fromroutes.tsx(adminroot at 593,deploymentsat 624,:deploymentIdat 682);/admin-deploymentsand/admin-servingare nowAdminRedirectstubs. The list path and the Prometheus tab path were corrected too. No routing treatise added — three path strings and one sentence.It also deleted an outright false claim: "The WebUI does not provide the function to manipulate agent nodes." FR-3230 added exactly that.
And a stale number: Fair Share said "Data refreshes automatically every 7 seconds" —
grep '7_000\|7000'acrossFairShareItems/andpages/returns nothing.FairShareList.tsxnow usesAutoUpdateFetchKeyButtonwith no default, i.e. Off, with long intervals.Two rows did not apply
BrandingPage.tsx/BrandingSettingList.tsx: toolbar, groups and warning text are unchanged. FR-3239's real surface was the user theme selector (documented in docs(FR-3450): update User Settings chapter for 26.8 #8563) and a branding draft-seeding bug, neither described here.Auto-refresh: verified per page, not generalized
This chapter is not uniform, and the dropdown was documented only where it exists:
Has it — Admin Deployments (15 s), Admin Session → Sessions (15 s), → Pending Sessions (10 s), Agents (15 s, custom
[15s,30s,1m,5m]), Agent Info drawer (off), Storages (off), Prometheus Preset (off, long options), Fair Share (off, long options)Does NOT — Users, Credentials, all three resource-policy lists, Admin Model Store, Deployment Presets, Resource Groups, Images, Registries, Resource Presets, System Settings, Maintenance, Information, Diagnostics, Branding, RBAC, Projects
Screenshots
All 15 discharged, 4 distinct md5s each, 60 locale captures passing both the "localized text present" and "English string count 0" assertions. Each locale booted from scratch rather than in-place
switchLanguage().Preflight: seven recaptures land at exactly 2x their previous dimensions (same scope, doubled density).
modify_resource_group.pngis +8% taller because the SFTP field was added. One intentional scope change:detailed_agent_node_usage_information.pngwent from a 520x284 popup to the 1600x1800 Agent Info drawer — mandated by the TODO, since the usage detail now opens as that drawer; the filename was kept because the prose had already been rewritten for it.One clipping bug was caught and fixed mid-run:
update_resource_policy.pnginitially came out with the Folders section cut off because viewport 1000 forced the body to scroll; re-run at 1400 it lands on exactly 2x with the full body visible.Credentials: the visible access keys (
AKIAIOSFODNN7EXAMPLEand friends) are AWS's canonical documentation-example key IDs that the demo cluster seeds — not credentials for anything. No secret key is rendered anywhere in the 15 images, and the App Proxy API Token is masked as dots. No blurring was needed.Destructive actions: every dialog was opened to be photographed and then dismissed. No Save, Create, Publish, OK, Deactivate, Delete, Purge, Revoke, Rescan, Recalculate, or agent Start/Stop/Restart was ever clicked. Checkboxes were ticked only to raise the selection toolbar.
Verification
All three
docs-checks.ymlsteps green:check:terminology-md,check:nav-titles(112 entries),check-terminology-i18n.mjs --strict(0 blocking / 0 warn). Nothing created, modified or deleted server-side.Label drift fixed
Every documented button name was audited against
resources/i18n/{en,ko,ja,th}.json:+ ADD CREDENTIAL→ Create Credential; gear → Edit pencil + Save; "Update Resource Policy dialog" → Edit Keypair Resource Policy;Install→ Install Image;+ Add Registry→ Add Registry / Edit Registry;+ Create Presets→ Create Preset / Edit Resource Preset; gear → Edit Resource Group + Save; "Select scheduler" → Scheduler;Concurrent Jobs→ Concurrent Sessions; CSV submit → Create N user(s);Single-Node/Multi-Node→ Single Node/Multi Node.Also a factual bug, not a rename: the resource-group section said "deactivate a resource policy" where it meant resource group.
Where ja/th live labels disagree with en/ko they were followed, not normalized —
resourceGroup.UpdateResourceGroupsis ja "リソースグループを更新" / th "อัปเดตกลุ่มทรัพยากร", which are not "Bulk Edit".Noted, not fixed
The chapter still carries 24 pre-existing TODO markers from before this refresh (39 → 24). They are unrelated to 26.8 and were deliberately left untouched — folding them in would have buried the 26.8 changes.
🤖 Generated with Claude Code