From 71ca0ecb5c07343be65e4bbd68f61fc0cb94f6aa Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Mon, 30 Mar 2026 20:53:06 -0400 Subject: [PATCH] fix: voice status global store, per-view mic reactivity, single-voice preview MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Move voice status into settings store (voiceSttReady, voiceTtsReady), checked once at login and refreshed after admin model reload - ChatView, BriefingView, DashboardChatInput now use computed refs from the store — mic buttons appear reactively without needing a page reload - BriefingView: separate STT-only guard for mic PTT vs TTS-only guard for listen mode / speak buttons - Add ▶ Preview button to Voice & Speed section in Settings for single- voice testing without enabling blend mode Co-Authored-By: Claude Sonnet 4.6 --- .remember/tmp/save-session.pid | 1 + frontend/src/App.vue | 1 + .../src/components/DashboardChatInput.vue | 15 ++++------- frontend/src/stores/settings.ts | 24 ++++++++++++++++- frontend/src/views/BriefingView.vue | 24 +++++++---------- frontend/src/views/ChatView.vue | 15 +++-------- frontend/src/views/SettingsView.vue | 27 +++++++++++++++++++ 7 files changed, 70 insertions(+), 37 deletions(-) create mode 100644 .remember/tmp/save-session.pid diff --git a/.remember/tmp/save-session.pid b/.remember/tmp/save-session.pid new file mode 100644 index 0000000..937c971 --- /dev/null +++ b/.remember/tmp/save-session.pid @@ -0,0 +1 @@ +2298268 diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 6d89270..615a897 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -22,6 +22,7 @@ const { showShortcuts, toggleShortcuts, closeShortcuts } = useShortcuts(); function startAppServices() { chatStore.startStatusPolling(); settingsStore.fetchSettings(); + settingsStore.checkVoiceStatus(); // Sync browser timezone to the server on every login/page load. apiPut("/api/settings", { user_timezone: Intl.DateTimeFormat().resolvedOptions().timeZone }).catch(() => {}); } diff --git a/frontend/src/components/DashboardChatInput.vue b/frontend/src/components/DashboardChatInput.vue index 17120c6..40a38d5 100644 --- a/frontend/src/components/DashboardChatInput.vue +++ b/frontend/src/components/DashboardChatInput.vue @@ -1,8 +1,9 @@ @@ -430,7 +424,7 @@ onMounted(async () => {
+