Skip to content

Conversation

Gaming32
Copy link
Contributor

@Gaming32 Gaming32 commented Jul 10, 2025

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

@Gaming32 Gaming32 added enhancement New feature or request app Relates to Modrinth App labels Jul 10, 2025
@Gaming32 Gaming32 marked this pull request as ready for review July 11, 2025 14:22
Copy link
Member

@AlexTMjugador AlexTMjugador left a 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.

@Gaming32 Gaming32 requested a review from AlexTMjugador July 16, 2025 01:38
Copy link
Member

@AlexTMjugador AlexTMjugador left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@Prospector Prospector requested a review from IMB11 July 17, 2025 01:55
@Prospector
Copy link
Member

Prospector commented Jul 17, 2025

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

Copy link
Member

IMB11 commented Aug 1, 2025

Out of interest, what's blocking this?

Copy link
Member

@IMB11 IMB11 left a 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

@IMB11 IMB11 self-requested a review September 29, 2025 10:41
@Prospector Prospector added this pull request to the merge queue Sep 29, 2025
auto-merge was automatically disabled September 29, 2025 15:37

Pull Request is not mergeable

Merged via the queue into main with commit a538b99 Sep 29, 2025
2 checks passed
@Prospector Prospector deleted the app-updater-rework branch September 29, 2025 18:07
fetchfern pushed a commit that referenced this pull request Oct 1, 2025
* 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>
AlexTMjugador added a commit that referenced this pull request Oct 4, 2025
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.
github-merge-queue bot pushed a commit that referenced this pull request Oct 4, 2025
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app Relates to Modrinth App enhancement New feature or request
Development

Successfully merging this pull request may close these issues.

4 participants