quexeky
074a6d00bb
chore: Moved generateGameMeta.ts to composables, using PathBuf instead of String for install_dirs
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-06 09:22:18 +11:00
quexeky
6a33494d68
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
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
ba90d90a86
fix(db): Added Settings component
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:44:18 +11:00
quexeky
c6549a8cda
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
quexeky
2e63daadd7
perf(game downloads): Moved some variable declarations outside of the spawned download thread
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:05:00 +11:00
quexeky
00e64c13c5
chore(README): Updated README.md
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:04:47 +11:00
quexeky
8a122fb8f9
feat(database): Added database corruption dialog
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:04:47 +11:00
quexeky
91ba75b21b
feat(recovery): Added database recovery
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:04:47 +11:00
quexeky
42f8730473
fix(kill game): Re-enabled killing games
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:04:47 +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
bf1e6b2fa7
fix(uninstalling): Re-enabled uninstalling apps
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:04:21 +11:00
quexeky
7764a0ed4c
fix(game launcher): Renamed game_id to id
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:04:07 +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
febfb99e9d
refactor(download manager): Removed Arc requirement for DownloadableMetadata
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:02:19 +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
3d32501d81
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
quexeky
945d607ed2
chore(download manager): Added manage_go_signal command
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:47 +11:00
quexeky
ea8ede6f53
chore(download manager): Added manage_queue_signal
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:47 +11:00
quexeky
e147088375
chore(tool manager): Added ToolDownloadAgent
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:18 +11:00
quexeky
01383b514b
Revert "refactor(download manager): Moved manifest and stored_manifest to download_manager"
...
This reverts commit 8db239334688912f2be30023f4220c3e149df7d6.
2025-01-05 19:00:18 +11:00
quexeky
ece79e4306
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
quexeky
4c37ab03ed
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
quexeky
bdc7ac76b5
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
quexeky
8d0b1cdc43
refactor(download manager): Renamed GameDonwloadError to ApplicationDownloadError and moved
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 19:00:18 +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
quexeky
88bece5c29
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
quexeky
26d0c1732a
refactor(download manager): Moved download manager to separate directory
...
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 18:52:00 +11:00
quexeky
20f726632e
chore(tool manager): Progress on adding tools
...
Going to try changing around the download manager to take a generic trait rather than specifically for game downloads
Signed-off-by: quexeky <git@quexeky.dev >
2025-01-05 18:49:32 +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
quexeky
79cc299b2e
chore: Ran cargo clippy
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-12-27 11:58:37 +11:00
quexeky
7b410c4ded
chore(changelog): Updated changelog
2024-12-25 11:41:31 +11:00
quexeky
30995a98bd
feat(downloads): Added manifest.json utility for persistent download progress
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-12-24 12:22:45 +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
quexeky
b9960c1733
style(downloads): Abstracted queue system
...
TODO: Still need to cleanup the rest of the legacy code which used to use the queue system
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-23 18:18:03 +11:00
quexeky
e074011ca8
feat(downloads): Download cancelling
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-21 16:46:05 +11:00
quexeky
5aff5c1a21
chore(downloads): progress on more precise download control
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-19 15:27:35 +11:00
quexeky
c18b964b3e
feat: added file-based logging
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-19 13:23:42 +11:00
quexeky
639a1f5270
style(downloads): Made all errors type-based
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-18 13:21:20 +11:00
quexeky
2f245e56b6
chore(downloads): Ran cargo clippy & cargo fmt
...
Side note, I'm going to start using chore to declare these rather than refactor because I don't think that it actually qualifies
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-16 17:05:24 +11:00
quexeky
b24e106420
feat(downloads): Added AgentInterfaceData to get information about all downloads in queue
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-16 17:03:37 +11:00
quexeky
18c7a9b2bc
docs(download manager): Added description on how the DownloadManager works
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-13 22:17:30 +11:00
quexeky
6428611689
style(downloads): Fixing some references to "id" vs "game_id"
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-13 21:55:28 +11:00
quexeky
f508391b6d
refactor(downloads): Ran cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-13 21:28:24 +11:00
quexeky
cee86b43ed
refactor(downloads): Ran cargo clippy & moved DownloadManagerInterface
...
Created file "download_manager_interface.rs" to contain the DownloadManagerInterface
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-13 21:05:25 +11:00
quexeky
928b60483a
feat(downloads): Added Download Manager
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-13 20:38:00 +11:00
quexeky
aa17db3d42
refactor(downloads): Reordered DownloadThreadControlFlag to agree with From<bool>
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-12 09:03:36 +11:00
quexeky
f8ce05b9c2
fix(downloads): Chunk counting logic error
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-12 09:02:58 +11:00
quexeky
92ff527d50
refactor(downloads): ran cargo clippy & cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 18:27:39 +11:00
quexeky
e601bbc26b
refactor: Removed unnecessary dependencies
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 18:25:26 +11:00
quexeky
281f7844fd
feat(downloads): Separated chunk updates into individual counters
...
Also added a From<bool> for DownloadThreadControlFlag because I accidentally was calling the wrong one before and had meant to add it anyway
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 18:07:45 +11:00
quexeky
97f1db9aa1
feat(downloads): Added DownloadThreadControl struct
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 10:05:49 +11:00
quexeky
628898ec23
feat(downloads): Convert DownloadThreadControlFlag to AtomicBool
...
Also ran cargo fmt & cargo clipy
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 09:39:25 +11:00
quexeky
1443d7f605
refactor: Created file settings.rs
...
Add constant values here to have a central management point for any relevant constants
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 09:11:46 +11:00
quexeky
d4c3bb08a1
refactor(downloads): Convert DOWNLOAD_MAX_THREADS to const
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 07:58:49 +11:00
quexeky
74b8ed39d1
refactor: Ran cargo clippy & cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-10 13:21:37 +11:00
quexeky
3258a3d709
feat(library): Added option to change root directory
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-10 13:18:28 +11:00
quexeky
2f506a2068
refactor(database): Convert DATA_ROOT_DIR to Mutex
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 22:44:44 +11:00
quexeky
4aadb77e87
feat(downloads): Added function to take and set any game state
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 21:26:44 +11:00
quexeky
f80bbe1b0e
feat(downloads): Generic function to set download state
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 20:15:04 +11:00
quexeky
e7169dd1b1
style(downloads): Added GAME_PAUSE_CHECK_INTERVAL value
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 20:00:05 +11:00
quexeky
e288f2472b
refactor: Cleaning up downloads playing and pausing
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 19:57:53 +11:00
quexeky
da1f39c061
feat(downloads): Pausing and resuming game downloads
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 19:55:36 +11:00
quexeky
f6f8186d5a
chore(p2p): Starting p2p progress
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-06 16:40:19 +11:00
quexeky
ae68506268
refactor(downloads): Scoping changes and removing qualifications
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-06 16:39:30 +11:00
quexeky
eaca334f0f
docs(README): Updated contributing link
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-05 20:47:20 +11:00
quexeky
afab522b1d
Removing more unnecessary imports
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 19:22:30 +11:00
quexeky
855effeff0
Fixed all merge issues
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 19:05:27 +11:00
quexeky
1ec2370477
Merge branch 'downloads' (again)
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 18:57:54 +11:00
quexeky
56ce939788
Ran cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 18:50:25 +11:00
quexeky
7547376b70
Update README.md
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 18:49:55 +11:00
quexeky
0a65969209
Updated README.md
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 18:48:00 +11:00
quexeky
817ba940ca
Removed unnecessary dependencies
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 18:47:50 +11:00
quexeky
6dfc2d7393
Allowing some dead code features because they are there for future use (potentially)
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 18:03:18 +11:00
quexeky
edc64ba6d2
Ran cargo clippy and cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 17:48:44 +11:00
quexeky
63b7defa6f
Converted to using BufWriters instead of streaming everything at once
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 17:45:46 +11:00
quexeky
afd07bb379
Functioning download progress updates
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 17:11:37 +11:00
quexeky
a1fed18d00
Removed gxhash and ran cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-01 07:51:56 +11:00
quexeky
42f381865d
Clippy cleanup
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-01 07:49:42 +11:00
quexeky
b4a5e501a8
Removed unpacker.rs
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-10-31 23:06:14 +11:00
quexeky
ca2398ad8d
Lesson learned: Wrappers are the bane of my existence. Also here's the download cancelling logic.
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-10-31 20:56:10 +11:00
quexeky
1daba5334a
Adding checks for the stopper callback
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-10-29 22:15:44 +11:00
quexeky
a45f9c51aa
Some progress on thread terminations
2024-10-28 22:06:44 +11:00
quexeky
07cd0b1b6f
Removed utils.rs
2024-10-28 22:04:50 +11:00
quexeky
6735f929e8
Queue is running game downloads sequentially now
2024-10-28 20:57:42 +11:00
quexeky
7bfaf99aaf
I think that download queuing is working
2024-10-28 19:23:41 +11:00
quexeky
a3cac56c4f
More debugging because apparently checksums are the bane of my existence. But it works and I was just an idiot
2024-10-26 23:23:43 +11:00
quexeky
dcdb3c731c
Converted to md5
2024-10-26 22:22:10 +11:00
quexeky
397b77881a
Debugging line
2024-10-26 16:47:27 +11:00
quexeky
615f9f00d6
More progress on checksums
2024-10-26 15:18:34 +11:00
quexeky
978be3e9dd
Merge branch 'main' into downloads
2024-10-26 10:58:12 +11:00
quexeky
6d5dc457b2
Mostly finished with checksums. Just merging main in at the same time
2024-10-26 10:58:04 +11:00
quexeky
d68c5f632e
Encoding game IDs and versions
2024-10-25 17:55:45 +11:00
quexeky
638fbdfb58
copy direct to disk
2024-10-25 14:56:49 +11:00
quexeky
839dce184a
Removed debugging statements
2024-10-24 20:39:03 +11:00
quexeky
2b8a6ccdd8
Downloads should be fixed now
2024-10-24 19:38:58 +11:00
quexeky
3cd70367ac
I think that downloads are working. Need to test and set decent file locations now
2024-10-24 17:18:09 +11:00