From 85492fae73970818f19d29319c3e8308c267d760 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 8 Apr 2026 11:57:04 +0500 Subject: [PATCH] fix: replace speechSynthesis announce with real audio clip via /api/tts-announce speechSynthesis is silently muted on iOS Safari and Chrome Android after the audio session ends (onended), so chapter announcements never played. Fix: - Add GET /api/tts-announce backend endpoint: streams a short TTS clip for arbitrary text without MinIO caching (backend/internal/backend/) - Add GET /api/announce SvelteKit proxy route (no paywall) - Add announceNavigatePending/announcePendingSlug/announcePendingChapter to AudioStore - Rewrite onended announce branch: sets audioStore.audioUrl to the announcement clip URL so the persistent