From 925c9c1e7befbefcbae545943265c2b50104bb80 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 26 Jul 2025 12:55:52 +0300 Subject: [PATCH] feat(ocr): display OCR text only in search results --- apps/client/src/services/content_renderer.ts | 9 +++++---- .../client/src/widgets/view_widgets/list_or_grid_view.ts | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/client/src/services/content_renderer.ts b/apps/client/src/services/content_renderer.ts index c65b2ff06..8457cbfed 100644 --- a/apps/client/src/services/content_renderer.ts +++ b/apps/client/src/services/content_renderer.ts @@ -23,6 +23,7 @@ interface Options { tooltip?: boolean; trim?: boolean; imageHasZoom?: boolean; + showOcrText?: boolean; } const CODE_MIME_TYPES = new Set(["application/json"]); @@ -48,7 +49,7 @@ async function getRenderedContent(this: {} | { ctx: string }, entity: FNote | FA } else if (["image", "canvas", "mindMap"].includes(type)) { await renderImage(entity, $renderedContent, options); } else if (!options.tooltip && ["file", "pdf", "audio", "video"].includes(type)) { - await renderFile(entity, type, $renderedContent); + await renderFile(entity, type, $renderedContent, options); } else if (type === "mermaid") { await renderMermaid(entity, $renderedContent); } else if (type === "render" && entity instanceof FNote) { @@ -175,7 +176,7 @@ async function renderImage(entity: FNote | FAttachment, $renderedContent: JQuery imageContextMenuService.setupContextMenu($img); // Add OCR text display for image notes - if (entity instanceof FNote) { + if (entity instanceof FNote && options.showOcrText) { await addOCRTextIfAvailable(entity, $renderedContent); } } @@ -205,7 +206,7 @@ async function addOCRTextIfAvailable(note: FNote, $content: JQuery) } } -async function renderFile(entity: FNote | FAttachment, type: string, $renderedContent: JQuery) { +async function renderFile(entity: FNote | FAttachment, type: string, $renderedContent: JQuery, options: Options = {}) { let entityType, entityId; if (entity instanceof FNote) { @@ -242,7 +243,7 @@ async function renderFile(entity: FNote | FAttachment, type: string, $renderedCo } // Add OCR text display for file notes - if (entity instanceof FNote) { + if (entity instanceof FNote && options.showOcrText) { await addOCRTextIfAvailable(entity, $content); } diff --git a/apps/client/src/widgets/view_widgets/list_or_grid_view.ts b/apps/client/src/widgets/view_widgets/list_or_grid_view.ts index 1bfc029ab..5fa4373f8 100644 --- a/apps/client/src/widgets/view_widgets/list_or_grid_view.ts +++ b/apps/client/src/widgets/view_widgets/list_or_grid_view.ts @@ -351,7 +351,8 @@ class ListOrGridView extends ViewMode<{}> { try { const { $renderedContent, type } = await contentRenderer.getRenderedContent(note, { - trim: this.viewType === "grid" // for grid only short content is needed + trim: this.viewType === "grid", // for grid only short content is needed + showOcrText: this.parentNote.type === "search" // show OCR text only in search results }); if (this.highlightRegex) {