Commit Graph

212 Commits

Author SHA1 Message Date
Jonathan Sykes
450dc80488 Search: server-known videos first with YouTube results appended as they arrive; On server badge on cards the server holds a copy of 2026-10-15 19:46:16 +08:00
Jonathan Sykes
3f913de0c3 Watch party invites by profile: host invites online profiles, invited users see running parties on open and can join one or dismiss 2026-10-15 19:26:37 +08:00
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
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
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
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
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
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
09ed50d494 Merge main (update-after-download, search button) into beta 2026-10-11 18:04:18 +08:00
Jonathan Sykes
a22b8b44c9 Ask for the update only after it has downloaded; restyle the search button per layout and colour theme 2026-10-11 17:10:16 +08:00
Jonathan Sykes
e3283c53a0 Merge main (auto-save played videos, lyrics editor audio) into beta 2026-10-11 03:57:27 +08:00
Jonathan Sykes
f84ecb5ae9 Auto-save every video you play for offline, with a Settings switch 2026-10-11 03:26:04 +08:00
Jonathan Sykes
7f49c317fd Merge retry hardening with DSP cache opt-in 2026-10-10 23:00:32 +08:00
Jonathan Sykes
ef12468a99 Extend JamesDSP with convolution and spatial audio 2026-10-10 19:25:06 +08:00
Jonathan Sykes
d02796b0eb Retry transient foreground requests before surfacing errors 2026-10-09 21:53:03 +08:00
Jonathan Sykes
6bb3271431 Add JamesDSP playback controls and verification harness 2026-10-09 20:29:37 +08:00
Jonathan Sykes
27b32ff0c9 Add the guarded JamesDSP audio controller 2026-10-09 20:00:49 +08:00
Jonathan Sykes
76037613a7 Extract the shared realtime audio graph owner 2026-10-09 19:46:00 +08:00
Jonathan Sykes
9a37715da4 Unify transport controls with themed SVG symbols and accessible playback states 2026-10-09 15:54:22 +08:00
Jonathan Sykes
cf27d4f15a Merge branch 'codex/ui-fixes' 2026-10-09 14:37:51 +08:00
Jonathan Sykes
2001e77cee Use theme-aware SVGs for download and offline actions 2026-10-09 14:28:42 +08:00
Jonathan Sykes
009a155568 Resume offline preparation on launch and show cache readiness 2026-10-09 09:33:57 +08:00
Jonathan Sykes
2c5003575c Report unavailable lazy chunks without rejecting UI actions 2026-10-08 04:48:52 +08:00
Jonathan Sykes
b335f95f45 Load Stats view separately from listening-stat tracking 2026-10-08 04:46:40 +08:00
Jonathan Sykes
0475a1826c Load sharing and external-player tools on demand 2026-10-08 04:44:35 +08:00
Jonathan Sykes
94ea211605 Lazy-load watch-party sessions behind synchronous playback hooks 2026-10-08 04:42:35 +08:00
Jonathan Sykes
8e7fa1959a Load remote UI on intent and preserve synchronous host hooks 2026-10-08 04:41:30 +08:00
Jonathan Sykes
5fb9564468 Load the presenter client only on presenter entry 2026-10-08 04:39:52 +08:00
Jonathan Sykes
3c9a24ae45 Extract eager shell and shared view renderers before app boot 2026-10-08 04:38:37 +08:00
Jonathan Sykes
46ec9ab2ca Report layouts selected through imported settings to the worker 2026-10-08 04:02:43 +08:00
Jonathan Sykes
5d6a1545df Load layouts and optional features from staged asset caches 2026-10-08 01:29:50 +08:00
Jonathan Sykes
be1d939afd Merge branch 'codex/prewarm-next'
# Conflicts:
#	frontend/index.html
2026-10-07 22:44:11 +08:00
Jonathan Sykes
d65b9e032a Prewarm upcoming queue streams 2026-10-07 16:30:15 +08:00
Jonathan Sykes
233bf94e4c Pause non-playback UI timers while the page is hidden 2026-10-07 03:30:57 +08:00
Jonathan Sykes
2b286ae146 Stop the last song from restarting and freezing service-mode lyrics 2026-10-07 02:12:07 +08:00
Jonathan Sykes
a143c8331d Stop video seek loop when returning from background 2026-10-06 09:14:06 +08:00
Jonathan Sykes
af38affdbe Make fullscreen video fill the viewport 2026-10-06 04:12:25 +08:00
Jonathan Sykes
0bda242a98 Add Framework7 Swipe layout with swipeout rows, up-next sheet and mini-bar gestures 2026-10-06 02:01:56 +08:00
Jonathan Sykes
1754933f7e Polish Bento scrolling and controls with full screen coverage 2026-10-04 23:44:51 +08:00
Jonathan Sykes
4e5b1584c6 Restore Bento theme integration lost during recovery 2026-10-04 22:47:33 +08:00
Jonathan Sykes
e100d47143 Style Bento library rows and download recovery controls 2026-10-04 22:42:22 +08:00
Jonathan Sykes
838798ca9b Build the new Bento Hub shell and browsing tiles 2026-10-04 03:09:15 +08:00
Jonathan Sykes
2042c9b6fc Recover related videos with bounded discovery and retryable fallbacks 2026-10-04 02:42:02 +08:00
Jonathan Sykes
df4acfc9f1 Keep iPhone audio playing through background handoffs 2026-10-04 02:29:10 +08:00