aboutsummaryrefslogtreecommitdiff
path: root/src/frontend_common/update_checker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [frontend] Built-in auto updater (#3845)crueter2026-04-281-122/+21
| | | | | | | | | | | | | | | | | | | | | | | | | Checks latest release and opens a dialog containing the changelog, and allow the user to select a specific build to download. After downloading, it prompts the user to open it. On Windows, this just opens up the zip in File Explorer. In the future setup files will be available. On macOS this opens up the DMG in Finder so the user can drag it to the Applications folder. Android retains the auto-update functionality from before, but updated to the new scheme. Body/View on Forgejo are not implemented, that should be in a future PR. Additionally, moved some common httplib incantations to `Common::Net`. This will serve as the common network accessor and JSON parser from here on out. TODO: - [x] android :( - [x] Search for builds based on keywords, with weights towards certain builds (e.g. macOS will search for dmg then tar.gz, windows msvc then mingw/exe then zip, etc.) - [x] remove linux leftovers - [x] don't allow asset selection on platforms w/o assets - [x] nightly changelog should be in the real FUTURE IMPLEMENTATION: - [ ] Body/View on Forgejo for Android - [ ] Setup files for Windows (Eden/nightly are separate) -- maybe portable/setup selector? - [ ] Something else I'm forgetting Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3845
* [frontend] Change update checker to use new endpoints (#3879)crueter2026-04-241-44/+9
| | | | | | | | | | | | | | | | | | | | Related: [RFC3870](https://git.eden-emu.dev/eden-emu/eden/issues/3870) Nightly and stable releases are now served through `nightly.eden-emu.dev` and `stable.eden-emu.dev`, respectively. These are stored using Backblaze, and served and cached through the Cloudflare CDN. Ideally this will reduce costs, though I'll have to wait for my first invoice to be certain. These will serve as the new download locations going forward. Since we have full control over this API, we can make any adjustments we want as needed. For now, all it does is provide `tag_name`, `name`, and `body`, the latter of which will be used for the upcoming updater PR. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3879 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [frontend] Force https on bundled OpenSSL (#3843)crueter2026-04-081-3/+1
| | | | | | | | | | For some unknown reason, bundled OpenSSL likes the `https` scheme, whereas system OpenSSL (on Gentoo at least) does not... even when the bundled OpenSSL is built exactly like the Gentoo one, certificate and all... Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3843
* [cmake, deps] conjure common/httplib.h and remove global def for httplib ↵lizzie2026-04-061-1/+1
| | | | | | | | | | | | | | | | macros (#3800) httplib stuff done by @crueter on #3797 + some extra stuff since the warning push/pop should be in header i fear :) Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3800 Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [frontend] only set https on Android (#3733)crueter2026-03-151-0/+7
| | | | | | | Otherwise it breaks the shit out of every other platform. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3733
* [common/logging] Simplify logging logic and fix issues when logging before ↵lizzie2026-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | system is created (#3688) - our logging code was bigger than spdlog itself, why???? just keep it simple - fix issues when logging before logging system is even started - removes the "initialized logging twice" issue - removes uneeded indirection in file logging - uses direct formatting instead of jumping hoopla-around the fmt::format() ressult - code duplication and dead code removal as usual I did explore dup2() but I think it's not worth the hassle I did try `fwopen()` but it's better if things are just kept as-is. there is a lot of noise because I removed a bunch of redundant files on logging and just put everything in one file now normally this wouldn't be a good idea, however consider: the complexity of logging; it's less than 500 lines... does it really need a whole subsystem?!?!?! ITS JUST LOGGING Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3688 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: DraVee <chimera@dravee.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [cmake, frontend] Fix update checker and move to self-hosted Git (#3558)crueter2026-02-151-4/+4
| | | | | | | | | httplib doesn't like when you include the protocol, as it would seem Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3558 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Lizzie <lizzie@eden-emu.dev>
* [frontend] fix nightly update checker again (#3446)crueter2026-02-011-2/+1
| | | | | | | I :heart: std::optional Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3446
* [frontend] Fix nightly update checker (#3444)crueter2026-02-011-2/+44
| | | | | | | Splitting Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3444
* [frontend] Fix build issues with update checker (#3433)crueter2026-01-311-2/+1
| | | | | Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3433
* [cmake, frontend] Add nightly build modifier (#3431)crueter2026-01-311-4/+9
| | | | | | | | | | The `NIGHTLY_BUILD` option changes the app name to "Eden Nightly" and changes the auto-update URL to use our new Nightly repository. This needs added to Android, but I can't right now as I have to leave. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3431
* [qt] fix Discord RPC by using httplib (#2825)crueter2025-10-251-4/+0
| | | | | | | | | | | | | | Commit `a079a93645a7219ada1bef84f476eb8269614f5b` inexplicably replaced the httplib implementation of discord_impl.cpp with an inferior Qt::Network version. This causes a lot of issues especially w.r.t CA certs which are handled differently with bundled OpenSSL. Thus, this just adds back the httplib implementation and makes discord RPC work again. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2825 Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [frontend, android] Move update_checker to frontend_common and add Android ↵Inix2025-10-211-0/+139
support (#2687) I still have to add a setting to disable the auto update checking on a later PR, firstly lets make sure i didn't accidentally break anything with CMAKE. or QT. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2687 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: Inix <Nixy01@proton.me> Co-committed-by: Inix <Nixy01@proton.me>