From 7ec718218e8205abdcaaac68878a7f7a94973919 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 23 Feb 2026 18:45:20 +0200 Subject: [PATCH] fix(hidden_subtree): attribute of wrong type (relation vs label) causing issues --- apps/server/src/services/hidden_subtree.spec.ts | 11 +++++++++++ apps/server/src/services/hidden_subtree.ts | 6 ++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/apps/server/src/services/hidden_subtree.spec.ts b/apps/server/src/services/hidden_subtree.spec.ts index 3596c54b27..dd3939155b 100644 --- a/apps/server/src/services/hidden_subtree.spec.ts +++ b/apps/server/src/services/hidden_subtree.spec.ts @@ -192,5 +192,16 @@ describe("Hidden Subtree", () => { llmNote = becca.getNote(noteId); expect(llmNote).toBeFalsy(); }); + + it("fixes attribute of wrong type", () => { + const template = becca.getNoteOrThrow("_template_table"); + cls.init(() => { + template.setAttribute("relation", "template", "root"); + hiddenSubtreeService.checkHiddenSubtree(); + }); + const attr = template.getAttributes().find(a => a.name === "template"); + expect(attr).toBeDefined(); + expect(attr?.type).toBe("label"); + }); }); }); diff --git a/apps/server/src/services/hidden_subtree.ts b/apps/server/src/services/hidden_subtree.ts index 96ae485af6..37863b3282 100644 --- a/apps/server/src/services/hidden_subtree.ts +++ b/apps/server/src/services/hidden_subtree.ts @@ -467,8 +467,10 @@ function checkHiddenSubtreeRecursively(parentNoteId: string, item: HiddenSubtree } // Ensure value is consistent. - if (attribute.value !== attrDef.value) { - note.setAttributeValueById(attribute.attributeId, attrDef.value); + if (attribute.value !== attrDef.value || attribute.type !== attrDef.type) { + attribute.type = attrDef.type; + attribute.value = attrDef.value ?? ""; + attribute.save(); } } }