From 4015b5132e9dca2cef202244de9603314835c803 Mon Sep 17 00:00:00 2001 From: iamdoubz <> Date: Fri, 10 Jul 2026 19:21:48 -0500 Subject: [PATCH] feat(storage): add summary/tags columns to the FTS5 search index meeting_fts only ever indexed title/transcript/notes -- search silently never covered summary or tags despite FR-SEARCH-1 requiring it (bug report: "search not working" for those). meeting_fts is a derived index (never a source of truth), so drop+recreate is safe: backfill_fts repopulates every meeting from scratch on next startup. --- src-tauri/migrations/0007_fts_summary_tags.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src-tauri/migrations/0007_fts_summary_tags.sql diff --git a/src-tauri/migrations/0007_fts_summary_tags.sql b/src-tauri/migrations/0007_fts_summary_tags.sql new file mode 100644 index 0000000..2925a8f --- /dev/null +++ b/src-tauri/migrations/0007_fts_summary_tags.sql @@ -0,0 +1,17 @@ +-- Bug fix: search (FR-SEARCH-1) never covered summary or tags -- meeting_fts +-- only ever had title/transcript_text/notes_text columns. `meeting_fts` is a +-- derived index (rebuilt from meetings/transcript.json/notes.md/summary.json/ +-- tags, never a source of truth), so dropping and recreating it is safe: no +-- data loss, and `backfill_fts` repopulates every meeting on next startup +-- since a freshly created table has no rows for anything yet. +DROP TABLE meeting_fts; + +CREATE VIRTUAL TABLE meeting_fts USING fts5( + meeting_id UNINDEXED, + title, + transcript_text, + notes_text, + summary_text, + tags_text, + tokenize = 'porter unicode61' +);