15 Commits
Author SHA1 Message Date
najdek 2189ee962d refactor: decompose main.c and payload_mgr.c into focused modules
Split two monolithic files (main.c 1538→233 lines, payload_mgr.c
2355→467 lines) into 8 single-responsibility modules:

- http_server.c: MHD request router and all route handlers
- repository.c: repo cache, download, install/commit, self-update
- sources.c: multi-source repository management
- config.c: PldmgrConfig struct, read/write, JSON config handler
- log_server.c: ring buffer, SSE streaming, pldmgr_log()
- json_helpers.c: JsonListBuilder, JSON parser, file I/O utilities
- sha256.c: SHA256 hash implementation
- process_mgr.c: process listing and kill

Introduces PldmgrConfig struct to replace the 8-out-param
read_next_config_values() pattern. Renames extracted functions to
match their new modules (e.g. repository_install_download,
sources_add, process_kill). No HTTP route changes — frontend
is unaffected.
2026-06-03 18:22:26 +02:00
owendswang 54c2728bf4 Make frontend-build sed usage portable 2026-05-28 02:21:28 +08:00
najdek c8c380b4f1 feat: add favicon and app icons
- Update favicon to match the LogoIcon.
- Serve icons from the native C web server.
- Ignore generated asset headers in .gitignore.
2026-05-27 00:12:22 +02:00
najdek 1afc9d3358 improve frontend update reliability and management
- Server: Fixed caching headers (no-cache) for index.html and cache.appcache to force browser revalidation.
- Build: Added seconds to the build timestamp in the Makefile to ensure every build generates a unique manifest.
- Build: Created build_release.sh to automate versioned ELF generation (pldmgr_vX.Y.Z.elf).
- UI: Refined system payload detection to support versioned filenames.
- UI: Allowed system/update payloads to be visible and deletable in the "Manage Payloads" tab, while keeping them hidden from the main dashboard.
2026-05-01 00:23:27 +02:00
najdek 0bfb763eab add offline cache page 2026-04-29 19:38:26 +02:00
najdek 21cf527760 Optimize binary size: replace OpenSSL with mbedTLS and enable dead code elimination 2026-04-29 02:43:55 +02:00
najdek 3282e14305 Feat: Migrate payload downloads from frontend to backend using libcurl
- Shift payload downloading from browser-side fetching to the backend C daemon
- Add OpenSSL and libcurl dependencies to the Docker SDK build environment
- Embed CA certificate bundle for secure HTTPS downloads
- Introduce the /repository_install endpoint in the internal API
2026-04-28 23:32:38 +02:00
najdek 840ab2293c rename project to Payload Manager 2026-04-28 20:45:38 +02:00
najdek ad02095743 build: use DEV in app title if unstaged changes exist 2026-04-28 01:29:32 +02:00
najdek bc9451fb52 Add automatic app launcher installer for Next Menu 2026-04-28 01:23:05 +02:00
najdek 505d90a07b feat: finalize PS5 menu UI and autoload synchronization
- Frontend: Fixed autoload progress circle scaling for variable delays.
- Frontend: Implemented robust CSS spinner for PS5 WebKit compatibility.
- Frontend: Redesigned Remote Management footer and fixed IP address display.
- Backend: Updated /autoload_status API to include configured delay.
- Backend: Integrated system statistics (CPU/RAM/Storage) monitoring.
- Daemon: Suppressed redundant startup notifications when auto-browser is enabled.
- Build: Automated dynamic page title injection and UTC build timestamps.
2026-04-21 02:04:04 +02:00
najdek e99812224b feat: improve daemon stability with system service registration and sleep/resume recovery 2026-04-19 19:18:29 +02:00
najdek 0f1ed6e9a1 feat: implement native PS5 autoload system with custom delays and abort support 2026-04-19 15:42:32 +02:00
najdek 574871d34d feat: add native notifications, real IP resolution, and automated deployment
- Implemented native PS5 on-screen debug notifications via sceKernelSendNotificationRequest.
- Added robust local IP resolution using getifaddrs to replace placeholder IP.
- Migrated server port from 50005 to 8084 across the entire stack.
- Added a startup notification on the PS5 screen displaying version, IP, and port.
- Created deploy.sh script for fully automated build and deployment:
    - Automatically requests shutdown of previous instance.
    - Rebuilds both React frontend and native ELF.
    - Performs unidirectional ELF transfer via socat and exits immediately.
- Updated Makefile and README with new deployment workflow.
2026-04-19 15:27:27 +02:00
najdek 989ce764eb initial commit 2026-04-19 14:48:42 +02:00