mirror of
https://github.com/phantomptr/ps5upload.git
synced 2026-10-21 11:23:35 -05:00
Engine: POST /api/folder/build unpacks a game image (or, once the pkg reader lands, a debug-key .pkg) into <out>/<name>. It runs as a job with Write and Verify stages; every path is checked before anything is written (.., absolute, empty components, names this OS cannot hold, file/folder clashes, case clashes on a case-insensitive drive); data streams in 8 MiB chunks with cancel per chunk; the folder is written as <name>.partial/ (marked so the output-folder sweep can tell it from a user's own) and renamed only after the read-back: every size and empty folder, and the SHA-256 of a seeded sample (or every file) re-read from a freshly opened source. An existing target, a plain folder source and a shortfall of free space (files + 64 MiB) are refused before the job starts. Client: a third "What to make" tile, A game folder. A folder source disables Make with "This is already a folder"; .pkg is accepted as a source; then is keep only; the finished card shows the folder and Show in folder. The queue, prefs, pipeline and stage list know the folder kind. Strings in all 21 locales. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RxCGb8Asp1A1AQYiv1kbgS