As we discussed offline, this should work okay.
There was a risk that the handler could be triggered when restoration had started from outside the handler, when user_data_restore_step_completed was set for a short while. However, if that happened, invariants in the restoration reducer should have been triggered, but such a thing didn't happen when testing this.
- Feed Queries
- All Stories
- Search
- Feed Search
- Transactions
- Transaction Logs
Jul 17 2025
Jul 16 2025
Nice! This is a very convenient pattern of providing additional error info
Thanks
Remove testing leftovers
Updated screen contents the same way as in D14920 (applied this feedback). Added videos from https://phab.comm.dev/D14920#411648 to the description.
- Updated the UI based on the feedback.
- Extracted the new part into restoration.react.js, leaving log-in-form.react.js almost untouched - this will make deprecating usingRestoreFlow easier in the future. I'll describe some steps on Linear to make it easier.
- Added the error UI in the same screen - I think it makes easier for reviewers to have all web UI in this one diff, and update logic in the next diffs
In D14920#411706, @ashoat wrote:First, I wonder if we should move the "Be careful with your primary device" message to the actual primary device. Something like "If you log out of this device now, you may lose some data."
In D14919#411761, @kamil wrote:I am afraid there might be more modals that pop-up, but not sure
Jul 15 2025
Nice!
Thank you for the feedback!
- The issue with error screen height seems solved, The QR code screen now takes the same amount of space as the error screen.
- On the other hand, the progress view now looks empty, compared to the initial video. To fill this empty space, I'd keep these progress steps at the top (in the same place as on the error screen) and fill the empty space with an SVG logo or something similiar? But that would require designing one
- Also I hid the debug info (it shouldn't affect the prod design) and made the error text no-wrap (it's scrollable when too long).
Jul 14 2025
Separately, question: does the test_error line wrap?
I wonder if we can reduce the amount of text. Where is it sourced from? I'd like to provide suggestions, but I can't see the source here.
Aligning to the largerst screen (error) looks like this:
Posting an updated video. My impressions:
- The progress screen is now empty, but this might be okay.
- All three screens (QR, progress, error) now have different modal dimensions. Aligning them would make the progress screen feel emptier.
Jul 11 2025
Jul 10 2025
Jul 9 2025
I was thinking of even 10s (or 9 to be equal with the client value) but 6s should be enough too
Use named constants for steps
Jul 8 2025
- Added fullBackupSupport guard
- Separated invariant condition for restoreUserActionTypes
- Renamed useRestoreProtocol return type to RestoreProtocolResult, to avoid naming ambiguity with the other RestoreUserResult which is returned by the Identity RPC call.
- Added latestBackupInfo to the type
- Used the extended type and the fact that it's returned in dispatchActionPromise to update BackupStore, instead of dispatching a separate action just to update this store.