Skip to content

docs(FR-2571): add Allowed Client IPs field to My Account dialog documentation#6631

Merged
graphite-app[bot] merged 1 commit intomainfrom
04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation
Apr 22, 2026
Merged

docs(FR-2571): add Allowed Client IPs field to My Account dialog documentation#6631
graphite-app[bot] merged 1 commit intomainfrom
04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation

Conversation

@nowgnuesLee
Copy link
Copy Markdown
Contributor

@nowgnuesLee nowgnuesLee commented Apr 13, 2026

Resolves #6675 (FR-2571)

Documents the Allowed client IPs field in the My Account dialog across all supported manual languages (EN, KO, JA, TH), and adds missing login-related screenshots referenced by the login documentation.

Changes

  • Added Allowed client IPs field documentation (CIDR examples, current-client-IP display, warning behavior) to the My Account section in all 4 languages
  • Restored Original password field documentation (conditionally shown when server does not support V2 user update API) in all four languages
  • Added language-specific screenshot assets signout_button.png and forgot_password_panel.png referenced from the login documentation
  • Fixed Thai note about V2 API availability (unified to one line, translated "user update" to Thai)

Checklist:

  • Documentation

Copy link
Copy Markdown
Contributor Author

nowgnuesLee commented Apr 13, 2026


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • flow:merge-queue - adds this PR to the back of the merge queue
  • flow:hotfix - for urgent changes, fast-track this PR to the front of the merge queue

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has required the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Backend.AI WebUI user manual to document the “Allowed client IPs” field in the My Account/User Profile dialog across all supported manual languages, and adds missing login-related screenshots that are referenced by the login docs.

Changes:

  • Documented the Allowed client IPs field (including CIDR examples and “current client IP” behavior) in the My Account dialog docs for en/, ko/, ja/, and th/.
  • Added language-specific screenshot assets for signout_button.png and forgot_password_panel.png that are referenced from the login documentation.
  • Refined wording/line wrapping in the My Account sections and added a note about V2 user update API availability.

Reviewed changes

Copilot reviewed 4 out of 24 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
packages/backend.ai-webui-docs/src/en/header/header.md Adds “Allowed client IPs” field documentation to the My Account section and updates notes/wording.
packages/backend.ai-webui-docs/src/ko/header/header.md Same My Account doc update in Korean.
packages/backend.ai-webui-docs/src/ja/header/header.md Same My Account doc update in Japanese.
packages/backend.ai-webui-docs/src/th/header/header.md Same My Account doc update in Thai, including a V2 API availability note.
packages/backend.ai-webui-docs/src/en/images/signout_button.png Adds screenshot referenced by en/login/login.md.
packages/backend.ai-webui-docs/src/en/images/forgot_password_panel.png Adds screenshot referenced by en/login/login.md.
packages/backend.ai-webui-docs/src/ko/images/signout_button.png Adds screenshot referenced by ko/login/login.md.
packages/backend.ai-webui-docs/src/ko/images/forgot_password_panel.png Adds screenshot referenced by ko/login/login.md.
packages/backend.ai-webui-docs/src/ja/images/signout_button.png Adds screenshot referenced by ja/login/login.md.
packages/backend.ai-webui-docs/src/ja/images/forgot_password_panel.png Adds screenshot referenced by ja/login/login.md.
packages/backend.ai-webui-docs/src/th/images/signout_button.png Adds screenshot referenced by th/login/login.md.
packages/backend.ai-webui-docs/src/th/images/forgot_password_panel.png Adds screenshot referenced by th/login/login.md.

