Commit Graph

50 Commits

Author SHA1 Message Date
DecDuck f0112ec027 Process manager fixes (#71)
* fix: launching on linux

* feat: #70

* feat: add dummy store page

* feat: add store redir and refresh button to library

* feat: cache first object fetching

* feat: Remove let_chains feature and update to Rust 2024

Signed-off-by: quexeky <git@quexeky.dev>

* feat: Check for if process was manually stopped

Signed-off-by: quexeky <git@quexeky.dev>

* fix: use bitcode instead of serde

* chore: remove logs

* fix: clippy

* fix: clippy 2

* fix: swap to stop icon

---------

Signed-off-by: quexeky <git@quexeky.dev>
Co-authored-by: quexeky <git@quexeky.dev>
2025-07-25 10:44:40 +10:00
DecDuck d74e7a26eb Clippy CI/CD (#67)
* feat: add clippy ci

* fix: clippy errors

* fix: ci/cd

* fix: update ci packages

* fix: add gtk3 to ci deps

* fix: add webkit to ci deps

* fix: ci deps and perms

* fix: add clippy settings to lib.rs
2025-07-18 17:36:04 +10:00
DecDuck 1f83845522 Panic hook to generate crash dumps #65 (#66) 2025-07-18 16:35:02 +10:00
DecDuck 88f8742143 Download fixes (#63)
* refactor: Rename StoredManifest to DropData

Signed-off-by: quexeky <git@quexeky.dev>

* fix: Downloads when resuming would truncate files which had not been finished

Signed-off-by: quexeky <git@quexeky.dev>

* chore: Didn't import debug macro

Signed-off-by: quexeky <git@quexeky.dev>

* fix: Download chunks with wrong indexes

Migrated to using checksums as indexes instead

Signed-off-by: quexeky <git@quexeky.dev>

* feat: Resume download button

Also added DBWrite and DBRead structs to make database management easier

Signed-off-by: quexeky <git@quexeky.dev>

* feat: Download resuming

Signed-off-by: quexeky <git@quexeky.dev>

* feat: Resume button and PartiallyInstalled status

Signed-off-by: quexeky <git@quexeky.dev>

* feat: Download validation

Signed-off-by: quexeky <git@quexeky.dev>

* chore: Ran cargo fix & cargo fmt

Signed-off-by: quexeky <git@quexeky.dev>

* fix: download validation, installs, etc

* chore: version bump

---------

Signed-off-by: quexeky <git@quexeky.dev>
Co-authored-by: quexeky <git@quexeky.dev>
2025-07-14 16:31:06 +10:00
quexeky 6630ccd5e0 chore: Initial path normalisation & parsing with backup generation
Signed-off-by: quexeky <git@quexeky.dev>
2025-05-28 20:47:43 +10:00
quexeky 17b3bb0732 refactor: Reorganise file structure
Signed-off-by: quexeky <git@quexeky.dev>
2025-05-28 11:19:48 +10:00
DecDuck e9a4fe2105 inprogress: compat 2025-05-28 09:07:09 +10:00
DecDuck 179754a170 feat: move to native_model to allow for database upgrades 2025-05-15 10:13:24 +10:00
DecDuck be915c9de9 fix: windows builds 2025-05-10 16:41:37 +10:00
DecDuck 21bcb94527 fix: windows launching 2025-05-10 15:38:20 +10:00
DecDuck e83d81f734 fix: update object id paths for new server 2025-05-10 15:25:40 +10:00
DecDuck 78ffc9e020 fix: error with game options for remote games 2025-05-01 12:26:41 +10:00
DecDuck 7ee5778953 feat: launch options 2025-04-27 21:07:39 +10:00
DecDuck a013282ac5 feat: add backend for template launching 2025-04-07 13:52:52 +10:00
DecDuck 0f4ce9b6f3 feat: switch to shell-based command launching
note: needs error handling
2025-04-02 20:04:14 +11:00
DecDuck cac815224d fix: macos and ui 2025-03-15 15:05:35 +11:00
quexeky 605c904c47 feat(cache): Implemented caching for game metadata 2025-02-12 10:00:45 +11:00
quexeky 9698ab977e fix: Games not launching due to string semantics 2025-01-20 23:12:57 +11:00
quexeky 48cbd1a5ed feat(games): Added multi-argument game launch and setup support 2025-01-20 20:03:44 +11:00
quexeky 9831d96300 chore: Apply stashed changes 2025-01-20 18:22:24 +11:00
quexeky fdccb10650 chore: Ran cargo clippy & cargo fmt 2025-01-20 08:55:19 +11:00
quexeky c2d8966c1a feat(database): Ensure that any database issues are resolved by standalone functions
Functions are as follows:
- save_db()
- borrow_db_checked()
- borrow_db_mut_checked()
2025-01-20 08:24:06 +11:00
quexeky 28d4598cb3 refactor(logging): Using more appropriate logging statements
Still probably needs some work, but that's enough for now
2025-01-19 18:30:16 +11:00
quexeky f1bba5cc74 Implement better error system and segregate errors and commands (#23)
* chore: Progress on amend_settings command

Signed-off-by: quexeky <git@quexeky.dev>

* chore(errors): Progress on better error handling with segragation of files

* chore: Progress on amend_settings command

Signed-off-by: quexeky <git@quexeky.dev>

* chore(commands): Separated commands under each subdirectory into respective commands.rs files

Signed-off-by: quexeky <git@quexeky.dev>

* chore(errors): Almost all errors and commands have been segregated

* chore(errors): Added drop server error

Signed-off-by: quexeky <git@quexeky.dev>

* feat(core): Update to using nightly compiler

Signed-off-by: quexeky <git@quexeky.dev>

* chore(errors): More progress on error handling

Signed-off-by: quexeky <git@quexeky.dev>

* chore(errors): Implementing Try and FromResidual for UserValue

Signed-off-by: quexeky <git@quexeky.dev>

* refactor(errors): Segregated errors and commands from code, and made commands return UserValue struct

Signed-off-by: quexeky <git@quexeky.dev>

* fix(errors): Added missing files

* chore(errors): Convert match statement to map_err

* feat(settings): Implemented settings editing from UI

* feat(errors): Clarified return values from retry_connect command

* chore(errors): Moved autostart commands to autostart.rs

* chore(process manager): Converted launch_process function for games to use game_id

---------

Signed-off-by: quexeky <git@quexeky.dev>
2025-01-13 21:44:57 +11:00
quexeky c16b1df264 chore: More refining info!() statements
Signed-off-by: quexeky <git@quexeky.dev>
2025-01-06 20:46:08 +11:00
quexeky c6e71fa3a8 chore: General cleanup
- Changed some info!() statements to debug!() and warn!()
- Removed most Turbofish syntax cases
- Removed InvalidCodeError and replaced it with InvalidResponse

Signed-off-by: quexeky <git@quexeky.dev>
2025-01-06 20:04:34 +11:00
quexeky 9dde86bd82 chore: More cleanup after cargo clippy
Also added some type efficiency improvements (using references where possible and added SliceDeque crate)

Signed-off-by: quexeky <git@quexeky.dev>
2025-01-05 21:08:27 +11:00
quexeky 35047f9885 refactor: Ran cargo clippy & fmt
Signed-off-by: quexeky <git@quexeky.dev>
2025-01-05 20:29:15 +11:00
quexeky b0787e8f44 refactor(downloads): Moved all files relevant to game downloads to their own directory
Signed-off-by: quexeky <git@quexeky.dev>
2025-01-05 19:04:47 +11:00
quexeky 3f229687f3 feat(download manager): Added generic download manager
Signed-off-by: quexeky <git@quexeky.dev>
2025-01-05 19:04:07 +11:00
quexeky a0cedf831b refactor(download manager): Fully separate & generic download manager
Signed-off-by: quexeky <git@quexeky.dev>
2025-01-05 19:02:19 +11:00
quexeky a4a4c3e996 chore(download manager): Renamed most instances of "game" outside of actual game downloads
Signed-off-by: quexeky <git@quexeky.dev>
2025-01-05 18:59:08 +11:00
DecDuck 65a7150bd3 feat(process): shared child with stop command 2024-12-30 15:37:29 +11:00
quexeky f737c73213 fix(deep links): Re-enabled deep links
Signed-off-by: quexeky <git@quexeky.dev>
2024-12-30 14:18:42 +11:00
quexeky 6ab05b6c38 feat(process manager): Game kill tauri command
Signed-off-by: quexeky <git@quexeky.dev>
2024-12-30 13:50:26 +11:00
quexeky 811fcb1ad3 feat(Compat): Implemented spawning with umu (using umu-wrapper-lib)
Signed-off-by: quexeky <git@quexeky.dev>
2024-12-30 13:12:27 +11:00
DecDuck 9372da5789 fix(process): fix poorly designed parsing for executables with spaces 2024-12-28 10:13:26 +11:00
quexeky 79cc299b2e chore: Ran cargo clippy
Signed-off-by: quexeky <git@quexeky.dev>
2024-12-27 11:58:37 +11:00
DecDuck 59cc48b308 feat(process): better process management, including running state 2024-12-26 17:19:19 +11:00
DecDuck 320fc99a84 feat(errors): better download manager errors + modal 2024-12-26 12:56:54 +11:00
DecDuck 3164ec7106 feat(game): game uninstalling & partial compat 2024-12-26 11:59:26 +11:00
DecDuck 48e865f40b chore(process manager): refactor for generic way to implement cross
platform launchers
2024-12-25 23:05:10 +11:00
DecDuck d16f99fbc3 fix(process): absolute executable invoke 2024-12-24 18:30:38 +11:00
DecDuck ae877db672 chore(stored manifest): swap file name and to binary encoding 2024-12-24 12:52:40 +11:00
DecDuck ef41dcd32d fix(process log): use unix timestamp to avoid invalid characters in
filename
2024-12-24 12:32:58 +11:00
quexeky eaaec8d815 chore(downloads): Made logging systems match
Signed-off-by: quexeky <git@quexeky.dev>
2024-12-24 12:22:45 +11:00
DecDuck 340ddcdf75 feat(process): add pre-launch log to file 2024-12-24 11:59:59 +11:00
DecDuck ebd49b33f8 refactor(game status): transient vs synced state now defined 2024-12-23 20:44:02 +11:00
DecDuck 9bbf463774 feat(process manager): launch games with log files 2024-12-15 17:29:21 +11:00
DecDuck 66bb664d8a feat(download manager): only allow downloads for supported platforms 2024-12-15 16:15:51 +11:00