fix(search): add null check for canvas elements in fulltext search (#8090)

This commit is contained in:
Elian Doran 2025-12-19 00:22:43 +02:00 committed by GitHub
commit 9ef4ab9983
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -315,13 +315,18 @@ class NoteContentFulltextExp extends Expression {
[key: string]: any; // Other properties that may exist
}
let canvasContent = JSON.parse(content);
const elements: Element[] = canvasContent.elements;
const texts = elements
.filter((element: Element) => element.type === "text" && element.text) // Filter for 'text' type elements with a 'text' property
.map((element: Element) => element.text!); // Use `!` to assert `text` is defined after filtering
const canvasContent = JSON.parse(content);
const elements = canvasContent.elements;
content = normalize(texts.toString());
if (Array.isArray(elements)) {
const texts = elements
.filter((element: Element) => element.type === "text" && element.text) // Filter for 'text' type elements with a 'text' property
.map((element: Element) => element.text!); // Use `!` to assert `text` is defined after filtering
content = normalize(texts.join(" "));
} else {
content = "";
}
}
return content.trim();