Comment thread packages/backend.ai-webui-docs/src/en/header/header.md
Comment thread packages/backend.ai-webui-docs/src/ko/header/header.md
Comment thread packages/backend.ai-webui-docs/src/ja/header/header.md
Comment thread packages/backend.ai-webui-docs/src/th/header/header.md
Comment thread packages/backend.ai-webui-docs/src/th/header/header.md Outdated
@nowgnuesLee nowgnuesLee force-pushed the 04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation branch from 7aea4e0 to b6fd1cb Compare April 13, 2026 12:03
@nowgnuesLee nowgnuesLee force-pushed the 04-13-docs_recapture_login_screenshots_with_totp_otp_screen_in_light_mode branch 2 times, most recently from 1660af8 to 88daf74 Compare April 14, 2026 01:58
@nowgnuesLee nowgnuesLee force-pushed the 04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation branch from b6fd1cb to b1a2ca1 Compare April 14, 2026 01:58
nowgnuesLee added a commit that referenced this pull request Apr 14, 2026
nowgnuesLee added a commit that referenced this pull request Apr 14, 2026
@github-actions github-actions Bot added size:L 100~500 LoC and removed size:M 30~100 LoC labels Apr 14, 2026
nowgnuesLee added a commit that referenced this pull request Apr 15, 2026
Addresses review comments on PR #6631 (Allowed client IPs / login screenshots) across all 4 languages. Model-store items are intentionally deferred to a separate change.

Text edits:
- header: rewrite V2 API wording (both Allowed client IPs and Original password notes) to explicit version gating — 'Backend.AI 26.4.0 and later'
- vfolder §10.1: add clarification that the top-bar project is auto-selected for project folders
- vfolder: rewrite write_content description as a per-folder (vfolder) RBAC permission, not a storage-host setting (verified via FolderExplorerModal.tsx — reads vfolder_node.permissions)
- vfolder §10.3: describe folder rename as available only inside the detail drawer
- vfolder §10.7: remove empty 'Folder Categories' heading
- overview §3.3: add Project page row to the accessible-menu table

Screenshots recaptured (EN + copied to ja/ko/th):
- menu_collapse.png (Fig 7.2 sidebar — no customer-specific plugins)
- data_page.png (Fig 10.1 / folder list with Controls merged into Name)
- vfolder_create_modal.png (current folder-creation modal)
- rename_vfolder.png (rename inside folder detail drawer)
- move_to_trash.png (new Ant Design Modal, replacing Popconfirm)
- vfolder_delete_dialog.png (current Delete Forever modal)
- sessions_page.png (Fig 11.1 current Sessions page)
- launch_session_resource_2.png (Cluster Mode step)
- launch_session_data.png (Data & Storage step)

Remaining TODO: header.png Login Session Timer (dev env has enableExtendLoginSession=false; timer not visible without backend config change).

Applied identically across en/ko/ja/th with structural parity.
nowgnuesLee added a commit that referenced this pull request Apr 15, 2026
Addresses review comments on PR #6631 (Allowed client IPs / login screenshots) across all 4 languages. Model-store items are intentionally deferred to a separate change.

Text edits:
- header: rewrite V2 API wording (both Allowed client IPs and Original password notes) to explicit version gating — 'Backend.AI 26.4.0 and later'
- vfolder §10.1: add clarification that the top-bar project is auto-selected for project folders
- vfolder: rewrite write_content description as a per-folder (vfolder) RBAC permission, not a storage-host setting (verified via FolderExplorerModal.tsx — reads vfolder_node.permissions)
- vfolder §10.3: describe folder rename as available only inside the detail drawer
- vfolder §10.7: remove empty 'Folder Categories' heading
- overview §3.3: add Project page row to the accessible-menu table

Screenshots recaptured (EN + copied to ja/ko/th):
- menu_collapse.png (Fig 7.2 sidebar — no customer-specific plugins)
- data_page.png (Fig 10.1 / folder list with Controls merged into Name)
- vfolder_create_modal.png (current folder-creation modal)
- rename_vfolder.png (rename inside folder detail drawer)
- move_to_trash.png (new Ant Design Modal, replacing Popconfirm)
- vfolder_delete_dialog.png (current Delete Forever modal)
- sessions_page.png (Fig 11.1 current Sessions page)
- launch_session_resource_2.png (Cluster Mode step)
- launch_session_data.png (Data & Storage step)

Remaining TODO: header.png Login Session Timer (dev env has enableExtendLoginSession=false; timer not visible without backend config change).

Applied identically across en/ko/ja/th with structural parity.
nowgnuesLee added a commit that referenced this pull request Apr 15, 2026
Addresses review comments on PR #6631 (Allowed client IPs / login screenshots) across all 4 languages. Model-store items are intentionally deferred to a separate change.

