Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add backup and restore #1562

Merged
merged 4 commits into from
Nov 15, 2023
Merged

feat: Add backup and restore #1562

merged 4 commits into from
Nov 15, 2023

Commits on Nov 15, 2023

  1. feat: Add backup and restore

    ### Replace rust-dlc SledStorageProvider with DlcStorageProvider
    This removes the dependency to the `dlc-sled-storage-provider` and the `simple-wallet`, however, it does not change the underlying implementation. The new DlcStorageProvider is simply introducing a new abstraction layer to allow for replacing sled with another implementation in preparation to hook in the backup.
    
    ### Add data dir to config
    Note, I didn't put it on the environments on the client side as it requires the context to be initialized and that would have meant bigger changes, than I wanted to deal with.
    
    ### Verify users intent
    The users intent is verified by verifying the signature on the backup and restore messages.
    
    ### Symmetric backup cipher
    Backups are encrypted and decrypted on the client side.
    
    ### Add full backup support
    
    If the app is upgraded to the new version it will run an initial full backup to ensure that the backup is complete.
    
    - Combine states into a single state file
    For testing I had to make the state mutable as otherwise I wasn't able to start a new app node.
    
    ### Improve the app onboarding flow
    
    - The user should not be required to input the email when restoring from a backup. Note, the solution is a bit hacky, and ideally we also backup the preferences.
    - Removed app bar from welcome screen
    - Added visual improvements on the loading screen
    - Wait for restore / initial backup to complete on loading screen
    - Remove transitions from initial screens
    - Remove splash screen once on the loading screen
    holzeis committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    392edf8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    810362a View commit details
    Browse the repository at this point in the history
  3. fix: Immediately initialize candlestick chart

    This prevents the candlestick widget not being sometimes not initialized
    holzeis committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    df08d28 View commit details
    Browse the repository at this point in the history
  4. fix: Improve onboarding carousel

    Setting viewportFraction: 1.0 uses the full space of the screen instead of only 80% (default).
    holzeis committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    4016071 View commit details
    Browse the repository at this point in the history