Replace the embedded UI with a file manager: sidebar, details table, keyboard shortcuts, uploads, copy/move and extraction. Games, System, Transfers and Settings use the same components. The previous UI is archived in web/legacy/ and left out of the embedded resources.
The restyle is flat: donation banner, credits with the maintainer photo, and no gradients or card shadows. JavaScript stays ES5.
Survive console Rest Mode by recreating FTP/HTTP listeners with backoff and exposing daemon instance_id; implement real SITE CHMOD (#9) and fix atomic-copy temp paths that broke dashboard moves (#7).
Introduce docs/ffi_usage.md: a comprehensive FFI usage guide with compilation instructions and examples for Rust, Python, Go, and Java (JNI). Update .gitignore to stop ignoring the whole /docs folder, and adjust trailing whitespace; ensures the new documentation files are tracked.
Add internal API docs and tweak build/gitignore; bump release to 1.2.2. Increase default buffer/stream sizes and add data-specific I/O timeouts/linger for PS4/PS5/other platforms; disable transfer rate limiting on PS5. Introduce new PAL networking primitives (pal_socket_configure_data, cork/uncork, timeouts/drain helpers) and update pal_network.h/.c for safer, more configurable socket behavior and telemetry. Make file I/O more robust on consoles (F_NOCACHE, posix_fadvise) and harden HTTP CSRF token formatting to avoid overruns. Replace the old per-session token-bucket rate limiter with socket corking around sendfile/read loops, add fsync flushes and richer failure reporting in RETR/STOR/APPE, and implement a graceful data-socket close sequence to avoid RSTs. Minor Makefile fixes to ensure build directories exist.
Introduce a platform allocator and scratchpad: add pal_alloc.{h,c}, pal_alloc_override.h, and pal_scratch.{h,c} (APIs and a default arena). Integrate them: add sources to the Makefile, change artifact naming and add all-platform build targets, and wire pal_scratch into main for sysctl buffer usage. Improve robustness and safety: enable FTP_LIST_SAFE_MODE in ftp_config.h, add stat-skipping and fallback behavior in directory listings, strengthen file-type checks in RETR, and harden STOR/APPE data-paths (use pool buffers, proper error handling, 64-bit counters, and logging). Fix concurrency/atomic logic in ftp_buffer_pool (use compare_exchange_strong with retry) and update ftp_session to refresh last_activity on I/O. Minor updates: mark fallback buffer as _Thread_local in pal_fileio, update docs to describe the memory strategy, bump release to 1.2.1, add tests and QA scripts, and add license headers and small metadata changes (event_loop author).
Introduce an embedded Web File Explorer (zhttpd) and unified event loop implementation. Adds HTTP server headers and sources (http_api, http_parser, http_response, http_server, http_csrf, http_config), kqueue-based event loop (event_loop + event_loop_kqueue), embedded resource tooling and web UI (index.html, app.js, style.css, tools/generate_resources.py), API docs (docs/API.md), and tests (tests/test_http_query.c). Update Makefile to add ENABLE_ZHTTPD toggle (enabled by default on PS4/PS5), visibility flag for console targets, and test target for the new HTTP query test. Minor cleanup to include/ftp_config.h formatting and add ftpd.log to .gitignore.