Commit Graph

493 Commits

Author SHA1 Message Date
Jonathan Sykes
23097918e9 Sidebar drawer ends above the bottom nav so Audio-only is reachable; landscape lyrics (orientation lock, CSS rotation on iOS) in the stage and watch party 2026-10-15 19:24:26 +08:00
Jonathan Sykes
ca042ccbe3 Watch party presentation mode: share a website, Google Slides/Docs or PDF; everyone sees it, Slides and PDFs follow the presenter's page 2026-10-15 19:15:04 +08:00
Jonathan Sykes
32d1f6891b Watch party: guests stream instead of waiting on a device copy, one load per song, host seat and guest seats can't be taken over, host reload restores the song, real taps only detach, reconnect after background, keep invite code and chat draft 2026-10-15 19:12:10 +08:00
Jonathan Sykes
63cea89b68 Admin: Gmail and Discord-bot settings for password reset, setup warning on open; export notes admin guard 2026-10-15 19:02:53 +08:00
Jonathan Sykes
69704d3e1a Profile recovery: Discord webhook as a reset-code channel 2026-10-15 17:46:21 +08:00
Jonathan Sykes
ca47528581 Protected profiles: recovery email and Discord contacts with reset codes (Gmail SMTP, Discord relay) 2026-10-15 17:28:10 +08:00
Jonathan Sykes
dbcee5d5f8 Deep search: pass the database client, not the db module, so start/jobs/estimate stop returning 500 2026-10-15 16:41:25 +08:00
Jonathan Sykes
e8982162c0 Admin home: song library with coverage bar, need/have filters, artwork and paging; phone tab bar always rests on whole tabs 2026-10-15 15:34:08 +08:00
Jonathan Sykes
92ce7589f9 Admin portrait: top bar clears the notch, bottom bar's last tab stops inside the edge, song cards with stacked full-width actions 2026-10-15 12:07:19 +08:00
Jonathan Sykes
7ceefa3d6a Admin login: ignore surrounding spaces/quotes in a pasted password; show-password toggle 2026-10-15 11:52:41 +08:00
Jonathan Sykes
b6e019c352 Catalog collection reads gzipped search responses; admin lyrics jobs resume once their table exists 2026-10-15 11:46:25 +08:00
Jonathan Sykes
41004bf14d Update prompt: ask after at most 45 s instead of waiting up to 8 min for the background download 2026-10-15 11:42:07 +08:00
Jonathan Sykes
59871a5b88 Merge codex/admin-ops: editor redesign, deep search, admin tools and ops 2026-10-15 11:42:07 +08:00
Jonathan Sykes
313d5aef99 Recent searches open only after a real tap/click/key; close when the app is backgrounded 2026-10-15 11:37:40 +08:00
Jonathan Sykes
d45fa49a46 Settings: hidden Admin entry (opens /admin in the app window); admin page keeps a back link on phones 2026-10-15 11:21:49 +08:00
Jonathan Sykes
6f62c8c139 Don't open recent searches on start-up focus; no auto-focus on touch devices 2026-10-15 11:15:40 +08:00
Jonathan Sykes
007e5b5352 Update prompt: non-blocking update card with inline download, install and retry states 2026-10-15 11:10:56 +08:00
Jonathan Sykes
5c94a7d46a Search: answer on the first YouTube page, fill the rest in background; never cache empty results; gzip search JSON 2026-10-15 10:30:20 +08:00
Jonathan Sykes
c242641b2d iPhone: stop rate-slewing the video for sync; add playback telemetry beacon 2026-10-14 08:31:38 +08:00
Jonathan Sykes
4fa33e9810 Phone PWA: no backdrop blurs over video, cap auto quality at 480p on touch phones 2026-10-14 08:23:23 +08:00
Jonathan Sykes
c0c472f3ef Stop asking for HEVC on devices without hardware decode and fall back when frames drop 2026-10-14 03:56:21 +08:00
Jonathan Sykes
27c694901d Add upload library management and ops diagnostics 2026-10-14 03:09:12 +08:00
Jonathan Sykes
5177a4d441 Add device diagnostics and P2P access controls 2026-10-14 02:45:33 +08:00
Jonathan Sykes
e9a597c415 Add live server performance monitoring 2026-10-14 02:43:20 +08:00
Jonathan Sykes
4884589f36 Merge branch 'codex/admin-tools' into codex/admin-ops 2026-10-14 02:38:40 +08:00
Jonathan Sykes
0f402a8d20 Merge branch 'codex/deep-search' into codex/admin-ops 2026-10-14 02:38:38 +08:00
Jonathan Sykes
703aef617b Add resumable bulk lyrics operations 2026-10-14 02:36:30 +08:00
Jonathan Sykes
555027a61c Count all pending cache states 2026-10-14 02:15:00 +08:00
Jonathan Sykes
11b10e38e2 Add searchable lyrics index 2026-10-14 02:10:02 +08:00
Jonathan Sykes
e3821621f3 Add notes backup management 2026-10-14 02:06:33 +08:00
Jonathan Sykes
efac16ddaa Add song-level report triage 2026-10-14 02:04:02 +08:00
Jonathan Sykes
34b1173ea6 Add searchable index health and repair tools 2026-10-14 02:02:07 +08:00
Jonathan Sykes
42c68609ec Add cache pinning and health controls 2026-10-14 01:59:23 +08:00
Jonathan Sykes
180a28d3e4 Add a paged lyrics quality queue 2026-10-14 01:56:53 +08:00
Jonathan Sykes
301fab335f Add searchable admin audit history 2026-10-14 01:54:08 +08:00
Jonathan Sykes
6bcaccbcaf Merge branch 'codex/deep-search' into codex/admin-tools 2026-10-14 01:48:49 +08:00
Jonathan Sykes
58d0e6f140 Add resumable admin deep search 2026-10-14 01:47:35 +08:00
Jonathan Sykes
ca10fe6486 Refetch missing media from catalog source 2026-10-14 01:26:25 +08:00
Jonathan Sykes
593ecaecd9 Extend video catalog source metadata 2026-10-14 01:22:32 +08:00
Jonathan Sykes
d264d0748a Redesign Lyrics Studio timing editor 2026-10-14 00:10:25 +08:00
Jonathan Sykes
f465cc86d0 Plan built-in MySQL search index and a Swoole benchmark 2026-10-13 22:42:12 +08:00
Jonathan Sykes
4b65b9e376 Show toasts above Service mode so the report-needs-a-profile message is visible 2026-10-13 22:38:10 +08:00
Jonathan Sykes
ac7cd0555e Merge final UI batch into beta 2026-10-13 08:12:25 +08:00
Jonathan Sykes
ecb028bbbf Merge main into final UI batch 2026-10-13 08:09:35 +08:00
Jonathan Sykes
33eb818868 Merge recommendation card fix 2026-10-13 08:09:25 +08:00
Jonathan Sykes
640b9b0b33 Verify responsive search actions across themes 2026-10-13 08:08:25 +08:00
Jonathan Sykes
49c7ce9403 Redesign Framework7 and Bento search actions 2026-10-13 08:08:23 +08:00
Jonathan Sykes
2fe453bfb9 Restore outlined Classic search action 2026-10-13 08:08:20 +08:00
Jonathan Sykes
c2176476b5 Glass: move the Now playing label to the bottom right of the card 2026-10-13 07:33:51 +08:00
Jonathan Sykes
c600415ebb Contain recommendation details in glass cards 2026-10-13 07:33:08 +08:00