-
Notifications
You must be signed in to change notification settings - Fork 335
Reworked app update flow #3960
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
Reworked app update flow #3960
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR has more frontend than backend code, but both LGTM.
I just have a couple nitpicks I'd like to share below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
would be good to double check my latest changes didn't break functionality, requested another review from @IMB11 Feel free to queue for merge if it looks good to you |
Out of interest, what's blocking this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, just one nitpick about the download progress composable
# Conflicts: # .cargo/config.toml
Pull Request is not mergeable
* Make theseus capable of logging messages from the `log` crate * Move update checking entirely into JS and open a modal if an update is available * Fix formatjs on Windows and run formatjs * Add in the buttons and body * Fix lint * Show update size in modal * Fix update not being rechecked if the update modal was directly dismissed * Slight UI tweaks * Fix lint * Implement skipping the update * Implement the Update Now button * Implement updating at next exit * Turn download progress into an error bar on failure * Restore 5 minute update check instead of 30 seconds * Fix PendingUpdateData being seen as a unit struct * Fix lint * Make CI also lint updater code * feat: create AppearingProgressBar component * feat: polish update available modal * feat: add error handling * Open changelog with tauri-plugin-opener * Run intl:extract * Update completion toasts (#3978) * Use single LAUNCHER_USER_AGENT constant for all user agents * Fix build on Mac * Request the update size with HEAD instead of GET * UI tweaks * lint * Fix lint * fix: hide modal header & add "Hide update reminder" button w/ tooltip * Run intl:extract * fix: lint issues * fix: merge issues * notifications.js no longer exists * Add metered network checking * Add a timeout to macOS is_network_metered * Fix tauri.conf.json * vibe debugging * Set a dispatch queue * Have a popup that asks you if you'd like to disable automatic file downloads if you're on a metered network * Move UpdateModal to modal package * Fix lint * Add a toggle for automatic downloads * Fix type Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com> Signed-off-by: Josiah Glosson <soujournme@gmail.com> * Redo updating UI and experience * lint * fix unlistener issue * remove unneeded translation keys * Fix expose issue * temp disable cranelift, tweak some messages * change version back * Clean up App.vue * move toast to top right * update reload icon * Fixed the bug!!!!!!!!!!!! * improve messages * intl:extract * Add liquid glass icon file * not you! * use dependency injection * lint on apple icon * Fix imports, move download size to button * change update check back to 5 mins * lint + move to providers * intl:extract --------- Signed-off-by: Cal H. <hendersoncal117@gmail.com> Signed-off-by: Josiah Glosson <soujournme@gmail.com> Co-authored-by: Calum <calum@modrinth.com> Co-authored-by: Prospector <prospectordev@gmail.com> Co-authored-by: Cal H. <hendersoncal117@gmail.com> Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com> Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
PR #3960 reverted the Cranelift usage introduced in #4388 due to its codegen not being up to standard when compiling some pieces of code under some platforms. However, it didn't revert the switch to a nightly Rust toolchain, which is now unnecessary, and produces unnecessary drift between what's declared in the `rust-toolchain.toml` and the Docker image manifests, causing inefficiencies. These changes bring back the usage of stable Rust for the time being to correct those inefficiencies.
PR #3960 reverted the Cranelift usage introduced in #4388 due to its codegen not being up to standard when compiling some pieces of code under some platforms. However, it didn't revert the switch to a nightly Rust toolchain, which is now unnecessary, and produces unnecessary drift between what's declared in the `rust-toolchain.toml` and the Docker image manifests, causing inefficiencies. These changes bring back the usage of stable Rust for the time being to correct those inefficiencies.
The old app updater automatically installed new updates immediately on startup with no user involvement or consent. This reworks it to have a new modal that asks whether the user would like to update now, update on next restart, or skip this update.
Closes DEV-128
Closes DEV-229