Video bitrate probe, loading throbbers, boot spinner, transparent logo
- Video: probe the MP4 header (range request for moov) before downloading the whole clip; if the average bitrate overruns the declared H.264 level the Vita's decoder enforces, show the "too high" message up front instead of downloading then failing at playback. Verdict validated against the real demo videos (e.g. e75d495e: Level 3.1 @ 18.8 Mbps -> rejected). - Error screens: word-wrap title + detail so long messages no longer run off the edges; the bitrate message now spells out the server-side fix (Immich transcoding policy / bitrate cap). - Boot: one continuous spinner. A single boot worker thread does sign-in + first page + local scan while the main thread animates one logo with a never-resetting frame counter, instead of three separate static screens. - Throbbers: the cloud/server-info page and smart search now fetch on a worker thread and animate a throbber instead of freezing the UI. - Logo: swap the in-app logo for a clean 200x200 transparent PNG (the old one was matted from the white-background icon and had fringe); keep the launcher icon's white background. Linear-filter the logo + cloud badges so they scale/rotate smoothly. - Drop AgenticLoop.md (and its CLAUDE.md reference). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+10
-1
@@ -74,10 +74,19 @@ static char g_search_query[128];
|
||||
static int *g_search_idx;
|
||||
static int g_search_count;
|
||||
static int g_search_cap;
|
||||
/* smart search runs on a worker thread so the grid can animate a throbber
|
||||
* while the request is in flight; g_search_pending is the query it runs,
|
||||
* g_search_done/g_search_result report completion + its return value */
|
||||
static char g_search_pending[128];
|
||||
static volatile int g_search_done;
|
||||
static volatile int g_search_result;
|
||||
|
||||
/* server info shown on the cloud/backup page; fetched lazily the first time
|
||||
* the page is opened. g_srv_state: 0 not fetched, 1 ok, -1 failed. */
|
||||
* the page is opened. g_srv_state: 0 not fetched, 1 ok, -1 failed.
|
||||
* g_srv_fetching: a worker thread is fetching it now (so the page animates a
|
||||
* throbber instead of blocking the main thread on the request). */
|
||||
static int g_srv_state;
|
||||
static volatile int g_srv_fetching;
|
||||
static char g_srv_use[40]; /* disk used, human ("1.4 TiB") */
|
||||
static char g_srv_total[40]; /* disk size, human ("1.8 TiB") */
|
||||
static int g_srv_pct; /* disk usage percentage */
|
||||
|
||||
Reference in New Issue
Block a user