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

Auto update downloads over metered connections #29749

Open
Electrenator opened this issue Sep 7, 2024 · 5 comments
Open

Auto update downloads over metered connections #29749

Electrenator opened this issue Sep 7, 2024 · 5 comments

Comments

@Electrenator
Copy link

Type

Game behaviour

Bug description

On windows the game auto updates without checking if someone is on a metered connection. Downloading this could get quite expensive for people sometimes playing while traveling. Noticed it while traveling within a country that I gladly didn't have any data roaming charges for.

Would expect the game to only update manually when the "Metered connection" setting of a WiFi network is enabled.

Screenshots or videos

No response

Version

2024.817.0 (so might possibly have been fixed by #28743)

Logs

compressed-logs.zip
Of which logs from the 1725667215 timestamp and onward are relevant.

@smallketchup82
Copy link
Contributor

smallketchup82 commented Sep 7, 2024

Please give Velopack a try

Velopack has much more efficient delta management vs Squirrel. In a nutshell, Velopack will download highly compressed "patches" for new versions instead of the entirety of a new release. In my experience, these patches are quite small, sometimes just a couple megabytes.

Update checking shouldn't take too much storage either. Velopack will read the releases.win.json from the latest release to determine if it's time to update or not. This file, in the latest release, is only 347 Bytes. It will be doing this every 30 minutes, making for 694 Bytes every hour, making for 16kb total if you keep lazer open for 24 hours nonstop.

Even though Velopack shouldn't use up too much internet, if you're still interested in completely turning off updates, I can see what I can do. Not sure if we'd want that osu-side or velopack-sided, but I can look into implementing it in a more user friendly manner vs the current environment variable method.

@catuhana
Copy link

catuhana commented Sep 8, 2024

Please give Velopack a try

Velopack has much more efficient delta management vs Squirrel. In a nutshell, Velopack will download highly compressed "patches" for new versions instead of the entirety of a new release. In my experience, these patches are quite small, sometimes just a couple megabytes.

Update checking shouldn't take too much storage either. Velopack will read the releases.win.json from the latest release to determine if it's time to update or not. This file, in the latest release, is only 347 Bytes. It will be doing this every 30 minutes, making for 694 Bytes every hour, making for 16kb total if you keep lazer open for 24 hours nonstop.

Even though Velopack shouldn't use up too much internet, if you're still interested in completely turning off updates, I can see what I can do. Not sure if we'd want that osu-side or velopack-sided, but I can look into implementing it in a more user friendly manner vs the current environment variable method.

I'd say the issue is not checking the updates, but downloading them. Velopack's delta is already a good step towards smaller and faster updates/update files, but I don't think that fits the purpose of this issue. Roaming data is expensive for some countries (a megabyte is $0.5 in Turkey for most carriers, for example).

I'd also say this could be implemented for downloading maps etc.

@Electrenator
Copy link
Author

I'd say the issue is not checking the updates, but downloading them.

Exactly! Mostly try to avoid unexpected data charges as an end user. I love auto updates but try to avoid them when traveling.
Would nice if downloading the updates could be manually delayed on a metered connection. Allowing someone to search out a place without network charges where they can update while still allowing them to play with counted scores.

Please give Velopack a try

Definitely am going to use it. Mostly trying to avoid hitting my monthly data limit or unexpected charges when randomly playing on the go.

Though an alternative might be to disable internet myself and fully play offline for those few plays out & about.

@JacksonChen666
Copy link

JacksonChen666 commented Sep 8, 2024

Also on auto-updates (related to metered connections): You can't cancel them. There is a cancel button which doesn't work. Neither right click. Seemingly the only option is to rapidly quit lazer (not tested, and it's pressing Command-Q or Alt-F4, 2 or 3 times. Also not sure if this should be a separate issue). (Deltas also don't seem to be working either, macOS and Linux from 2024.906.1 to 2024.906.2)

@smallketchup82
Copy link
Contributor

I'm still not sure what direction to head here. I can get that this might be a pressing issue but wonder how it should be fixed.

From my own thoughts:

  • We could add a toggle to settings to control auto updates, but that would be difficult since VelopackApp build & run logic is in osu.Desktop, where OsuConfigManager likely doesnt exist.
  • I can run through the environment variable logic and touch it up (its existence doesnt disable VelopackApp build & run logic which can be a problem)
  • Or we can try to detect this ourselves (if the user is on a metered network) and automatically disable auto updating.

I'd like some input from the core team before I proceed with this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants