Commit Graph
100 Commits
Author SHA1 Message Date
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