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

Check for UAD updates #121

Merged
merged 6 commits into from
Feb 9, 2022
Merged

Check for UAD updates #121

merged 6 commits into from
Feb 9, 2022

Commits on Feb 8, 2022

  1. Check for UAD updates

    - Add an update button in the About page which links to the Github Releases page
    - Display if there is a new version available in the About page
    - Display an error if the request to Github failed
    
    The request is done asynchronously, each time you press on the About button
    The message checking updates... is displayed in the meantime.
    0x192 committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    6ecce97 View commit details
    Browse the repository at this point in the history
  2. Initialization logic refactor + fix concurrency issues

    Parallelizing tasks with Iced Commands can be tricky because there is no `join` feature.
    
    This commit simplifies all the init logic (download UAD list, get devices info, load packages) and fix a concurrency issue where
    a tasks could be starting when it should have waited for another task to finish.
    
    Add a state for the `List` module: `Ready` or `Loading(LoadingState)`
    0x192 committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    8424ea4 View commit details
    Browse the repository at this point in the history
  3. Sync with main

    0x192 committed Feb 8, 2022
    Configuration menu
    Copy the full SHA
    3d1ffe0 View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2022

  1. Implementation of the self-update logic

    Asynchronously check for updates and display a button update instead of the `Apps` button if an update is available
    
    Update process:
    - Download the right release based on the current file name (temp_<release_name>)
    - Extract the executable from the tarball for Linux and MacOS release
    - Rename the current executable to a temp path and rename the new version as the original file name
    - Spawn a new process to run the new (renamed) executable and kill the current one
    - Remove the old executable
    
     `self-update` is a new default cargo feature. It can be disabled with the `--no-default-features` flag.
    0x192 committed Feb 9, 2022
    Configuration menu
    Copy the full SHA
    e3838be View commit details
    Browse the repository at this point in the history
  2. cargo fmt

    0x192 committed Feb 9, 2022
    Configuration menu
    Copy the full SHA
    21febad View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3c8472a View commit details
    Browse the repository at this point in the history