Log libcurl's runtime version/SSL backend/protocol list at startup,
mirror fatal errors into log.txt, and capture curl's verbose debug
stream for the first request.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
curl error 1 (unsupported protocol) was caused by invisible junk in
the config: leading whitespace, tabs or a UTF-8 BOM around the server
URL. Trim all of it, default to http:// when no scheme is given,
validate the scheme with the parsed value shown on screen, and include
the attempted URL in the first-connection error.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Scrollable chronological photo grid with full-screen viewer, fetching
previews from an Immich server via its REST API. Thumbnails stream in
on a background thread over a keep-alive connection. JPEG decoding is
done with libjpeg directly (vita2d's loader rejects Immich's
APP2-first JPEGs). JSON parsed with vendored jsmn (the vitasdk jansson
package is built as PIC, which vita-elf-create can't handle).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>