docs(FR-2534): add 2FA/TOTP, SSO, and session extension to login documentation#6572
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via 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. |
nowgnuesLee
left a comment
There was a problem hiding this comment.
Review: PR #6572 — docs: add 2FA/TOTP, SSO, and session extension to login documentation
Summary
Good documentation update. The previously untranslated English remnants in JA/TH files (e.g., 管理者istrator, ผู้ดูแลระบบistrator) are now properly translated, and the new 2FA/TOTP/SSO sections are well-structured with correct structural parity across all 4 languages. A few issues below.
Findings
PR Title / Scope
[Correctness] Should Fix: The PR title mentions "session extension" but there is no session extension content anywhere in the diff. Please either add the session extension documentation or update the PR title to remove the claim.
[File: src/en/login/login.md]
[Correctness] Should Fix (L139-141): The forgot password section says:
click the Forgot password? text and then the Change link
But in the actual UI (LoginFormPanel.tsx L431-442), "Forgot password?" is a non-clickable Typography.Text label — only "Change" is the clickable Typography.Link. The documentation implies the user needs to click both elements. Please rewrite to something like:
click the Change link (next to "Forgot password?") on the login panel.
The same inaccuracy exists in all other language versions (KO, JA, TH) — same fix applies.
[File: src/en/login/login.md]
[i18n/UI Label] Nice to Have (L57): The doc says Click the **Advanced** link which matches the actual i18n key login.AdvancedSettings = "Advanced". Good.
[File: src/ko/login/login.md]
[i18n/UI Label] Nice to Have (L79): The doc says **비밀번호를 잊어버렸습니까?** — this matches the i18n value login.ForgotPassword = "비밀번호를 잊어버렸습니까?". Good.
[i18n/UI Label] Nice to Have: **비밀번호 재설정** matches login.ChangePassword = "비밀번호 재설정". Good.
[File: src/ja/login/login.md]
[i18n/UI Label] Nice to Have: **パスワードをお忘れですか?** matches login.ForgotPassword = "パスワードをお忘れですか?". **パスワードを変更する** matches login.ChangePassword = "パスワードを変更する". Good.
[File: src/th/login/login.md]
[i18n/UI Label] Nice to Have: **ลืมรหัสผ่าน?** matches login.ForgotPassword = "ลืมรหัสผ่าน?". **เปลี่ยน** matches login.ChangePassword = "เปลี่ยน". Good.
Cross-reference verification
[Correctness] Verified: The [2FA Setup](#2fa-setup) cross-reference links point to <a id="2fa-setup"></a> anchors that exist in all 4 language versions of header/header.md. No broken links.
Image verification
[Correctness] Verified: ask_otp_when_login.png exists in the images directory.
Feature verification against codebase
[Correctness] Verified: SSO (SAML/OpenID), OTP login, TOTP setup on first login, Connection Mode (Session/API), and API Endpoint configuration all match the actual implementation in LoginFormPanel.tsx, LoginView.tsx, ForceTOTPChecker.tsx, and TOTPActivateModal.tsx.
Recommendation
Approve with suggestions. Two items to address:
- Should Fix: Remove "session extension" from the PR title, or add the missing content.
- Should Fix: Fix the forgot password flow description across all 4 languages — "Forgot password?" is a label, not a clickable element.
e9ad2f4 to
316a216
Compare
7d08cb3 to
0f0a17f
Compare
0f0a17f to
bbd0558
Compare
316a216 to
269a642
Compare
269a642 to
959bd09
Compare
bbd0558 to
5fc8537
Compare
83425aa to
68a0055
Compare
f114a55 to
4b6d722
Compare
4b6d722 to
8e13af1
Compare
ace1668 to
6008c9a
Compare
64248cc to
c78b6fe
Compare
6008c9a to
5b6759c
Compare
c78b6fe to
dfa849a
Compare
5b6759c to
6e701a1
Compare
dfa849a to
7e07be2
Compare
This reverts commit d3ca954. #6575 was merged with base=main because `gt track --parent main` on a locally untracked branch caused Graphite to record main as its parent. The subsequent `gt submit --publish --force` pushed this base change to GitHub, and the PR was then squash merged, collapsing 29 commits from 6 stacked PRs into a single commit on main: - #6570 docs(FR-2532): share_vfolder labels - #6571 docs(FR-2533): user_settings - #6572 docs(FR-2534): 2FA/TOTP/SSO login - #6573 docs(FR-2535): header session timer & menu - #6574 docs(FR-2536): Start From URL & announcement banner - #6575 docs(FR-2537): dashboard board customization & auto-refresh Reverting so each PR can be merged in its original stack order. After this revert merges: - #6575 will be reopened with its original base (#6574's branch) - #6625's base will be restored to #6611's branch - The other open PRs (#6570, #6571, #6572, #6573, #6574) retain their original bases and will be mergeable in stack order
Merge activity
|
…mentation (#6572) Resolves #6678 (FR-2534) ## Summary - Document **2FA/TOTP** authentication setup and verification flow - Document **SSO (Keycloak)** login via the "Login with Keycloak" button - Document **session extension** for users approaching session timeout - Add a note about concurrent session detection and automatic logout behavior - Apply reviewer fixes for accuracy and consistency across all 4 languages ## Changes - `login/login.md` (en/ko/ja/th): 2FA/TOTP section, SSO section, session extension section, concurrent session note ## Test plan - [ ] Verify 2FA setup steps match the actual TOTP flow - [ ] Verify SSO login button label matches the UI - [ ] Verify session extension notification behavior is accurately described 🤖 Generated with [Claude Code](https://claude.com/claude-code)
6e701a1 to
67ab610
Compare

Resolves #6678 (FR-2534)
Summary
Changes
login/login.md(en/ko/ja/th): 2FA/TOTP section, SSO section, session extension section, concurrent session noteTest plan
🤖 Generated with Claude Code