Files
najdek 71f983f4c5 Revert "refactor: remove kill disc player on startup functionality"
This reverts commit ba529e8917.

Restore the startup option, config persistence, API fields, and translated settings toggle while preserving later validation, atomic writes, HTTP response handling, and launcher changes. Use the validated shared process lookup and cover restored behavior with regression checks.
2026-10-14 21:17:08 +02:00
..
2026-05-27 00:12:22 +02:00
2026-04-19 14:48:42 +02:00

Payload Manager frontend

The React dashboard is bundled into a single HTML file embedded in the native PS5 daemon. Vite targets es2015 and Safari 11. Build/deployment and the HTTP security contract are documented in DEVELOPMENT.md.

Run these commands from frontend/:

npm ci
npm run dev:mock

The mock API listens on loopback port 8081; Vite prints the UI address (normally 5173). npm run dev alone expects an API on 8081 via Vite's proxy. The native PS5 dashboard uses port 8084. Mock process/storage/loader responses are fixtures; they do not prove that hardware services work.

npm run build
npm run test:browser

build runs zero-warning lint and Node tests before Vite, then verifies the production emoji PNG is embedded exactly once, attribution remains, and the old CDN dependency is absent. test:browser requires local Chrome (CHROME_BIN may override its path) and exercises actual editor reloads, StrictMode/save queues, markdown DOM sanitization, offline rendering and language selection. The separate mutation-browser/native-fixture checks and host sanitizers run in CI; see the root development guide for their commands and limits.

Localization instructions are in TRANSLATIONS.md. Markdown uses bundled PNG sprites because native emoji fonts failed on PS5. Sprite position rules are added only when needed, and both sanitizer passes exclude arbitrary remote media. Asset regeneration is optional; ordinary builds use the bundled files and need no graphics download or Pillow.