Commit Graph
3 Commits
Author SHA1 Message Date
SadsandClaude Opus 4.8 351804819b 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>
2026-06-14 00:48:42 +02:00
SadsandClaude Opus 4.8 b329cc6b50 Login screen, account switching, and UI polish
Login: an interactive sign-in screen (server/email/password via the on-screen
keyboard, touch + d-pad, password masked) shown when there's no usable
credential or a config login fails, plus a "Try the demo server" button. The
bundled Immich logo is now the official transparent PNG (clean edges), drawn
minified on a slow spin for the startup loader.

Logout (cloud menu, top-left) returns to the sign-in screen instead of quitting;
on re-auth, reset_for_account_change() pauses the sync thread, drains the
thumbnail worker, recycles thumbnails, drops the old library/local/search state
and reloads from the new account. The thumbnail worker now builds its auth
header (and resolve list) per request, so a new token takes effect immediately
instead of looping on "invalid user token"; g_serverip is cleared on logout.

Grid: Square now drops focus to the grid AND hides the top bar in one press.

Verified against demo.immich.app (v2.7.5) over TLS 1.2: login, grid/search,
cloud page, logout -> Try demo account switch, all with working thumbnails.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 18:48:49 +02:00
SadsandClaude Opus 4.8 e54179f5c3 Startup logo spinner, search-bar focus nav, resume rescan, logo + AA play
Startup: bundle the Immich logo (app0:logo.png, transparent + AA) and show a
spinning-logo loading screen while the first page loads on a thread.

Search bar: logo to the left of the field; d-pad up from the top row focuses
the bar, left/right move across field/map/cloud (indigo ring), X activates,
down or [] returns to the grid. The selection square stays hidden while focused.

Cloud: "Made by SadsArches with love" credit; the O/Back button lives on the
See-details menu (top-right, tappable). Reverted the back circle from the
image/detail view.

Resume from sleep: an RTC wall-clock jump triggers an append-only camera
re-scan (startup reserves array headroom so it can't realloc under the worker
/sync threads).

Play overlay redrawn with the AA disc + a baked play-triangle glyph.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 17:39:01 +02:00