Fix: Session Expired page "Please sign in again" link does nothing#96386
Fix: Session Expired page "Please sign in again" link does nothing#96386MelvinBot wants to merge 1 commit into
Conversation
Co-authored-by: Maruf Sharifi <marufsharifi@users.noreply.github.com>
|
I looked into the failing checks — there's no code fix to push. Every substantive check passes: ESLint, typecheck, knip, Oxfmt, React Compiler, all 8 The only failing check is
This one is a manual author task — I can't complete it for you, since checking those boxes is you attesting that you actually did each item (tested on all platforms, verified no console errors, added tests, etc.). Once you tick the boxes that apply and fill in the The If a check does fail for a real reason once perf finishes, re-tag me and I'll dig in. |
|
@MelvinBot, add proper QA Test steps based on issue description |
|
🤖 Added QA steps (and matching local Test steps) to the PR body, derived from the reproduction in #96344:
Please review and adjust as needed. |
|
The only failing check is PR Author Checklist / checklist — every code, test, lint, and build check is passing. ✅ This isn't a code failure, so there's nothing for me to push a fix for. The check fails because the PR Author Checklist in the description isn't fully checked off:
To clear it: open the PR description and tick every box in the author checklist (and confirm the required screenshots/tests sections are filled in). The check re-runs automatically once the boxes are checked. Since checklist completion requires a human author to confirm each item, I can't check those boxes for you. |
|
@MelvinBot, mark this as ready for review |
|
@marufsharifi Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
🤖 Marked this PR as ready for review. |
Explanation of Change
On the "Session Expired" page (shown when an OldDot→NewDot transition link is opened with an expired auth token), clicking Please sign in again did nothing. The link's handler called
Navigation.goBack()with no fallback route. When the transition link is pasted into a fresh tab,/transitionis the only entry in the navigation stack, socanGoBack()isfalseandgoBack()hits its early-return guard ([Navigation] Unable to go back) — a no-op.clearSignInData()still ran, but the route never changed, so the page appeared to do nothing.This passes an explicit fallback route,
Navigation.goBack(ROUTES.HOME). With abackToRouteprovided,goBackskips the no-op guard and routes throughgoUp(ROUTES.HOME); sinceROUTES.HOMEisn't present in the single-route/transitionstack, it dispatches aREPLACEto Home. BecauseclearSignInData()has already cleared the session, Home resolves to the public sign-in screen — the expected redirect. It still correctly pops when back history exists (e.g. reached from within the app), so the warm-history case is unchanged. This mirrors the existinggoBackToHome()helper and theLogOutPreviousUserPagetransition-flow precedent, which both usegoBack(ROUTES.HOME).Fixed Issues
$ #96344
PROPOSAL: #96344 (comment)
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari