From c4b2a256dbb23b4c5501fe789a8650ef4970aa10 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 25 Feb 2026 13:00:30 +0000 Subject: [PATCH 1/2] feat: merge custom vocabulary from settings into keyword boosting pipeline Co-Authored-By: John --- apps/desktop/src/hooks/useKeywords.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src/hooks/useKeywords.ts b/apps/desktop/src/hooks/useKeywords.ts index 38fca47a05..05be4c20b3 100644 --- a/apps/desktop/src/hooks/useKeywords.ts +++ b/apps/desktop/src/hooks/useKeywords.ts @@ -14,6 +14,10 @@ import * as main from "../store/tinybase/store/main"; export function useKeywords(sessionId: string) { const rawMd = main.UI.useCell("sessions", sessionId, "raw_md", main.STORE_ID); + const vocabTable = main.UI.useResultTable( + main.QUERIES.visibleVocabs, + main.STORE_ID, + ); return useMemo(() => { const { keywords, keyphrases } = @@ -21,8 +25,12 @@ export function useKeywords(sessionId: string) { ? extractKeywordsFromMarkdown(rawMd) : { keywords: [], keyphrases: [] }; - return combineKeywords([...keywords, ...keyphrases]); - }, [rawMd]); + const customVocab = Object.values(vocabTable ?? {}).map( + (row) => row.text, + ); + + return combineKeywords([...customVocab, ...keywords, ...keyphrases]); + }, [rawMd, vocabTable]); } export const extractKeywordsFromMarkdown = ( From db2a221ef1efac14d3f3848f0d3017cece10752d Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 25 Feb 2026 13:08:06 +0000 Subject: [PATCH 2/2] fix: format customVocab map to single line per dprint Co-Authored-By: John --- apps/desktop/src/hooks/useKeywords.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/desktop/src/hooks/useKeywords.ts b/apps/desktop/src/hooks/useKeywords.ts index 05be4c20b3..c2939ffd8f 100644 --- a/apps/desktop/src/hooks/useKeywords.ts +++ b/apps/desktop/src/hooks/useKeywords.ts @@ -25,9 +25,7 @@ export function useKeywords(sessionId: string) { ? extractKeywordsFromMarkdown(rawMd) : { keywords: [], keyphrases: [] }; - const customVocab = Object.values(vocabTable ?? {}).map( - (row) => row.text, - ); + const customVocab = Object.values(vocabTable ?? {}).map((row) => row.text); return combineKeywords([...customVocab, ...keywords, ...keyphrases]); }, [rawMd, vocabTable]);