17c375bcab
UI & error fixes & QoL ( #116 )
...
* fix: use Arc<Error> instead of just ErrorKind
* fix: game status updates for UI
* fix: missing game version on push_game_update calls
* feat: wait if library load takes <300ms
* fix: clippy
2025-08-15 22:56:49 +10:00
16365713cf
v2 download API and fixes ( #112 )
...
* fix: potential download fixes
* fix: show installed games not on remote
* fix: more download_logic error handling
* partial: move to async
* feat: interactivity improvements
* feat: v2 download API
* fix: download seek offsets
* fix: clippy
* fix: apply clippy suggestion
* fix: performance improvements starting up download
* fix: finished bucket file
* fix: ui tweaks and fixes
* fix: revert version to 0.3.2
* fix: clippy
2025-08-09 15:50:21 +10:00
75a4b73ee1
QoL Download Manager ( #108 )
...
* feat: retry specific download errors
* fix: potential fix for cmd window on Windows
* feat: add disk space check for download
* fix: update game fix formatting
* fix: clippy
2025-08-04 16:30:45 +10:00
dbe8c8df4d
Process manager templating & game importing ( #96 )
...
* feat: add new template options, asahi support, and refactoring
* feat: install dir scanning, validation fixes, progress fixes, download manager refactor
This kind of ballooned out of scope, but I implemented some much
needed fixes for the download manager.
First off, I cleanup the Downloadable trait, there was some
duplication of function.
Second, I refactored the "validate" into the GameDownloadAgent,
which calls a 'validate_chunk_logic' yada, same structure as
downloading.
Third, I fixed the progress and validation issues.
Fourth, I added game scanning
* feat: out of box support for Asahi Linux
* fix: clippy
* fix: don't break database
2025-08-02 20:17:27 +10:00
574782f445
chore: Run clippy fix pedantic
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-08-01 08:42:45 +10:00
b5a8543194
Fix for redownload invalid chunks ( #84 )
...
* feat: Redownloading invalid chunks
Signed-off-by: quexeky <git@quexeky.dev >
* fix: clippy
* fix: clippy x2
---------
Signed-off-by: quexeky <git@quexeky.dev >
Co-authored-by: quexeky <git@quexeky.dev >
2025-07-31 18:25:38 +10:00
46e1f16cdd
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
f9fdf151ea
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
f560a62c8f
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
b71081006e
refactor: Reorganise file structure
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-05-28 11:19:48 +10:00
c9e1ed78eb
refactor: Delete downloadable_metadata.rs
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-05-28 09:18:33 +10:00
790e8c2afe
feat: move to native_model to allow for database upgrades
2025-05-15 10:13:24 +10:00
2a1a7326d0
feat(cache): Added forceOffline in settings and caching games & library
2025-02-12 10:00:45 +11:00
501145c5d9
fix(downloads): Fix rearranging download queue throwing error
2025-02-12 10:00:45 +11:00
89ea34c94e
fix: assorted fixes
2025-01-20 16:46:57 +11:00
92729701c3
chore: Ran cargo clippy & cargo fmt
2025-01-20 08:55:19 +11:00
7d4651db69
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
21204dee69
fix(download manager): don't crash download manager if multiple errors
...
come in
2025-01-19 22:22:04 +11:00
cfc9d13cad
style(logging): Ensured that all logs start with lowercase capital and have no trailing punctuation
2025-01-19 20:36:38 +11:00
f183a9d1a2
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
170fde5e23
feat(errors): Using SerializeDisplay for better error management with Result
2025-01-19 17:17:51 +11:00
fd30b3e402
feat(progress): Added rolling progress window
...
Still needs tweaks on specific timings, as well as cleanup
2025-01-19 09:48:04 +11:00
cf19477d4d
chore: Progress on rolling progress window
2025-01-19 08:41:20 +11:00
5f5cbd07c6
chore(downloads): Progress on terminator
2025-01-16 18:57:40 +11:00
0381b8b8cb
chore(exit): Progress on cleanup and exit
2025-01-16 18:57:40 +11:00
9369ff14b8
chore(progress): Added rolling_progress_updates.rs
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-16 17:23:53 +11:00
604d5b5884
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
5ea47d733b
feat(settings): Added max_download_threads setting and separated settings from db
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-06 07:36:35 +11:00
2822b7a593
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
82804ebc67
refactor: Ran cargo clippy & fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 20:29:15 +11:00
9e82a0b3c3
fix(game downloads): Accidentally was attempting to lock onto something that was already in scope
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:05:00 +11:00
06d1e9ed95
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
a56ee25581
fix(uninstalling): Re-enabled uninstalling apps
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:04:21 +11:00
6159319172
feat(download manager): Added generic download manager
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:04:07 +11:00
8be1dd435c
refactor(download manager): Removed Arc requirement for DownloadableMetadata
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:02:19 +11:00
cac612b176
refactor(download manager): Fully separate & generic download manager
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:02:19 +11:00
6568faaf4f
refactor(download manager): Removed all references to anything outside of the DownloadManager
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:47 +11:00
ea70ec9453
chore(download manager): Added manage_go_signal command
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:47 +11:00
f64782e5d4
chore(download manager): Added manage_queue_signal
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:47 +11:00
a2e63aa2c8
chore(tool manager): Added ToolDownloadAgent
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:18 +11:00
78149bbb3c
Revert "refactor(download manager): Moved manifest and stored_manifest to download_manager"
...
This reverts commit 8db2393346 .
2025-01-05 19:00:18 +11:00
a846eed306
refactor(download manager): Moved manifest and stored_manifest to download_manager
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:18 +11:00
1a89135342
chore(download manager): Ensure that Downloadable is also send and sync
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:18 +11:00
0a2ac25b1c
chore(download manager): Some easy cleanup of the download manager
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:18 +11:00
aed58e49bc
refactor(download manager): Renamed GameDonwloadError to ApplicationDownloadError and moved
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:18 +11:00
881fcc6abe
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
b4d70a35b3
refactor(download manager): Added Downloadable trait and replaced references to GameDownloadAgent
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 18:52:00 +11:00
b6c64e56e5
refactor(download manager): Moved download manager to separate directory
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 18:52:00 +11:00