From 4dd3c1fe813f70db3027a6ddcfcf317bdcfab7c8 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Tue, 10 Mar 2026 08:11:39 -0400 Subject: [PATCH] Fix queued bubbles, queue persistence, duplicate confirm UX, semantic check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Queued message bubbles now match user bubble style (primary colour, right-aligned, opacity 0.45) in both ChatView and WorkspaceView - Queue persisted to localStorage (fa_conv_queue_); survives page refresh, restored on fetchConversation, cleared on delete - ToolCallCard confirm/deny: buttons now inline in header row; "Create anyway" calls POST /api/notes or /api/tasks directly (no LLM round-trip); shows "✓ Created" / "Skipped" state; removed chatStore dependency - POST /api/notes and POST /api/tasks now accept project (name string) and resolve to project_id server-side, matching tools.py behaviour - Remove semantic similarity duplicate check from create_note and create_task — 0.87 threshold was too aggressive for topically-related notes; title-based exact/fuzzy checks are sufficient Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/components/ToolCallCard.vue | 71 +++++++++++++++++------- frontend/src/stores/chat.ts | 30 +++++++++- frontend/src/views/ChatView.vue | 16 ++++-- frontend/src/views/WorkspaceView.vue | 16 ++++-- src/fabledassistant/routes/notes.py | 9 ++- src/fabledassistant/routes/tasks.py | 9 ++- src/fabledassistant/services/tools.py | 18 ------ 7 files changed, 116 insertions(+), 53 deletions(-) diff --git a/frontend/src/components/ToolCallCard.vue b/frontend/src/components/ToolCallCard.vue index 067b51c..3c1e955 100644 --- a/frontend/src/components/ToolCallCard.vue +++ b/frontend/src/components/ToolCallCard.vue @@ -1,16 +1,15 @@