Files
ps5upload/client/package.json
T
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>
2026-09-27 14:18:45 -07:00

68 lines
2.1 KiB
JSON

{
"name": "ps5upload-client",
"private": true,
"type": "module",
"version": "5.36.0",
"description": "The all-in-one PS5 companion app.",
"homepage": "https://github.com/phantomptr/ps5upload",
"author": "PhantomPtr <phantomptr@gmail.com>",
"scripts": {
"dev": "tauri dev",
"dev:vite": "vite",
"build:vite": "vite build",
"build": "tauri build",
"typecheck": "tsc --noEmit",
"lint": "eslint .",
"tauri": "tauri",
"preview": "vite preview",
"test": "vitest run",
"test:coverage": "vitest run --coverage",
"test:watch": "vitest",
"test:e2e": "playwright test",
"dist": "tauri build",
"dist:win": "tauri build --target x86_64-pc-windows-msvc",
"dist:win-arm": "tauri build --target aarch64-pc-windows-msvc",
"dist:mac": "tauri build --target aarch64-apple-darwin",
"dist:mac-x64": "tauri build --target x86_64-apple-darwin",
"dist:linux": "tauri build --target x86_64-unknown-linux-gnu",
"dist:linux-arm": "tauri build --target aarch64-unknown-linux-gnu",
"dist:android": "tauri android build --apk --target aarch64 --target armv7"
},
"dependencies": {
"@tauri-apps/api": "^2.11.1",
"@tauri-apps/plugin-dialog": "^2.7.3",
"@tauri-apps/plugin-notification": "^2.4.0",
"@tauri-apps/plugin-opener": "^2.5.5",
"clsx": "^2.1.1",
"html-to-image": "^1.11.13",
"lucide-react": "^1.47.0",
"react": "^19.3.0",
"react-dom": "^19.3.0",
"react-router": "^8.4.0",
"zustand": "^5.0.15"
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@playwright/test": "^1.63.0",
"@tailwindcss/vite": "^4.3.3",
"@tauri-apps/cli": "^2.11.5",
"@types/react": "^19.3.0",
"@types/react-dom": "^19.3.0",
"@vitejs/plugin-react": "^6.1.1",
"@vitest/coverage-v8": "^5.0.1",
"eslint": "^10.11.0",
"eslint-plugin-react-hooks": "^7.1.1",
"tailwindcss": "^4.0.0",
"typescript": "^6.0.3",
"typescript-eslint": "^8.70.1",
"vite": "^8.3.0",
"vitest": "^5.0.0"
},
"overrides": {
"tar": "7.5.7"
},
"allowScripts": {
"fsevents@2.3.3": true
}
}