Summary
Merged in #3920 (feat(frontend): KB full-text search result viewer).
Bug 1: KBSearchResultPanel.vue line ~315 casts the getDocument() result as (full as any)?.content. getDocument() already returns KnowledgeDocument with a non-optional content: string field — the cast removes TypeScript safety with no justification. Fix: use full?.content directly.
Bug 2: KBSearchResultPanel.vue line ~226 creates its own new KnowledgeRepository() instance while the parent KnowledgeSearch.vue already owns one. This causes redundant HTTP requests on every document selection. Fix: accept repository as a prop from the parent and pass the parent's existing instance.
Summary
Merged in #3920 (feat(frontend): KB full-text search result viewer).
Bug 1:
KBSearchResultPanel.vueline ~315 casts thegetDocument()result as(full as any)?.content.getDocument()already returnsKnowledgeDocumentwith a non-optionalcontent: stringfield — the cast removes TypeScript safety with no justification. Fix: usefull?.contentdirectly.Bug 2:
KBSearchResultPanel.vueline ~226 creates its ownnew KnowledgeRepository()instance while the parentKnowledgeSearch.vuealready owns one. This causes redundant HTTP requests on every document selection. Fix: acceptrepositoryas a prop from the parent and pass the parent's existing instance.