diff --git a/README.md b/README.md index f5000d44..3b333d01 100644 --- a/README.md +++ b/README.md @@ -20,16 +20,16 @@ SteamFlow is currently in alpha. We are actively working on reaching feature par - [x] Display game covers (automated caching) - [x] Basic game launching - [ ] **Installation & Updates** - - [x] Download pipeline (WIP) - - [ ] Update management + - [x] Download pipeline + - [x] Update management - [ ] Uninstall support - [ ] **Features** - [ ] Search bar - [ ] Collections / Categorization - [ ] Friends list & Chat - - [ ] Steam Cloud integration + - [x] Steam Cloud integration - [ ] Workshop management - - [ ] Proton/Wine integration improvements + - [x] Proton/Wine integration improvements - [ ] Depot browser (Download specific builds/files) # Getting Started diff --git a/SteamFlow/README.md b/SteamFlow/README.md index 33bf9287..665a535a 100644 --- a/SteamFlow/README.md +++ b/SteamFlow/README.md @@ -27,6 +27,7 @@ Guard data is persisted through `FileGuardDataStore::user_cache()` so repeated S - Local install scan from `steamapps/libraryfolders.vdf` and `appmanifest_*.acf`. - VDF parsing now uses `keyvalues-serde` models (no line-based fallback parsing). - Unified `GameLibrary` with per-game install status. +- **Steam Cloud Sync**: Automatic sync-down before launch and sync-up after game exit (if enabled in settings). ## GUI - Integrated authentication panel (account/password + optional Steam Guard code). @@ -40,7 +41,7 @@ Guard data is persisted through `FileGuardDataStore::user_cache()` so repeated S - not installed -> queue install/download pipeline skeleton ## Launch flow -- Product metadata lookup through PICS (Implementation in `src/download_pipeline.rs` but integration in `SteamClient::get_launch_info` is still pending). +- Product metadata lookup through PICS is integrated into `SteamClient::get_launch_info`. - Linux-first launch target selection, then Windows fallback (Proton path required). ## Run @@ -54,6 +55,4 @@ cargo run --manifest-path SteamFlow/Cargo.toml 2. **Get Security Info**: Request depot decryption keys + CDN server list and auth tokens. 3. **Download/Decode Manifest**: Fetch manifest from CDN and decode the proprietary protobuf-based format (supporting raw, Gzip, and Xz). 4. **Chunk Download Loop**: Concurrent download of file chunks, followed by AES-256-CBC decryption and decompression. -- The UI integration is currently minimal and drives a staged download into a temporary directory. - ->>>>>>> c#-remake +- The UI integration drives a staged download into a temporary or configured library directory. diff --git a/SteamFlow/ROADMAP.md b/SteamFlow/ROADMAP.md index 1384c15b..9c6f6f20 100644 --- a/SteamFlow/ROADMAP.md +++ b/SteamFlow/ROADMAP.md @@ -17,9 +17,9 @@ 1. ✅ SteamFlow uses steam-vent 0.4.2 full auth pipeline, including persisted sessions. 2. ✅ Improved Steam Guard UX with confirmation-type specific hints. 3. ✅ Integrated 4-phase download pipeline logic (`manifest id -> security -> manifest -> chunks`). -4. Improve download UI with real-time progress reporting and better error handling. -5. Integrate PICS metadata fetch into the main `SteamClient` launch flow. -6. Add per-game launch profiles (env vars, custom args, compat tool preset). -7. Add settings view for Proton runtime and Steam library path discovery. +4. [x] Improve download UI with real-time progress reporting and better error handling. +5. [x] Integrate PICS metadata fetch into the main `SteamClient` launch flow. +6. [ ] Add per-game launch profiles (env vars, custom args, compat tool preset). +7. [x] Add settings view for Proton runtime and Steam library path discovery. 8. Extend CI to publish signed .deb artifacts from tags. 9. [x] Implement Steam Cloud Sync (Enumerate/Download/Upload). diff --git a/TODO.md b/TODO.md index 8dea97e7..cd78e6f4 100644 --- a/TODO.md +++ b/TODO.md @@ -23,9 +23,6 @@ - Simple friends list. - Online/Offline status. - Chat support. -- [ ] **Steam Cloud** - - Sync game saves on launch/exit. - - Conflict resolution UI. - [ ] **Workshop Support** - View subscribed items. - Simple enable/disable mod management. @@ -52,3 +49,8 @@ - Add tests for download pipeline state machine. - [ ] **Modularization** - Split `ui.rs` into smaller components (Sidebar, GameView, Auth, etc.). + +## Done +- [x] **Steam Cloud** + - Sync game saves on launch/exit. + - [ ] Conflict resolution UI.