Skip to content

3.3.24: save-to-USB backup (#145) + dependency bumps#161

Merged
phantomptr merged 4 commits into
mainfrom
chore/deps-batch-3324
Jun 28, 2026
Merged

3.3.24: save-to-USB backup (#145) + dependency bumps#161
phantomptr merged 4 commits into
mainfrom
chore/deps-batch-3324

Conversation

@phantomptr

Copy link
Copy Markdown
Owner

Folds in the open dependabot PRs (#153 engine, #158 frontend, #159 actions, #160 tauri-shell) and the external feature PR #145.

Feature (PR #145, @Twice6804, cherry-picked with authorship preserved)

Back up a PS5 save directly to a USB drive. Reviewed merge-as-is: client-only, reuses the existing download→zip→upload primitives, never renames across mounts (downloads the save to a host temp dir, zips, uploads the zip to the USB path — the kernel-panic FS_MOVE path is not involved). Each backup lands in a unique <base>/<title_id>/<timestamp>/ dir (no overwrite). 11 new tests, all 11 new i18n keys allowlisted across all 17 locales.

Dependency bumps

  • engine: anyhow 1.0.103, sevenz-rust2 0.21.1, uuid 1.23.4
  • desktop: anyhow 1.0.103, flume 0.12.0, mdns-sd 0.20.1, socket-pktinfo 0.4.0, uuid 1.23.4
  • client (dev): @tauri-apps/cli 2.11.3, @vitejs/plugin-react 6.0.3, eslint 10.6.0, vite 8.1.0
  • CI: actions/cache v5 → v6

Verification (no HW)

engine workspace tests, desktop cargo check, client typecheck + lint + 754 tests + vite build, i18n coverage gate — all green.

Twice6804 and others added 2 commits June 28, 2026 22:55
Adds a configurable PS5-side save path (Settings, default /mnt/usb0/savedata)
and a "Save to USB" action (per-row + bulk) on the Saves screen that pulls a
save off the console, zips it, then pushes it back to
<savePath>/<title_id>/<timestamp>/<title_id>.zip on a USB/extended-storage
drive plugged into the PS5 itself — no host PC round-trip needed.

Reuses the existing download/finalize/zip pipeline and single-file transfer
(transfer_file); no payload/engine changes required. Pre-flights the USB
mount via the existing checkDestinationFreeSpace helper and re-checks for a
stale host before uploading, mirroring the Restore flow's safety guards.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Folds in dependabot #153, #158, #159, #160, reapplied on current main so the
lockfiles regenerate cleanly:
- engine: anyhow 1.0.103, sevenz-rust2 0.21.1, uuid 1.23.4
- desktop: anyhow 1.0.103, flume 0.12.0, mdns-sd 0.20.1, socket-pktinfo 0.4.0, uuid 1.23.4
- client (dev): @tauri-apps/cli 2.11.3, @vitejs/plugin-react 6.0.3, eslint 10.6.0, vite 8.1.0
- CI: actions/cache v5 -> v6

Verified: engine workspace tests, desktop cargo check, client typecheck/lint/754
tests/vite build, i18n gate — all green.
…os (#82)

Both 404'd in the Payloads catalogue because their GitHub repos moved:
- ps5-app-dumper: ps5-payload-dev -> EchoStretch (ships ps5-app-dumper.elf)
- Itemzflow: LightningMods/itemzflow_PS5 -> LightningMods/Itemzflow

Resolving the repos replaces the hard 404 with the real release list. (Itemzflow
is distributed as a .pkg app, so its releases may not always carry a payload
asset, but the repo now resolves.) The dead git.etawen.dev lapy-jb-daemon entry
is left as-is pending a decision on the community GitHub fork.
- New: back up a PS5 save directly to a USB drive (thanks @Twice6804)
- Fixed: ps5-app-dumper / Itemzflow catalogue 404s (#82)
- Dependency + CI bumps (engine, tauri-shell, frontend, actions groups)
@phantomptr phantomptr force-pushed the chore/deps-batch-3324 branch from d0402b4 to 364d165 Compare June 28, 2026 15:04
@phantomptr phantomptr merged commit 364d165 into main Jun 28, 2026
23 checks passed
@phantomptr phantomptr deleted the chore/deps-batch-3324 branch June 28, 2026 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants