fix: prevent blank screen after login#3043
fix: prevent blank screen after login#3043CharlVS merged 1 commit intoadd/implement-one-click-remember-me-sign-infrom
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
5002659
into
add/implement-one-click-remember-me-sign-in
There was a problem hiding this comment.
Bugbot free trial expires on August 9, 2025
Learn more in the Cursor dashboard.
| // Ensure we pop the dialog from the root navigator. Using the root | ||
| // navigator prevents accidentally popping routes from nested | ||
| // navigators which can lead to a blank screen after login. | ||
| Navigator.of(context, rootNavigator: true).pop(); |
There was a problem hiding this comment.
Bug: Dialog Success Callback Navigation Issue
The AppDialog is shown using the nearest navigator but its success callback pops from the root navigator. This inconsistency prevents the dialog from closing when shown on a nested navigator, leaving it visible, and may also unintentionally pop a route from the root navigator.
) * feat: add remember me wallet login * feat(auth): implement one-click remember me sign-in functionality - Add automatic sign-in dialog for last logged-in wallet on app start - Store and retrieve wallet information in local storage when remember me is enabled - Implement remember me checkbox across all wallet flows (login, creation, import) - Add session-based dialog prevention to avoid multiple prompts - Support backward compatibility for existing stored wallet data Technical changes: - Introduce AppDialog as replacement for deprecated PopupDispatcher - Add WalletId JSON storage with pubkey hash for precise wallet matching - Update wallet manager widgets to support remember me state - Add translations for new UI elements - Implement proper storage cleanup when remember me is disabled This enhancement streamlines the user experience by allowing quick access to previously used wallets while maintaining security through password requirements. * fix: reword quick login text * Verify wallet identity using pubkey hash MD5 comparison Co-authored-by: charl <charl@vanstaden.info> * fix: prevent blank screen after login (#3043) * fix(auth): avoid context usage after login dialog closes (#3044) * bug(login): fix quick login dialog showing multiple times * fix: various sign-in remember-me fixes TODO(@takenagain): Refactor remember-me feature to bloc * fix: use stable context in connect wallet dispatcher * fix: navigator bug * fix: add missing password reset autocomplete * Fix: Use root navigator in remembered wallet dialog and reset flag on failure * Improve password field auto-submit with paste detection logic Co-authored-by: charl <charl@vanstaden.info> * feat: integrate password manager to password reset * docs: add wallet manager TODO * fix(auth,autofill): finalize autofill context only after successful login to restore password manager saving\n\n- Remove premature TextInput.finishAutofillContext(shouldSave: true) on submit\n- Call finishAutofillContext(shouldSave: true) in onLogIn() after AuthBloc signals logged-in\n\nThis resolves the regression introduced with one-click login that prevented credential managers from saving/recalling credentials. * fix(auth,dialog): guard dialog close and tolerate sign-out errors to prevent Android grey screen - Make AppDialog close idempotent and use navigator.maybePop() to avoid 'Bad state: No element' during 1-click login transitions - Wrap KDF signOut in try/catch so UI resets even if KDF stop times out - Align deprecated PopupDispatcher.close() to use maybePop() --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Summary
Testing
flutter pub get --enforce-lockfileflutter analyze lib/shared/widgets/app_dialog.darthttps://chatgpt.com/codex/tasks/task_e_688e7fb6da788326a76a03cd47502ad5