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
339d707092
Fix errors with caching when cache is deleted ( #101 )
2025-08-04 15:02:32 +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
cc5339a389
Reqwest optionally load certificates from disk ( #94 )
...
* feat: Add get_client function
Signed-off-by: quexeky <git@quexeky.dev >
* chore: Converted all instances of reqwest::blocking::Client::new() and reqwest::Client::new() to DROP_CLIENT_SYNC and DROP_CLIENT_ASYNC respectively
Signed-off-by: quexeky <git@quexeky.dev >
* fix: use_remote_logic not using certificates
Signed-off-by: quexeky <git@quexeky.dev >
* fix: add log statement to certificates
* chore: add more logging
* fix: clippy
* refactor: into single fetch_certificates func
---------
Signed-off-by: quexeky <git@quexeky.dev >
Co-authored-by: quexeky <git@quexeky.dev >
2025-08-02 11:59:50 +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
739e6166c5
Cache-first object fetching ( #76 )
...
* fix: submillisecond cache hits
* fix: async object loading to hand control back to renderer
* fix: clippy
2025-07-27 12:04:50 +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
d19f9bbc31
Fix client running behind reverse proxy ( #69 )
...
* fix: reverse proxy 400 due to duplicate header
* fix: clippy
* bump version and update ci
2025-07-18 20:08:12 +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
c477dd4872
Fix windows build by removing linux extension import ( #64 )
2025-07-14 16:43:11 +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
2874b9776b
fix: Accidentally moved request when setting the header
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-06-25 09:17:06 +10:00
885fa42ecc
fix: Move Authorization header generation to download_game_chunk()
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-06-25 06:53:42 +10:00
b71081006e
refactor: Reorganise file structure
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-05-28 11:19:48 +10:00
790e8c2afe
feat: move to native_model to allow for database upgrades
2025-05-15 10:13:24 +10:00
65561abdab
fix: update object id paths for new server
2025-05-10 15:25:40 +10:00
ac6b034501
fix: error with game options for remote games
2025-05-01 12:26:41 +10:00
5ef20f7a57
chore(library): Update error type on update_game_configuration
2025-04-28 11:31:54 +10:00
0f717d51d0
feat: launch options
2025-04-27 21:07:39 +10:00
3e074abc0a
feat: improve errors and include installed games in library
2025-04-05 15:36:53 +11:00
1fdf569278
fix: offline game status, user widget and use binary-encoding
2025-04-04 11:07:10 +11:00
834f52d024
fix: macos and ui
2025-03-15 15:05:35 +11:00
1ce6be80db
fix(collections): Ensured that all internal collection commands use and send the correct data
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-03-11 20:35:43 +11:00
19c8fc24aa
chore(collections): Slightly fixed return value for collections
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-03-11 19:26:05 +11:00
4239215451
feat(collections): Added all internal collections commands
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-03-11 12:34:56 +11:00
9614af7f03
feat(collections): Added fetch_collections function
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-03-11 10:46:16 +11:00
cdcd69391d
Merge remote-tracking branch 'aden/develop' into develop
2025-02-18 14:45:09 +11:00
8520b255a3
style(library): Re-designed Library UI with new features
2025-02-15 16:41:32 +10:30
d9c4f7aa75
feat(library): Reactive library updating
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-02-12 10:00:45 +11:00
4c59c5d6c1
feat(cache): Implemented caching for game metadata
2025-02-12 10:00:45 +11:00
9977107374
fix(cache): Bug where games would not remove themselves from the list of installed applications when being uninstalled
2025-02-12 10:00:45 +11:00
2690c3019d
chore: Various formatting
2025-02-12 10:00:45 +11:00
2a1a7326d0
feat(cache): Added forceOffline in settings and caching games & library
2025-02-12 10:00:45 +11:00
bb23e88ead
chore: Swapped over to using a macro with an offline mode
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-02-12 10:00:45 +11:00
810fbdfe49
chore: Progress on caching
2025-02-12 10:00:45 +11:00
6ad383799d
feat(games): Added multi-argument game launch and setup support
2025-01-20 20:03:44 +11:00
e0ea8c9a57
chore: Apply stashed changes
2025-01-20 18:22:24 +11:00
4fc0855ba1
fix(game downloads): Added error handling for chunk request errors
2025-01-20 18:13:25 +11:00
f50818697f
fix: Adding usize to completed_contexts_lock instead of &usize
2025-01-20 17:39:05 +11:00
39f2ebd2d6
fix(download agent): fixed completed indexes
2025-01-20 17:29:33 +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
3ca87fc45b
feat(downloads): re-enable checksums
2025-01-19 22:22:55 +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
b99ff67e69
chore(logging): Imported appropriate logging macros
2025-01-19 18:37:21 +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