From d96895c276392ad8f6454db1301d0264db775e97 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 1 Apr 2026 12:46:53 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20briefing=20refresh=20=E2=80=94=20weather?= =?UTF-8?q?=20not=20populated=20+=20workspace=20conv=20bleed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two bugs: 1. Manual 'Refresh' button didn't refresh weather/RSS before compiling. The daily scheduler calls refresh_all_feeds + refresh_location_cache before run_compilation; the manual trigger route called run_compilation directly, reading a stale cache. Manual trigger now mirrors the scheduler: refresh feeds and all configured weather locations first. 2. Navigating to WorkspaceView during a long briefing compilation caused the workspace chat to show the briefing content. triggerNow awaits ~30-60s; on completion it called loadAll() → chatStore.fetchConversation which overwrote the workspace's currentConversation in the shared store. Fixed with a _mounted flag — all post-async state writes in BriefingView are now guarded so they no-op if the component has been unmounted. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/views/BriefingView.vue | 16 ++++++++++------ src/fabledassistant/routes/briefing.py | 20 +++++++++++++++++++- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/frontend/src/views/BriefingView.vue b/frontend/src/views/BriefingView.vue index a956c10..1a9836f 100644 --- a/frontend/src/views/BriefingView.vue +++ b/frontend/src/views/BriefingView.vue @@ -1,5 +1,5 @@