Release v26.04.06.1 — Article reading, quick capture rewrite, settings consistency #19

Merged
bvandeusen merged 0 commits from dev into main 2026-04-05 22:21:02 -04:00
bvandeusen commented 2026-04-05 22:12:26 -04:00 (Migrated from git.fabledsword.com)

Summary

Article reading

  • New read_article tool — fetches full text of any URL for the LLM to read
  • Removed RSS article content character cap (was 50K)
  • Fix: history reconstruction now correctly replays tool_calls so tool context survives follow-up questions
  • Briefing Discuss button now uses a synthetic tool exchange to inject article content before launching generation

Quick capture refactor

  • Replaced the old intent router (intent.py) with native Ollama tool-calling via stream_chat_with_tools
  • _should_think now decides whether extended reasoning is needed (no more hard-coded disable)
  • Deleted intent.py (~460 lines)

Settings consistency pass

  • Timezone field — new section in General tab with text input + Detect button; saves user_timezone and immediately live-patches the briefing scheduler
  • Briefing tab — "Firing in timezone" hint now shows the stored value instead of the live browser API
  • Account tab — SSO users see an info banner instead of email/password forms (which they can't use)
  • Briefing tab — removed redundant Office Days section (work days now come from Profile tab)
  • Scheduler — slot toggles (briefing_config.slots) now actually control which jobs are scheduled
  • Scheduler — morning slot skips non-work days using profile.work_schedule.days
  • Settings route — saving user_timezone propagates to the scheduler immediately without requiring a briefing config re-save

Bug fix

  • backfill_rss_article_content was importing the removed CONTENT_MAX_CHARS constant, causing an ImportError on startup

Test plan

  • Set timezone in General settings → Detect fills browser timezone → Save persists it
  • Briefing tab "Firing in timezone" shows stored value
  • SSO account: Account tab shows info banner, no email/password forms
  • Local account: Account tab shows email/password forms as before
  • Briefing tab: Office Days section is gone
  • Disable morning slot toggle → morning job removed from scheduler
  • Morning slot: doesn't fire on weekend if work days are Mon–Fri
  • Quick capture via Android app still creates correct item types
  • Share a URL in chat → assistant uses read_article to read it
  • Briefing Discuss button launches generation with article context

🤖 Generated with Claude Code

## Summary ### Article reading - New `read_article` tool — fetches full text of any URL for the LLM to read - Removed RSS article content character cap (was 50K) - Fix: history reconstruction now correctly replays `tool_calls` so tool context survives follow-up questions - Briefing Discuss button now uses a synthetic tool exchange to inject article content before launching generation ### Quick capture refactor - Replaced the old intent router (`intent.py`) with native Ollama tool-calling via `stream_chat_with_tools` - `_should_think` now decides whether extended reasoning is needed (no more hard-coded disable) - Deleted `intent.py` (~460 lines) ### Settings consistency pass - **Timezone field** — new section in General tab with text input + Detect button; saves `user_timezone` and immediately live-patches the briefing scheduler - **Briefing tab** — "Firing in timezone" hint now shows the stored value instead of the live browser API - **Account tab** — SSO users see an info banner instead of email/password forms (which they can't use) - **Briefing tab** — removed redundant Office Days section (work days now come from Profile tab) - **Scheduler** — slot toggles (`briefing_config.slots`) now actually control which jobs are scheduled - **Scheduler** — morning slot skips non-work days using `profile.work_schedule.days` - **Settings route** — saving `user_timezone` propagates to the scheduler immediately without requiring a briefing config re-save ### Bug fix - `backfill_rss_article_content` was importing the removed `CONTENT_MAX_CHARS` constant, causing an `ImportError` on startup ## Test plan - [ ] Set timezone in General settings → Detect fills browser timezone → Save persists it - [ ] Briefing tab "Firing in timezone" shows stored value - [ ] SSO account: Account tab shows info banner, no email/password forms - [ ] Local account: Account tab shows email/password forms as before - [ ] Briefing tab: Office Days section is gone - [ ] Disable morning slot toggle → morning job removed from scheduler - [ ] Morning slot: doesn't fire on weekend if work days are Mon–Fri - [ ] Quick capture via Android app still creates correct item types - [ ] Share a URL in chat → assistant uses `read_article` to read it - [ ] Briefing Discuss button launches generation with article context 🤖 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#19