Commit Graph
93 Commits
Author SHA1 Message Date
quexeky 022330bcb6 chore(changelog): Updated changelog 2024-12-25 11:41:31 +11:00
quexeky d9d0122c3d 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 0a1dddf7ef chore(downloads): Made logging systems match
Signed-off-by: quexeky <git@quexeky.dev>
2024-12-24 12:22:45 +11:00
quexeky 76b0975bcc 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 450bca9c5b feat(downloads): Download cancelling
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-21 16:46:05 +11:00
quexeky 18b914918c chore(downloads): progress on more precise download control
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-19 15:27:35 +11:00
quexeky 2d4a7e8f9c feat: added file-based logging
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-19 13:23:42 +11:00
quexeky ec2f4148e8 style(downloads): Made all errors type-based
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-18 13:21:20 +11:00
quexeky bd3deacf38 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 63c3cc1096 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 f029cbf0b3 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 27e5a8e31c 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 b8cf44c0b2 refactor(downloads): Ran cargo fmt
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-13 21:28:24 +11:00
quexeky 075d6ecf3c 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 a1ada07690 feat(downloads): Added Download Manager
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-13 20:38:00 +11:00
quexeky ab606e8e33 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 5ba151f813 fix(downloads): Chunk counting logic error
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-12 09:02:58 +11:00
quexeky 5e3d26b3ca refactor(downloads): ran cargo clippy & cargo fmt
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 18:27:39 +11:00
quexeky 17244496ec refactor: Removed unnecessary dependencies
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 18:25:26 +11:00
quexeky 7d3c6011df 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 5e05e6873d feat(downloads): Added DownloadThreadControl struct
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 10:05:49 +11:00
quexeky f25bfed336 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 b47b7ea935 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 4fc13a1c8f refactor(downloads): Convert DOWNLOAD_MAX_THREADS to const
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 07:58:49 +11:00
quexeky 4983b25702 refactor: Ran cargo clippy & cargo fmt
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-10 13:21:37 +11:00
quexeky 1aa52c0a21 feat(library): Added option to change root directory
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-10 13:18:28 +11:00
quexeky 00b7179743 refactor(database): Convert DATA_ROOT_DIR to Mutex
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 22:44:44 +11:00
quexeky 6bc64822df 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 f10d92d623 feat(downloads): Generic function to set download state
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 20:15:04 +11:00
quexeky 8204795ba6 style(downloads): Added GAME_PAUSE_CHECK_INTERVAL value
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 20:00:05 +11:00
quexeky 2c7b5fb47d refactor: Cleaning up downloads playing and pausing
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 19:57:53 +11:00
quexeky 55b7921ee6 feat(downloads): Pausing and resuming game downloads
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 19:55:36 +11:00
quexeky 97bb1fac68 chore(p2p): Starting p2p progress
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-06 16:40:19 +11:00
quexeky 046ba643e2 refactor(downloads): Scoping changes and removing qualifications
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-06 16:39:30 +11:00
quexeky 2aa5b9cddd docs(README): Updated contributing link
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-05 20:47:20 +11:00
quexeky 0c6c4701fd Removing more unnecessary imports
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 19:22:30 +11:00
quexeky c5b6ccf992 Fixed all merge issues
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 19:05:27 +11:00
quexeky c748aec1c1 Merge branch 'downloads' (again)
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 18:57:54 +11:00
quexeky 7213416421 Ran cargo fmt
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 18:50:25 +11:00
quexeky 813f0c09fa Update README.md
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 18:49:55 +11:00
quexeky 251e880507 Updated README.md
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 18:48:00 +11:00
quexeky 49184af96b Removed unnecessary dependencies
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 18:47:50 +11:00
quexeky 191e62c500 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 201c8a4e7b Ran cargo clippy and cargo fmt
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 17:48:44 +11:00
quexeky d887f73163 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 0528c78092 Functioning download progress updates
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 17:11:37 +11:00
quexeky bd39f1fd72 Removed gxhash and ran cargo fmt
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-01 07:51:56 +11:00
quexeky 86363327a3 Clippy cleanup
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-01 07:49:42 +11:00
quexeky 4206c02c97 Removed unpacker.rs
Signed-off-by: quexeky <git@quexeky.dev>
2024-10-31 23:06:14 +11:00
quexeky 13df631cc6 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 01ce253bda Adding checks for the stopper callback
Signed-off-by: quexeky <git@quexeky.dev>
2024-10-29 22:15:44 +11:00
quexeky 99beca4dbe Some progress on thread terminations 2024-10-28 22:06:44 +11:00
quexeky 270bc8b06b Removed utils.rs 2024-10-28 22:04:50 +11:00
quexeky 5564d23536 Queue is running game downloads sequentially now 2024-10-28 20:57:42 +11:00
quexeky 1ab61c86b1 I think that download queuing is working 2024-10-28 19:23:41 +11:00
quexeky c9d9d2e94f 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 706f525ae7 Converted to md5 2024-10-26 22:22:10 +11:00
quexeky ddc585dc23 Debugging line 2024-10-26 16:47:27 +11:00
quexeky c51e7618bd More progress on checksums 2024-10-26 15:18:34 +11:00
quexeky 714b968683 Merge branch 'main' into downloads 2024-10-26 10:58:12 +11:00
quexeky d39e7cbdf1 Mostly finished with checksums. Just merging main in at the same time 2024-10-26 10:58:04 +11:00
quexeky 6ef444ed12 Encoding game IDs and versions 2024-10-25 17:55:45 +11:00
quexeky a628fc1417 copy direct to disk 2024-10-25 14:56:49 +11:00
quexeky 10c8344930 Removed debugging statements 2024-10-24 20:39:03 +11:00
quexeky 403ca65f7a Downloads should be fixed now 2024-10-24 19:38:58 +11:00
quexeky f388237132 I think that downloads are working. Need to test and set decent file locations now 2024-10-24 17:18:09 +11:00
quexeky 984472ec01 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 553bc379f0 Clippy changes 2024-10-24 09:41:04 +11:00
quexeky f60ca2bd6c Just debugging tauri's damn Sync command features 2024-10-24 09:38:02 +11:00
quexeky f28c8802da Manifests are now being parsed successfully 2024-10-21 22:37:42 +11:00
quexeky e4e605ba1d Merge remote-tracking branch 'origin/downloads' into downloads 2024-10-21 22:02:26 +11:00
quexeky 89d2814c06 Debugging & starting work on parsing manifest 2024-10-21 21:23:08 +11:00
quexeky d21b1d2857 Validated that loading data works 2024-10-20 20:45:02 +11:00
quexeky 07379b2ba8 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 dcd8fa80c0 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 dd23ca8481 Merge remote-tracking branch 'origin/downloads' into downloads 2024-10-19 17:36:28 +11:00
quexeky 23137dd049 More fleshing out on how specifically game downloads will work (#1) 2024-10-19 17:36:09 +11:00
quexeky 2b90de9dda More fleshing out on how specifically game downloads will work 2024-10-19 17:35:26 +11:00
quexeky 27d0dcafc7 Included in AppStatus (Also trying to link to Issue #1) 2024-10-19 14:54:29 +11:00
quexeky e71e4cf0fa Update on GameDownload 2024-10-18 22:35:03 +11:00
quexeky 7fec00ded0 Progress checker works 2024-10-18 20:42:26 +11:00
quexeky 496c6a57e3 Progress on downloads. Currently working on parsing functions to be run asynchronously 2024-10-18 07:45:09 +11:00
quexeky 3923acf780 Fixed bug with bad initial loading into store instead of auth 2024-10-17 21:14:10 +11:00
quexeky 01b092c5fe Converting DB access to a trait 2024-10-17 19:03:00 +11:00
quexeky 10791edfb6 Accidentally serialized AppStatus and broke everything :/ 2024-10-17 18:13:27 +11:00
quexeky 725f16b3b2 Semantic naming changes 2024-10-17 17:17:19 +11:00
quexeky 7a95b7f77f Ensured everything is serializing/deserializing to camelCase 2024-10-17 17:07:47 +11:00
quexeky defba511a5 Re-enabled closing the window and some more renaming 2024-10-16 09:23:00 +11:00
quexeky 1742793150 More refactoring and renaming camelCase struct definitions to snake_case 2024-10-16 09:09:46 +11:00
quexeky 68ca4a742f Merge remote-tracking branch 'origin/main'
# Conflicts:
#	src-tauri/src/lib.rs
2024-10-16 09:03:25 +11:00
quexeky 2efe3049b3 Clippy refactoring 2024-10-15 12:43:00 +11:00
quexeky 816b427781 Progress on refactoring and abiding by cargo clippy 2024-10-15 12:32:04 +11:00
quexeky b3963b60b5 Updated logging 2024-10-15 11:04:50 +11:00