Commit Graph
19 Commits
Author SHA1 Message Date
phantomptrandClaude Opus 5.5 29052d27cd feat(viewer): firmware, installed-version and space checks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 23:20:37 -07:00
phantomptrandClaude Opus 5.5 2ed82f8554 feat(inspect): /api/game/inspect with a token cache, its image route, Tauri commands and browser mapping
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 23:19:56 -07:00
phantomptrandClaude Opus 5.5 4af627a092 feat(engine): GameInspection — one description of any local package, image or game folder
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 23:15:44 -07:00
phantomptrandClaude Opus 5.5 9a3d19d34e fix(pkg): clippy — read the entry table with as_chunks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 23:11:59 -07:00
phantomptrandClaude Opus 5.5 51adbe60cd feat(pkg): typed PARAM.SFO values and the package entry table
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 23:11:45 -07:00
phantomptrandClaude Opus 5.5 7228fa9d33 fix(queue): review fixes — an install is never run twice, the saved queue loads first, installs never auto-rerun
- Stop and Clear leave a running install running (Sony's install can't be
  stopped); a new drain waits for it instead of re-queueing and running it
  a second time, and its outcome is recorded even after Stop.
- The saved queue loads at app start; nothing is saved before it loads,
  and anything queued before the load is kept.
- Reconnect-resume never re-runs a failed install; Retry failed resets
  install rows cleanly.
