f5bd12b43a
Merge develop into main ( #25 )
...
* chore(process manager): refactor for generic way to implement cross
platform launchers
* feat(game): game uninstalling & partial compat
* chore(metadata): update metadata
* feat(errors): better download manager errors + modal
* feat(process): better process management, including running state
* feat(downloads): lockless tracking of downloaded chunks
* fix(sign on): add message about nonce expiration
* feat(download ui): add speed and time remaining information
closes #7
Co-authored-by: AdenMGB <140392385+AdenMGB@users.noreply.github.com >
* chore: Ran cargo clippy
Signed-off-by: quexeky <git@quexeky.dev >
* fix(auth initiate): add better error message
* feat(auth): offer manual signin
* feat(install modal): add note about more install dirs
* fix(install flow): clear stale data before requesting new
* Delete pages/library.vue
* Add files via upload
* adds nvm rc!
* feat(install modal): add note about more install dirs
* fix(install flow): clear stale data before requesting new
* Delete pages/library.vue
* Add files via upload
* fix(library page): fix install button
* fix(process): fix poorly designed parsing for executables with spaces
* fix(scrollbars): fix ugly scrollbars on edge webview
* feat(Compat): Implemented spawning with umu (using umu-wrapper-lib)
Signed-off-by: quexeky <git@quexeky.dev >
* feat(process manager): Game kill tauri command
Signed-off-by: quexeky <git@quexeky.dev >
* fix(deep links): Re-enabled deep links
Signed-off-by: quexeky <git@quexeky.dev >
* feat(process): shared child with stop command
* squash(autostart): added adenmgb's autostart feature
Squashed commit of the following:
commit 085cd9481d
Author: Aden Lindsay <140392385+AdenMGB@users.noreply.github.com >
Date: Mon Dec 30 16:29:41 2024 +1030
Update lib.rs for the DB sync of autostart
commit 86f2fb19bd
Author: Aden Lindsay <140392385+AdenMGB@users.noreply.github.com >
Date: Mon Dec 30 16:29:13 2024 +1030
Update db.rs to accomidate the settings sync
commit ece11e7581
Author: Aden Lindsay <140392385+AdenMGB@users.noreply.github.com >
Date: Mon Dec 30 16:27:48 2024 +1030
Update autostart.rs to include DB
commit 7ea8a24fdc
Author: Aden Lindsay <140392385+AdenMGB@users.noreply.github.com >
Date: Mon Dec 30 15:17:38 2024 +1030
Add files via upload
commit af2f232d94
Author: Aden Lindsay <140392385+AdenMGB@users.noreply.github.com >
Date: Mon Dec 30 15:17:09 2024 +1030
Delete src-tauri/Cargo.toml
commit 5d27b65612
Author: Aden Lindsay <140392385+AdenMGB@users.noreply.github.com >
Date: Mon Dec 30 15:15:42 2024 +1030
Add files via upload
commit 2eea7b97a8
Author: Aden Lindsay <140392385+AdenMGB@users.noreply.github.com >
Date: Mon Dec 30 15:15:31 2024 +1030
Delete src-tauri/src/lib.rs
commit 9a635a10d1
Author: Aden Lindsay <140392385+AdenMGB@users.noreply.github.com >
Date: Mon Dec 30 15:14:49 2024 +1030
Add files via upload
commit 2fb049531a
Author: Aden Lindsay <140392385+AdenMGB@users.noreply.github.com >
Date: Mon Dec 30 15:13:37 2024 +1030
Add files via upload
commit ea1be4d750
Author: Aden Lindsay <140392385+AdenMGB@users.noreply.github.com >
Date: Mon Dec 30 15:13:20 2024 +1030
Delete pages/settings/index.vue
* fix(download manager): fix incorrect error assumptions & update types
* feat(account settings): Add signout functionality (#16 )
* Create account.vue with logout button
* Update auth.rs to add signout command
* Update lib.rs to pass sign_out command to frontend
* feat(settings): add debug page
* Create debug.rs
* Update settings.vue to add tab for debug
* Update main.scss to add light theme
* Update interface.vue to add light mode
* Create debug.vue
* Update debug.vue too add open log button
* Update lib.rs
* Update debug.rs
* Update debug.rs
* Update lib.rs
* Update lib.rs
* Update debug.rs
* Update debug.vue
* fix(debug): refactor and cleanup
* revert(theme): revert light theming
---------
Co-authored-by: DecDuck <declanahofmeyr@gmail.com >
* feat(library ui): add installed ui in the library menu
* 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 >
* refactor(download manager): Moved download manager to separate directory
Signed-off-by: quexeky <git@quexeky.dev >
* refactor(download manager): Added Downloadable trait and replaced references to GameDownloadAgent
Signed-off-by: quexeky <git@quexeky.dev >
* chore(download manager): Renamed most instances of "game" outside of actual game downloads
Signed-off-by: quexeky <git@quexeky.dev >
* refactor(download manager): Renamed GameDonwloadError to ApplicationDownloadError and moved
Signed-off-by: quexeky <git@quexeky.dev >
* chore(download manager): Some easy cleanup of the download manager
Signed-off-by: quexeky <git@quexeky.dev >
* chore(download manager): Ensure that Downloadable is also send and sync
Signed-off-by: quexeky <git@quexeky.dev >
* refactor(download manager): Moved manifest and stored_manifest to download_manager
Signed-off-by: quexeky <git@quexeky.dev >
* Revert "refactor(download manager): Moved manifest and stored_manifest to download_manager"
This reverts commit 8db2393346 .
* chore(tool manager): Added ToolDownloadAgent
Signed-off-by: quexeky <git@quexeky.dev >
* chore(download manager): Added manage_queue_signal
Signed-off-by: quexeky <git@quexeky.dev >
* chore(download manager): Added manage_go_signal command
Signed-off-by: quexeky <git@quexeky.dev >
* refactor(download manager): Removed all references to anything outside of the DownloadManager
Signed-off-by: quexeky <git@quexeky.dev >
* refactor(download manager): Fully separate & generic download manager
Signed-off-by: quexeky <git@quexeky.dev >
* refactor(download manager): Removed Arc requirement for DownloadableMetadata
Signed-off-by: quexeky <git@quexeky.dev >
* feat(download manager): Added generic download manager
Signed-off-by: quexeky <git@quexeky.dev >
* fix(game launcher): Renamed game_id to id
Signed-off-by: quexeky <git@quexeky.dev >
* fix(uninstalling): Re-enabled uninstalling apps
Signed-off-by: quexeky <git@quexeky.dev >
* refactor(downloads): Moved all files relevant to game downloads to their own directory
Signed-off-by: quexeky <git@quexeky.dev >
* fix(kill game): Re-enabled killing games
Signed-off-by: quexeky <git@quexeky.dev >
* feat(recovery): Added database recovery
Signed-off-by: quexeky <git@quexeky.dev >
* feat(database): Added database corruption dialog
Signed-off-by: quexeky <git@quexeky.dev >
* chore(README): Updated README.md
Signed-off-by: quexeky <git@quexeky.dev >
* perf(game downloads): Moved some variable declarations outside of the spawned download thread
Signed-off-by: quexeky <git@quexeky.dev >
* fix(game downloads): Accidentally was attempting to lock onto something that was already in scope
Signed-off-by: quexeky <git@quexeky.dev >
* fix(db): Added Settings component
Signed-off-by: quexeky <git@quexeky.dev >
* refactor: Ran cargo clippy & fmt
Signed-off-by: quexeky <git@quexeky.dev >
* 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 >
* feat(settings): Added max_download_threads setting and separated settings from db
Signed-off-by: quexeky <git@quexeky.dev >
* chore: Moved generateGameMeta.ts to composables, using PathBuf instead of String for install_dirs
Signed-off-by: quexeky <git@quexeky.dev >
* chore: General cleanup
- Changed some info!() statements to debug!() and warn!()
- Removed most Turbofish syntax cases
- Removed InvalidCodeError and replaced it with InvalidResponse
Signed-off-by: quexeky <git@quexeky.dev >
* chore: Removed tests/
Signed-off-by: quexeky <git@quexeky.dev >
* chore: Removed tools/
Signed-off-by: quexeky <git@quexeky.dev >
* chore: More refining info!() statements
Signed-off-by: quexeky <git@quexeky.dev >
* feat(download manager): Added UI to change download threads
Co-authored-by: AdenMGB <140392385+AdenMGB@users.noreply.github.com >
Signed-off-by: quexeky <git@quexeky.dev >
* fix(metadata): update routes for new server
* fix(handle invalid database): use set_file_name instead of pushing to
strings
* refactor(compat): remove unnecessary compat code (#20 )
* Delete pages/settings/compatibility.vue
* Update settings.vue
* Update debug.vue
* Update lib.rs
* Update compat.rs
* feat(debug): use shift or DEBUG RUST_LOG to show Debug Info
* Update settings.vue to have a conditional debug page
* Update debug.rs to add RUST_LOG status fetching
* Implement better error system and segregate errors and commands (#23 )
* chore: Progress on amend_settings command
Signed-off-by: quexeky <git@quexeky.dev >
* chore(errors): Progress on better error handling with segragation of files
* chore: Progress on amend_settings command
Signed-off-by: quexeky <git@quexeky.dev >
* chore(commands): Separated commands under each subdirectory into respective commands.rs files
Signed-off-by: quexeky <git@quexeky.dev >
* chore(errors): Almost all errors and commands have been segregated
* chore(errors): Added drop server error
Signed-off-by: quexeky <git@quexeky.dev >
* feat(core): Update to using nightly compiler
Signed-off-by: quexeky <git@quexeky.dev >
* chore(errors): More progress on error handling
Signed-off-by: quexeky <git@quexeky.dev >
* chore(errors): Implementing Try and FromResidual for UserValue
Signed-off-by: quexeky <git@quexeky.dev >
* refactor(errors): Segregated errors and commands from code, and made commands return UserValue struct
Signed-off-by: quexeky <git@quexeky.dev >
* fix(errors): Added missing files
* chore(errors): Convert match statement to map_err
* feat(settings): Implemented settings editing from UI
* feat(errors): Clarified return values from retry_connect command
* chore(errors): Moved autostart commands to autostart.rs
* chore(process manager): Converted launch_process function for games to use game_id
---------
Signed-off-by: quexeky <git@quexeky.dev >
* fix(settings): Broken command invoke logic in settings/downloads.vue
* feat(logging): Added line numbers to file logging and highlighting to console
* chore(progress): Added rolling_progress_updates.rs
Signed-off-by: quexeky <git@quexeky.dev >
* chore(exit): Progress on cleanup and exit
* chore(downloads): Progress on terminator
* chore: Progress on rolling progress window
* feat(progress): Added rolling progress window
Still needs tweaks on specific timings, as well as cleanup
* refactor(remote): Created separate function to generate requests
* fix(install ui): stop loading on error
* fix: fix other metadata endpoints
* feat(errors): Using SerializeDisplay for better error management with Result
* chore: Update .gitlab-ci.yml
* refactor(logging): Using more appropriate logging statements
Still probably needs some work, but that's enough for now
* chore(logging): Imported appropriate logging macros
* Revert "chore: Update .gitlab-ci.yml"
This reverts commit fc6bab9381 .
* feat(settings): Allow settings to update UI using fetch_settings command
* style(logging): Ensured that all logs start with lowercase capital and have no trailing punctuation
* fix(download manager): don't crash download manager if multiple errors
come in
* feat(downloads): re-enable checksums
* fix(logs): add file & line to console logs
* fix(ui): modal stack doesn't cover whole app
* 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()
* chore: Ran cargo clippy & cargo fmt
* fix: assorted fixes
* fix(download agent): fixed completed indexes
* fix: Adding usize to completed_contexts_lock instead of &usize
* fix(game downloads): Added error handling for chunk request errors
* chore: Apply stashed changes
* feat(games): Added multi-argument game launch and setup support
* fix: Games not launching due to string semantics
* build: Version bump & appimage build
* chore: Update .gitlab-ci.yml
* Update .gitlab-ci.yml
* Update .gitlab-ci.yml with artifacts
* feat(settings): Made save button include user feedback & only allow numeric characters
* fix(library): Added "LIbrary Failed to Update" content to recover from library load fail
* fix(logging): Restored RUST_LOG env functionality
* Update changelog.md
---------
Signed-off-by: quexeky <git@quexeky.dev >
Signed-off-by: DecDuck <declanahofmeyr@gmail.com >
Co-authored-by: DecDuck <declanahofmeyr@gmail.com >
Co-authored-by: AdenMGB <140392385+AdenMGB@users.noreply.github.com >
Co-authored-by: seethruhead <shane.keulen@gmail.com >
2025-01-25 18:49:54 +11:00
f09605aa7e
fix(library ui): fix scrollbars on edge webview
2024-12-24 12:32:59 +11:00
6cc0c679b9
chore(polish & cleanup)
2024-12-24 09:05:51 +11:00
239b8d53f9
feat: quit button
2024-12-23 20:56:11 +11:00
42c0198f1d
refactor(game status): transient vs synced state now defined
2024-12-23 20:44:02 +11:00
3d60fd50d8
feat(tray): background processes and close/open menu
2024-12-21 15:09:49 +11:00
0a20139a7c
feat(queue & game): queue and library UIs
2024-12-17 20:29:54 +11:00
3f71149289
feat(process manager): launch games with log files
2024-12-15 17:29:21 +11:00
269dcbb6f3
feat(download manager): only allow downloads for supported platforms
2024-12-15 16:15:51 +11:00
bb60942558
Merge branch 'main' into download-manager
2024-12-09 21:20:44 +11:00
671d45fbe4
feat(download ui): debug queue interface
2024-12-09 17:03:48 +11:00
532d13e96f
feat(download widget): download widget and queue fix
2024-12-08 12:33:45 +11:00
de52dac0ab
feat(download & db): combined db and download interface improvements
2024-12-07 11:00:35 +11:00
8670bca834
feat(install ui): ui to install games
2024-12-06 22:16:50 +11:00
e4df4eb2d7
feat(download manager): update db state with ui and emit events
2024-11-28 20:31:04 +11:00
64d7f649c6
fix(download manager): use of completed signal, and pause/resuming
2024-11-28 12:39:21 +11:00
2dedfbbd5c
feat(library): automatically fetch remote data if not available
2024-11-26 20:11:03 +11:00
a53d838d05
feat: retry connnection on server unavailable
2024-11-26 18:09:15 +11:00
a580a46e17
feat(settings): finish download dir CRUD interface
2024-11-25 16:09:29 +11:00
384f7a5be9
feat(settings): ability to add more download dirs
2024-11-24 21:04:56 +11:00
450bca9c5b
feat(downloads): Download cancelling
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-21 16:46:05 +11:00
469a2d69eb
feat(auth): refactoring and error message
2024-11-19 15:05:28 +11:00
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
6a38ea306b
feat(downloads): reduce scope of download agent
...
due to a miscommunication, the scope of the download agent has grown too
much. this commit reduces that scopes, and intends for a lot of the
heavy lifting to be done by the soon-to-be-implemented download manager.
2024-11-10 22:25:54 +11:00
1aa52c0a21
feat(library): Added option to change root directory
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-10 13:18:28 +11:00
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
f10d92d623
feat(downloads): Generic function to set download state
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 20:15:04 +11:00
55b7921ee6
feat(downloads): Pausing and resuming game downloads
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 19:55:36 +11:00
c748aec1c1
Merge branch 'downloads' (again)
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 18:57:54 +11:00
f6476bc804
fixes and patches for merged changes
2024-11-04 18:13:03 +11:00
15204718cf
Merge branch 'error-handling'
...
Makes the Drop app more resistent to errors during start-up
2024-11-04 18:06:51 +11:00
0528c78092
Functioning download progress updates
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 17:11:37 +11:00
eb3311a0c4
Drop will no longer crash when the server goes down
2024-11-03 19:47:27 +11:00
df88395d98
drop no longer freaks out if server is unavailable on startup
2024-11-03 16:16:26 +11:00
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
1ab61c86b1
I think that download queuing is working
2024-10-28 19:23:41 +11:00
a628fc1417
copy direct to disk
2024-10-25 14:56:49 +11:00
5ed0833e61
my own take on some BASED design decisions
2024-10-24 22:05:58 +11:00
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
7e3da04beb
fixed some of quexeky's BASED design decisions
2024-10-20 20:55:37 +11:00
d21b1d2857
Validated that loading data works
2024-10-20 20:45:02 +11:00
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
3923acf780
Fixed bug with bad initial loading into store instead of auth
2024-10-17 21:14:10 +11:00
bf46dec359
beginnings of game state management
2024-10-17 21:05:25 +11:00
5ef6b8e528
cleanup and game UI beginnings
2024-10-15 20:05:13 +11:00
8a2d23df26
slight ui/ux fixes and updates to auth protocol
2024-10-12 17:44:23 +11:00
e828bca2a5
reorganisation, cleanup and new nonce protocol
2024-10-12 17:34:47 +11:00
959dad383e
fixed windows issues
2024-10-09 17:55:19 +11:00
0c0cfebc1e
client now fetches user information from Drop server
2024-10-09 16:52:24 +11:00
8f6f184739
compliant with new APIs
2024-10-09 00:37:27 +11:00