From 0be7c1024df61281ddf984798fe96e72604841d0 Mon Sep 17 00:00:00 2001 From: Jer Miller Date: Thu, 9 Jul 2026 14:19:55 -0600 Subject: [PATCH] fix(speakers): resolve segment audio by registered format, not hardcoded .flac The speakers review, per-sentence play, and owner/discovery sample players were dead on any journal whose segments store audio.m4a (every mac-captured journal), because every audio URL-building site hardcoded {source}.flac. Resolution now probes {source}. over solstone.think.media.FORMATS order (.flac first, preserving existing behavior when both exist), via one helper in the new leaf module solstone/apps/speakers/audio.py. Both duplicated _audio_url builders are deleted. serve_audio now serves the MIME type from media.MIME_TYPES and passes conditional=True, so browser range/seek requests work. Payload shape change: api_review gains an audio_mimetype key, so tests/baselines/api/speakers/review.json was regenerated via make update-api-baselines (not hand-edited). This is the one API-visible change. Owner/discovery samples now emit audio_url: null when a segment's audio has been purged (embeddings outlive audio), and the three