mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-11 16:57:39 +00:00
Turn the episode "Chapters" affordance from a link-out into an inline, timestamped chapter list. quartz: - PodcastChapters / PodcastChapter (@Serializable) parse the off-event podcast-namespace chapters.json (version + startTime/title/img/url/toc). Lenient parse with a malformed-input test. amethyst: - PodcastChaptersSection fetches the chapters document with the app's preview HTTP client (Tor/proxy aware) off the main thread and renders `timestamp — title` rows in a tinted card; empty/failed renders nothing. - The episode card's "Chapters" chip now toggles this section instead of opening the URL. Fetch is lazy — gated behind the toggle — so scrolling a feed never triggers network. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JGa1EM5KWyDo1o5Yr6sS18