Skip to content

docs(FR-3446): update Admin Menu chapter for 26.8 - #8579

Merged
ironAiken2 merged 8 commits into
mainfrom
docs/FR-3446-admin-menu
Aug 7, 2026
Merged

docs(FR-3446): update Admin Menu chapter for 26.8#8579
ironAiken2 merged 8 commits into
mainfrom
docs/FR-3446-admin-menu

Conversation

@yomybaby

@yomybaby yomybaby commented Aug 4, 2026

Copy link
Copy Markdown
Member

Resolves #8539 (FR-3446)

✅ All 15 screenshots are LIVE captures — nothing was mocked

Unlike the other chapters in this refresh, the admin pages had real data on the capture server (users, keypairs, keypair/user resource policies, resource groups, agents, and an existing project-admin assignment), so setupGraphQLMocks was never wired in.

One non-live input: the server's announcement was empty, so sample Markdown was typed into the Monaco editor for announcement_edit_modal.png. That is client-side editor state only — the modal was dismissed without Publish, and no announcement exists on the server.

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:365 claimed 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 from routes.tsx (admin root at 593, deployments at 624, :deploymentId at 682); /admin-deployments and /admin-serving are now AdminRedirect stubs. 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' across FairShareItems/ and pages/ returns nothing. FairShareList.tsx now uses AutoUpdateFetchKeyButton with no default, i.e. Off, with long intervals.

Two rows did not apply

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.png is +8% taller because the SFTP field was added. One intentional scope change: detailed_agent_node_usage_information.png went 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.png initially 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 (AKIAIOSFODNN7EXAMPLE and 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.yml steps 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 CREDENTIALCreate Credential; gear → Edit pencil + Save; "Update Resource Policy dialog" → Edit Keypair Resource Policy; InstallInstall Image; + Add RegistryAdd Registry / Edit Registry; + Create PresetsCreate Preset / Edit Resource Preset; gear → Edit Resource Group + Save; "Select scheduler" → Scheduler; Concurrent JobsConcurrent Sessions; CSV submit → Create N user(s); Single-Node/Multi-NodeSingle 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.UpdateResourceGroups is 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

yomybaby and others added 2 commits August 3, 2026 13:47
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
yomybaby requested review from agatha197, ironAiken2 and nowgnuesLee and a balanced review from Copilot August 4, 2026 03:33
@github-actions github-actions Bot added the size:XL 500~ LoC label Aug 4, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread packages/backend.ai-webui-docs/src/en/admin_menu/admin_menu.md Outdated
Comment thread packages/backend.ai-webui-docs/src/ko/admin_menu/admin_menu.md Outdated
Comment thread packages/backend.ai-webui-docs/src/ja/admin_menu/admin_menu.md Outdated
Comment thread packages/backend.ai-webui-docs/src/th/admin_menu/admin_menu.md Outdated
Comment thread packages/backend.ai-webui-docs/src/en/admin_menu/admin_menu.md
Comment thread packages/backend.ai-webui-docs/src/ja/admin_menu/admin_menu.md
Comment thread packages/backend.ai-webui-docs/src/th/admin_menu/admin_menu.md
Comment thread packages/backend.ai-webui-docs/src/ko/admin_menu/admin_menu.md Outdated
Comment thread packages/backend.ai-webui-docs/src/ja/admin_menu/admin_menu.md Outdated
Comment thread packages/backend.ai-webui-docs/src/th/admin_menu/admin_menu.md Outdated
nowgnuesLee and others added 3 commits August 5, 2026 15:27
- 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

@nowgnuesLee nowgnuesLee left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

agatha197 and others added 3 commits August 6, 2026 00:54
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>

@agatha197 agatha197 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ironAiken2 ironAiken2 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ironAiken2
ironAiken2 merged commit 0df32ed into main Aug 7, 2026
10 checks passed
@ironAiken2
ironAiken2 deleted the docs/FR-3446-admin-menu branch August 7, 2026 08:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500~ LoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update the Admin Menu chapter for 26.8

5 participants