- A failed install never stops the installs queued after it.
- Retry via upload installs after uploading and wins over a staged
  variant (the old dialog's options), and drops the row only once the
  upload is accepted.
- Rest mode after uploads ignores installs and an Install Package upload
  whose install is queued next.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 22:10:45 -07:00
phantomptrandClaude Opus 5.5 ff18bd2b2b docs(changelog): one queue per console (#335 step 1)
Hardware (Phat, FW 5.10, web UI via Playwright):
1. Jak X base (3.6 GB) stream install running; its patch and a third
   package queued behind it as Queued (#1)/(#2) — no refusal. Base then
   patch installed; the game launched patched. PASS
2. Star Wars base + patch stream installs in sequence; launched. PASS
3. The third package's file was renamed before its turn: only that row
   failed, with the reason and Retry; the others finished. PASS
4. Page reload mid-queue: not exercised on hardware (covered by the
   browser-build unit test).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:58:53 -07:00
phantomptrandClaude Opus 5.5 c40b0951b4 fix(queue): show the queue at the top of Install Package; installs appear once in the activity bar
The Queue panel sat below the link box and two info cards, out of view.
The activity bar and task list also mirrored install items as "Upload"
rows next to the install's own task, so every queued install showed twice.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:56:47 -07:00
phantomptrandClaude Opus 5.5 aacc098b13 fix(install): a running install no longer locks the Install Package buttons
Stream install, Add package, Install all, Install link and External
Packages' Install used to disable while any install ran, so a second
stream install could not be queued from the screen. Installs queue per
console now; only deleting staged packages still waits.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:48:20 -07:00
phantomptrandClaude Opus 5.5 1f7cdb1a8e feat(queue): Queue panel on Install Package, install rows with Retry via upload, queue count on the console tab
Install rows say where the package comes from and their place in line,
show install progress, and offer Retry (and Retry via upload when the PS5
couldn't reach this computer). A running install has no Cancel: Sony's
installer can't be stopped halfway. The panel is now titled Queue in all
20 languages (several old titles read "Upload the queue").

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:45:50 -07:00
phantomptrandClaude Opus 5.5 c025dfef3a feat(queue): Retry via upload on a stream install the PS5 couldn't reach; drop the staging dialog
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:40:40 -07:00
phantomptrandClaude Opus 5.5 25f838d2d1 refactor(install): Install Package uploads run as console-queue items — one upload engine
addAndUpload keeps its checks (split sets, duplicates, variants, package
drive) and hands the transfer to the queue, mirroring the item's progress
onto the library row; its own port wait, transfer loop and watchdog are
gone. The install after upload is queued like any other.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:37:56 -07:00
phantomptrandClaude Opus 5.5 5e45a08f18 feat(install): every install entry point runs through the console queue
A second install is queued instead of refused, and installs from any
source order base → update → DLC together. Each entry point keeps its
signature: it queues the install and resolves when that item finishes.
Download-first links download right away and queue the finished file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:33:27 -07:00
phantomptrandClaude Opus 5.5 c9a36a4e9e feat(queue): install items resolve on removal, retry with a fresh waiter, never persist links, and are not re-run after a restart
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:22:32 -07:00
phantomptrandClaude Opus 5.5 6a98fac98b feat(queue): install items — any install can run as a console-queue item
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 21:20:57 -07:00
PhantomPtrandClaude Opus 5.5 76016015c7 PS5Upload v5.36.0 (#336)
* feat(pkg): choose which drive install packages are kept on

Uploaded packages always went to internal storage
(/user/data/ps5upload/pkg_library), which fills the console's own drive.
The Volumes screen now lets you mark a drive "Use for packages"; new
packages are staged under <drive>/ps5upload/pkg_library on it.

- Per console, remembered on this device. Internal stays the default.
- Falls back to internal storage, with a notice, when the chosen drive
  isn't connected.
- The package library lists packages on every drive; rows show the drive.
- The folder chain on the drive is created one level at a time.
- The External Packages scan skips a drive's ps5upload/ folder, so staged
  packages aren't listed twice.

Hardware (Phat, FW 5.10): Star Wars Racer Revenge base+patch staged on
/mnt/ext0 installed, patched 01.00->01.02 and launched in 2 of 3 trials
(80 MB/s); the first stalled after the header read and is covered by the
daemon-recycle fix that follows. Internal control: 1/1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(install): recycle the installer daemon after a stalled delivery

A console-path install that stalls leaves the daemon's loopback job
"serving" until Sony reads every byte, which never happens, so every later
install was refused as "an install is already in progress" until the
daemon restarted, although the failure told the user to retry.
Measured on the Phat (FW 5.10). A stalled daemon-served install now stops
the daemon the same way a wedged stream refusal already did, and the next
install's ensure brings up a fresh one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* PS5Upload v5.36.0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
v5.36.0
2026-09-27 14:18:45 -07:00
PhantomPtrandClaude Opus 5.5 c7bb83d04d chore(scripts): rewrite release posts, drop outdated scripts; README highlights (#334)
release-posts.js
- Reads whole changelog groups (bold heading + wrapped bullets), not just
  the first line of each bullet.
- X: link counted as 23 chars, replies packed to fit 280, markdown stripped.
- Discord: full bullets when they fit 2000 chars, short ones otherwise;
  Reddit: real markdown sections instead of a code block.
- Says "pre-release" when GitHub does (gh), --prerelease/--stable to
  override; --only and --out to pick a platform and write files.
- make release-post calls it directly; the .sh wrapper is gone.

Removed (outdated)
- ps5-install-trace.py, ps5-install-watch.py, fpkg-mount-test.py: drove
  /api/pkg/install/start and the dpi-* routes, which no longer exist.
- gather-fakelibs.py: superseded by the app's Backport scan.
- pull_ps5_debug.py: pulled a debug dir the helper no longer writes to.

hw-test-loop.sh ran cargo from the repo root (no workspace there); it now
points at engine/Cargo.toml.

README: a Highlights section up top (unified install, Convert to FPKG,
sleep and wake), Android/web in the platforms badge, tested firmware 5.10 &
9.60.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 06:10:10 -07:00
PhantomPtrandClaude Opus 5.5 3f34434287 ci(docker): read the installer ELF from the artifact's installer/ dir (#333)
The payload artifact keeps payload/installer/ps5upload-installer.elf as
installer/ps5upload-installer.elf; the image jobs still copied it from the
old dpi/ path and failed on the v5.35.0 tag.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 05:27:27 -07:00
phantomptrandClaude Opus 5.5 c14782944d PS5Upload v5.35.0
Upload, install, convert and manage PS5 game packages over the network.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v5.35.0
2026-09-27 04:31:13 -07:00