freezmo/lib
Martin Dvorak a4c85ed77a Frutiger Aero: the theme now plays its soundtrack
Selecting Aero starts a random track from the Frutiger Aero playlist
(Bigblamboii's set on SoundCloud); every following track is drawn at random
too, so the set shuffles itself. The player is the credit bar from the mock:
a 44px glass circle with a note by default, expanding into pause + the
track's title + "SoundCloud - artist" (both reported by the widget).

- Only Aero ever touches SoundCloud: the embed and the widget API are created
  while the theme is on and the listener has not turned it off; light/dark
  request nothing (pinned by a suite check).
- The off choice persists (freezmo.aero-music.v1); re-selecting Aero in
  Settings is fresh consent (applyTheme clears it).
- Autoplay rides the theme-selection gesture; after a reload the circle comes
  up paused (browsers require a gesture) and one tap starts it.
- Volume 45; the iframe is 1px and inert, only the audio engine; the credit
  area collapses back to the circle without stopping the music.
- Geometry: clears the phone tab bar, lifts above the chat composer and the
  wizard bar, steps aside under immersive overlays and while the cookie
  notice shares the corner. 44px targets on phones.
- Cookie policy gained the third-party-embed paragraph it was owed.

tests/aero-music-test.mjs (16th suite, stubbed widget API, 21 checks). All
suites green, contrast scan clean. Version 0.7.0, SW v92.
2026-10-15 22:47:44 +00:00
..
aero-music.ts Frutiger Aero: the theme now plays its soundtrack 2026-10-15 22:47:44 +00:00
ai.ts Study cards: from-your-notes, read aloud, timed runs 2026-10-15 05:53:47 +00:00
backup.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
chat-active.ts Chat layout: history in the main sidebar, consistent header, cleaner icon 2026-10-11 20:11:11 +00:00
chat-client.ts Bring-your-own keys for cloud providers (OpenAI-compatible) 2026-10-14 06:29:39 +00:00
chat-context.ts Chat mode, phase 1: grounded streaming chat over your notes 2026-10-11 18:32:11 +00:00
chat-seed.ts Chat mode, phase 1: grounded streaming chat over your notes 2026-10-11 18:32:11 +00:00
chat-store.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
chat-trim.ts Chat mode, phase 1: grounded streaming chat over your notes 2026-10-11 18:32:11 +00:00
chat.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
client-api.ts Bring-your-own keys for cloud providers (OpenAI-compatible) 2026-10-14 06:29:39 +00:00
clipboard.ts Add “Make my homework”, and finish the mobile polish pass 2026-10-08 18:30:33 +00:00
confetti.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
config.ts Design pass (all themes + chat UI), model picker, reduce-motion toggle 2026-10-14 05:06:02 +00:00
deck-ops.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
deck-seed.ts Chat mode, phase 2: local history, answer actions, motion polish 2026-10-11 19:03:48 +00:00
dev-mode.ts Infra: split dev and production (releases, services, deploy script) 2026-10-11 19:25:29 +00:00
documents.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
folders.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
haptics.ts Native-feel pass: PWA integration, system back, offline, haptics, undo 2026-10-10 12:16:03 +00:00
history.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
homework.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
http-guard.ts Add an English/Czech interface language switch 2026-10-08 13:56:32 +00:00
i18n-dict.ts Frutiger Aero: the theme now plays its soundtrack 2026-10-15 22:47:44 +00:00
i18n.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
image.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
install.ts Add the Install the app bottom sheet for mobile browsers 2026-10-07 08:27:43 +00:00
language.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00
learning.ts Review breakdown: show each deck's own activity total 2026-10-15 21:20:53 +00:00
legal.ts Frutiger Aero: the theme now plays its soundtrack 2026-10-15 22:47:44 +00:00
model-errors.ts Phase 1: backup, encrypted sync and monthly-usage handling 2026-10-10 13:43:42 +00:00
model-guard.ts Security: model budget + concurrency caps, SSRF guards, spoof-proof limits 2026-10-12 20:40:57 +00:00
motion-pref.ts Aero button glass + homework report control; reduced-motion sheet glitch 2026-10-14 09:19:54 +00:00
motion.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
nav.ts Navigation restructure: five-tab bottom bar, no phone drawer 2026-10-10 16:53:55 +00:00
notes-source.ts Study cards: from-your-notes, read aloud, timed runs 2026-10-15 05:53:47 +00:00
ollama.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
openai-compat.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
prompts.ts Study cards: from-your-notes, read aloud, timed runs 2026-10-15 05:53:47 +00:00
providers-client.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
providers-server.ts Bring-your-own keys for cloud providers (OpenAI-compatible) 2026-10-14 06:29:39 +00:00
providers.ts First-run gate offers free Ollama vs paid providers; add Google Gemini 2026-10-14 07:09:05 +00:00
push-store.ts Security: model budget + concurrency caps, SSRF guards, spoof-proof limits 2026-10-12 20:40:57 +00:00
question-reports.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
rate-limit.ts Security: model budget + concurrency caps, SSRF guards, spoof-proof limits 2026-10-12 20:40:57 +00:00
schemas.ts Study cards: from-your-notes, read aloud, timed runs 2026-10-15 05:53:47 +00:00
settings.ts Chat mode, phase 1: grounded streaming chat over your notes 2026-10-11 18:32:11 +00:00
share-inbox.ts Native-feel pass: PWA integration, system back, offline, haptics, undo 2026-10-10 12:16:03 +00:00
share-pending.ts Native-feel pass: PWA integration, system back, offline, haptics, undo 2026-10-10 12:16:03 +00:00
share.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
speech.ts Study cards: from-your-notes, read aloud, timed runs 2026-10-15 05:53:47 +00:00
storage.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
sync-auto.ts Deck/homework writes sync themselves when sync is on 2026-10-12 16:40:49 +00:00
sync-key.ts Phase 1: backup, encrypted sync and monthly-usage handling 2026-10-10 13:43:42 +00:00
sync-state.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
sync.ts Chat mode, phase 2: local history, answer actions, motion polish 2026-10-11 19:03:48 +00:00
theme.ts Frutiger Aero: the theme now plays its soundtrack 2026-10-15 22:47:44 +00:00
toast.ts Native-feel pass: PWA integration, system back, offline, haptics, undo 2026-10-10 12:16:03 +00:00
ui-events.ts Phase 1: backup, encrypted sync and monthly-usage handling 2026-10-10 13:43:42 +00:00
use-back-close.ts Navigation restructure: five-tab bottom bar, no phone drawer 2026-10-10 16:53:55 +00:00
use-health.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
use-notes-intake.ts Add “Make my homework”, and finish the mobile polish pass 2026-10-08 18:30:33 +00:00
use-online.ts Native-feel pass: PWA integration, system back, offline, haptics, undo 2026-10-10 12:16:03 +00:00
use-phone.ts Mobile declutter pass: step flows, compact cards, simplified settings 2026-10-10 10:43:32 +00:00
use-version.ts App versioning + the create page's missing top padding 2026-10-12 20:04:26 +00:00
use-wake-lock.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
utils.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
version.ts App versioning + the create page's missing top padding 2026-10-12 20:04:26 +00:00
wizard-busy.ts Lock the wizard mode switch while a run is generating 2026-10-10 17:47:05 +00:00
wizard-draft.ts Codebase audit: fix bugs, performance issues, dead code, and edge cases 2026-10-14 19:00:17 +00:00
xp.ts Freezmo: self-hosted notes-to-activities study app 2026-10-06 20:56:55 +00:00