mirror of
https://github.com/phantomptr/ps5upload.git
synced 2026-10-21 19:33:08 -05:00
* 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>
68 lines
2.1 KiB
JSON
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
|
|
}
|
|
}
|