Text edits:
- header: rewrite V2 API wording (both Allowed client IPs and Original password notes) to explicit version gating — 'Backend.AI 26.4.0 and later'
- vfolder §10.1: add clarification that the top-bar project is auto-selected for project folders
- vfolder: rewrite write_content description as a per-folder (vfolder) RBAC permission, not a storage-host setting (verified via FolderExplorerModal.tsx — reads vfolder_node.permissions)
- vfolder §10.3: describe folder rename as available only inside the detail drawer
- vfolder §10.7: remove empty 'Folder Categories' heading
- overview §3.3: add Project page row to the accessible-menu table

Screenshots recaptured (EN + copied to ja/ko/th):
- menu_collapse.png (Fig 7.2 sidebar — no customer-specific plugins)
- data_page.png (Fig 10.1 / folder list with Controls merged into Name)
- vfolder_create_modal.png (current folder-creation modal)
- rename_vfolder.png (rename inside folder detail drawer)
- move_to_trash.png (new Ant Design Modal, replacing Popconfirm)
- vfolder_delete_dialog.png (current Delete Forever modal)
- sessions_page.png (Fig 11.1 current Sessions page)
- launch_session_resource_2.png (Cluster Mode step)
- launch_session_data.png (Data & Storage step)

Remaining TODO: header.png Login Session Timer (dev env has enableExtendLoginSession=false; timer not visible without backend config change).

Applied identically across en/ko/ja/th with structural parity.
@nowgnuesLee nowgnuesLee force-pushed the 04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation branch from 197a31a to eb33dc6 Compare April 16, 2026 09:36
@nowgnuesLee nowgnuesLee force-pushed the 04-13-docs_recapture_login_screenshots_with_totp_otp_screen_in_light_mode branch from 49ecfd9 to a72d86d Compare April 16, 2026 09:36
@agatha197 agatha197 force-pushed the 04-13-docs_recapture_login_screenshots_with_totp_otp_screen_in_light_mode branch from a72d86d to e413520 Compare April 16, 2026 14:47
@agatha197 agatha197 force-pushed the 04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation branch from eb33dc6 to a630b56 Compare April 16, 2026 14:47
@yomybaby yomybaby force-pushed the 04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation branch from a630b56 to 05faa24 Compare April 17, 2026 11:12
@agatha197 agatha197 force-pushed the 04-13-docs_recapture_login_screenshots_with_totp_otp_screen_in_light_mode branch from e413520 to d5d846f Compare April 21, 2026 10:23
@agatha197 agatha197 force-pushed the 04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation branch from 05faa24 to 10116bf Compare April 21, 2026 10:23
Copy link
Copy Markdown
Contributor

@ironAiken2 ironAiken2 left a comment

Choose a reason for hiding this comment

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

LGTM

@graphite-app
Copy link
Copy Markdown

graphite-app Bot commented Apr 22, 2026

Merge activity

…mentation (#6631)

Resolves #6675 (FR-2571)

Documents the **Allowed client IPs** field in the My Account dialog across all supported manual languages (EN, KO, JA, TH), and adds missing login-related screenshots referenced by the login documentation.

## Changes

- Added **Allowed client IPs** field documentation (CIDR examples, current-client-IP display, warning behavior) to the My Account section in all 4 languages
- Restored **Original password** field documentation (conditionally shown when server does not support V2 user update API) in all four languages
- Added language-specific screenshot assets `signout_button.png` and `forgot_password_panel.png` referenced from the login documentation
- Fixed Thai note about V2 API availability (unified to one line, translated "user update" to Thai)

**Checklist:**

- [x] Documentation
@graphite-app graphite-app Bot force-pushed the 04-13-docs_recapture_login_screenshots_with_totp_otp_screen_in_light_mode branch from d5d846f to 727d6fe Compare April 22, 2026 02:00
@graphite-app graphite-app Bot force-pushed the 04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation branch from 10116bf to a7033c9 Compare April 22, 2026 02:00
Base automatically changed from 04-13-docs_recapture_login_screenshots_with_totp_otp_screen_in_light_mode to main April 22, 2026 02:03
@graphite-app graphite-app Bot merged commit a7033c9 into main Apr 22, 2026
4 checks passed
@graphite-app graphite-app Bot deleted the 04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation branch April 22, 2026 02:04
graphite-app Bot pushed a commit that referenced this pull request Apr 22, 2026
…6708)

