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
quexeky
45e2efb18f
Game downloads from the client are working (multithreaded) by parsing in gameID, GameVersion, and maxThreads from FE ( #1 )
2024-10-24 12:26:40 +11:00
quexeky
90e41c6522
Clippy changes
2024-10-24 09:41:04 +11:00
quexeky
2e0b37ae19
Just debugging tauri's damn Sync command features
2024-10-24 09:38:02 +11:00
quexeky
bcfce8588e
Manifests are now being parsed successfully
2024-10-21 22:37:42 +11:00
quexeky
7933b0aa89
Merge remote-tracking branch 'origin/downloads' into downloads
2024-10-21 22:02:26 +11:00
quexeky
6c0cf81935
Debugging & starting work on parsing manifest
2024-10-21 21:23:08 +11:00
quexeky
749b650b15
Validated that loading data works
2024-10-20 20:45:02 +11:00
quexeky
eb37b2464a
SLowly integrating game_download into the FE. Started with using the manifest minimal example in the server ( #1 )
2024-10-19 22:17:43 +11:00
quexeky
495bebe4a3
Theoretically adding queue support and optimistic manifest downloading ( #1 ). Needs tests when actual functions are implemented
2024-10-19 19:32:05 +11:00
quexeky
34ecc85d3c
Merge remote-tracking branch 'origin/downloads' into downloads
2024-10-19 17:36:28 +11:00
quexeky
34d2b978e5
More fleshing out on how specifically game downloads will work ( #1 )
2024-10-19 17:36:09 +11:00
quexeky
38eee872fe
More fleshing out on how specifically game downloads will work
2024-10-19 17:35:26 +11:00
quexeky
f5b5d164ab
Included in AppStatus (Also trying to link to Issue #1 )
2024-10-19 14:54:29 +11:00
quexeky
deae3875f7
Update on GameDownload
2024-10-18 22:35:03 +11:00
quexeky
f8b96d06e7
Progress checker works
2024-10-18 20:42:26 +11:00