Release v26.04.07.3 #23

Merged
bvandeusen merged 0 commits from dev into main 2026-04-07 20:43:13 -04:00
bvandeusen commented 2026-04-07 20:43:02 -04:00 (Migrated from git.fabledsword.com)

Summary

Bug Fixes

  • Briefing discuss: Fetch full article content via trafilatura instead of using cached RSS snippet — fixes wrong-article discussions
  • Chat from-article: Same full-article fetch fix for Android News screen discuss path
  • Push notifications: VAPID key stored as PEM but pywebpush expects base64url DER — fixed format; added admin "Regenerate VAPID Keys" button in Settings → Notifications
  • Title generation: Rewrote to only use user messages — eliminates tool-call JSON, system prompt fragments, and special token leakage from titles
  • Project inference: Reinforced "never infer project names" in system prompt (tool description alone wasn't sufficient)
  • Voice mic button: Now visible on HTTP with graceful error toast; was hidden because navigator.mediaDevices is undefined on non-HTTPS

Features

  • STT context: Pass last assistant message as Whisper initial_prompt to reduce mishearings (e.g. "gold" → "cold")
  • Voice in ChatInputBar: Click-to-toggle mic with silence detection integrated directly into chat input; VoiceOverlay removed
  • Voice status reactivity: Re-checks voice availability on tab visibility change and after saving voice admin settings
  • Background model: Default bumped from qwen2.5:0.5b to qwen2.5:3b for reliable title/summary generation

Test Plan

  • Click Discuss on a briefing article — verify correct article is summarised
  • Regenerate VAPID keys in Settings → Notifications, re-enable, verify push works
  • Create a task via chat — verify no project is inferred
  • Check chat titles are clean (no JSON fragments or special tokens)
  • Mic icon visible in chat input bar; click to record, auto-stops on silence
  • On HTTP: mic shows, clicking gives "requires HTTPS" toast

🤖 Generated with Claude Code

## Summary **Bug Fixes** - **Briefing discuss**: Fetch full article content via trafilatura instead of using cached RSS snippet — fixes wrong-article discussions - **Chat from-article**: Same full-article fetch fix for Android News screen discuss path - **Push notifications**: VAPID key stored as PEM but pywebpush expects base64url DER — fixed format; added admin "Regenerate VAPID Keys" button in Settings → Notifications - **Title generation**: Rewrote to only use user messages — eliminates tool-call JSON, system prompt fragments, and special token leakage from titles - **Project inference**: Reinforced "never infer project names" in system prompt (tool description alone wasn't sufficient) - **Voice mic button**: Now visible on HTTP with graceful error toast; was hidden because `navigator.mediaDevices` is undefined on non-HTTPS **Features** - **STT context**: Pass last assistant message as Whisper `initial_prompt` to reduce mishearings (e.g. "gold" → "cold") - **Voice in ChatInputBar**: Click-to-toggle mic with silence detection integrated directly into chat input; VoiceOverlay removed - **Voice status reactivity**: Re-checks voice availability on tab visibility change and after saving voice admin settings - **Background model**: Default bumped from qwen2.5:0.5b to qwen2.5:3b for reliable title/summary generation ## Test Plan - [ ] Click Discuss on a briefing article — verify correct article is summarised - [ ] Regenerate VAPID keys in Settings → Notifications, re-enable, verify push works - [ ] Create a task via chat — verify no project is inferred - [ ] Check chat titles are clean (no JSON fragments or special tokens) - [ ] Mic icon visible in chat input bar; click to record, auto-stops on silence - [ ] On HTTP: mic shows, clicking gives "requires HTTPS" toast 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/FabledScribe#23