Resolves #6675 follow-up — Addresses review feedback on PR #6631 (model-store items intentionally excluded).

Stacked on top of PR #6631 (`04-13-docs_header_add_allowed_client_ips_field_to_my_account_dialog_documentation`).

## Changes

### Text edits (applied identically across en/ko/ja/th)
- **header/header.md**: Replaced "when the server supports the V2 user update API" phrasing in both the **Allowed Client IPs** note and the **Original password** note with explicit version gating — *"Backend.AI 26.4.0 and later"*.
- **vfolder/vfolder.md §10.1**: Clarified that for project folders, the project currently selected in the top bar is automatically selected as the target. (Model-type project-folder sentence intentionally **excluded**.)
- **vfolder/vfolder.md `write_content`**: Rewrote the File Edit button permission description — it is a per-folder (vfolder) RBAC permission granted via folder sharing or role, **not** a storage-host setting. Verified against `react/src/components/FolderExplorerModal.tsx` (reads `vfolder_node.permissions`).
- **vfolder/vfolder.md §10.3**: Folder rename is now described as available only inside the folder detail drawer (removed "from the Controls column").
- **vfolder/vfolder.md §10.7**: Removed the empty *Folder Categories* H2 heading.
- **overview/overview.md §3.3**: Added a **Project** row to the "Accessible Menu by User Role" table.

### Screenshots recaptured (captured in English UI, copied to all 4 language `images/` dirs)
- `header.png` — top bar **including visible Login Session Timer** (Fig 6.1)
- `menu_collapse.png` — sidebar without customer-specific plugin entries (Fig 7.2)
- `data_page.png` — folder list with **Controls column merged into Name** (Fig 10.1 / §10.4)
- `vfolder_create_modal.png` — current folder-creation modal
- `rename_vfolder.png` — rename UI **inside the detail drawer**
- `move_to_trash.png` — new **Modal** confirmation (replaces Popconfirm)
- `vfolder_delete_dialog.png` — current Delete Forever modal
- `sessions_page.png` — current Sessions page layout (Fig 11.1)
- `launch_session_resource_2.png` — Cluster Mode launcher step
- `launch_session_data.png` — Data & Storage launcher step

### Explicitly excluded (per request)
- All model-store-related items:
  - *"Model-type project folders can only be created within projects designated as model store projects"* (§10.1 item #2)
  - *"Run directly using the `deploy` button"* (model store §26.4.0 content)

### Deferred (out of scope)
- Per-language localized screenshot policy (reviewer request conflicts with current `SCREENSHOT-GUIDELINES.md` — recommended to change policy in a follow-up PR).
- Pre-existing untranslated English blocks in `ja/` and `th/` `sessions_all.md` and `vfolder.md` §10.1 bullets — flagged by reviewer, not touched in this PR.

## Agent workflow

Generated via `fw:docs-planner` → `fw:docs-writer` → screenshots captured via Chrome DevTools MCP → `docs-update-reviewer` cross-language + cross-page link review (MINOR FIXES APPLIED). Agent artifacts: `.agent-output/docs-update-plan-pr6631-review.md`, `.agent-output/docs-review-report-pr6708-cross-lang-and-links.md`.

Reviewer auto-fixes:
- Corrected broken image reference `launce_session_resource_2.png` → `launch_session_resource_2.png` in all 4 `sessions_all.md` (pre-existing typo, made load-bearing by this PR recapturing the file).
- Collapsed stray double blank line before `:::note` block after Cluster mode bullet.

**Checklist:**
- [x] Documentation
- [x] Structural parity across en/ko/ja/th verified
- [x] Cross-page links and image references verified
- [x] No model-store content introduced
graphite-app Bot pushed a commit that referenced this pull request Apr 22, 2026
…de WebUI screenshots (#6868)

Resolves FR-2645

## Summary

This PR addresses the two findings from the FR-2645 audit of `packages/backend.ai-webui-docs/`:

1. **Policy fix** — Resolves the contradiction in `SCREENSHOT-GUIDELINES.md` (one section said "language-specific captures", another said "always capture in English"). The authoritative rule is now: **screenshots must be captured in the locale that matches the destination directory.**
2. **Dark-mode fix** — Replaces 6 dark-mode WebUI screenshots with light-mode recaptures, captured in the matching UI locale for each language (`en/`, `ko/`, `ja/`, `th/`).

## Changes

### `SCREENSHOT-GUIDELINES.md`

- Removed the contradictory line *"Always capture in English regardless of which language directory the screenshot will be saved to"* (added in PR #6631 / commit `a7033c9430`).
- Renamed *File Location* section → *File Location and Localization*.
- Made the language-specific capture rule a MUST, with explicit per-directory mapping (ko → 한국어, ja → 日本語, th → ภาษาไทย, en → English).
- Defined explicit "single-language exception" criteria (no UI text — diagrams, terminal output, third-party tools).
- *Capture Standards › Content* now forward-references the localization rules instead of duplicating them.

### Image replacements (6 × 4 languages = 24 PNGs)

| Filename | Original framing | New capture | Locale-specific labels |
|---|---:|---:|---|
| `sessions_page.png` | 2880×1800 (full page) | 1440×900 (full page) | sidebar/breadcrumb/filter/columns |
| `data_page.png` | 2880×1800 (full page) | 1440×900 (full page) | sidebar/Active/Trash tabs/filter/columns |
| `rename_vfolder.png` | 2592×1590 (folder explorer) | 1296×795 (folder explorer, rename mode) | toolbar buttons/property table headers |
| `vfolder_create_modal.png` | 1300×1060 (modal only) | 650×530 (modal only) | field labels/radio options/buttons |
| `vfolder_delete_dialog.png` | 1040×692 (modal only) | 520×346 (modal only) | warning text/instructions/buttons |
| `move_to_trash.png` | 832×276 (modal only) | 416×138 (modal only) | title/buttons |

All new captures match the original framing scope (full page vs. modal-only) per the SCREENSHOT-GUIDELINES preflight checklist. Captures are 1× (non-retina) per guideline preference; total disk footprint reduced by ~70% per file.

## Capture process

For each language:
1. Navigate to `/usersettings`, switch UI language to the target locale.
2. Capture each of the 6 screens at 1440×900 viewport (light mode, React Grab toolbar hidden).
3. For modal-only captures, crop the viewport screenshot to the dialog's exact bbox using `sips`.
4. Save to `src/{lang}/images/{filename}.png`.
5. After all 4 languages, reset UI back to English.

## Verification

- Re-ran the dark-mode detector after applying changes — 0 Backend.AI WebUI screenshots flagged. Remaining dark candidates (`vscode_connect_finish.png`, `mlflow_first_execution.png`, `bad_permissions.png`) are intentionally dark third-party UIs.
- Visually confirmed each of the 24 PNGs renders the correct locale UI text (sidebar menus, button labels, dialog titles).

## Follow-up work (out of scope for this PR)

This PR only re-captures the 6 dark-mode files. The broader audit found ~280 additional images per language directory that are still byte-identical to `en/` (English UI). Those should be re-captured in the matching locale per the new guideline; recommend creating section-by-section sub-tasks under FR-2645 (e.g., per documentation chapter: vfolder, sessions, admin_menu, rbac_management, etc.) since the volume (~840 captures) is too large for a single PR.

## Notes for reviewers

- **Folder data**: `data_page` shows 1–2 active folders depending on quota state at capture time (5-folder quota was at the limit because trash items count); original showed 3. Framing identical.
- **Folder names in dialogs**: dialogs show `e2e-mod-{83xbfn,dt2hqj,rjc9pl}` instead of the original `doc-capture-delete-test`. Dialog UI is identical.
- **Empty file list**: Korean `rename_vfolder.png` shows the empty-folder state (newly created folder). Japanese and Thai versions show the populated `e2e-mod-rjc9pl` folder (same data as original: `config 2.toml`, `model-definition.yaml`, `service-definition.toml`, `mock_openai_server.py`).
- 5 trash items remain in DELETE-PENDING in the dev environment (3 pre-existing + 2 created during capture). Auto-purges, but can be manually purged if desired.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100~500 LoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: add Allowed Client IPs field to My Account dialog documentation (FR-2571)

4 participants