From dd0b82f00a8c9ded1c19a1e643a197c514be6d37 Mon Sep 17 00:00:00 2001 From: kolaente Date: Mon, 9 Feb 2026 10:45:42 +0100 Subject: [PATCH] fix(task): use DOMParser in task glance tooltip description preview Replace innerHTML on a detached element with DOMParser for extracting plain text from task descriptions. --- .../src/components/tasks/partials/TaskGlanceTooltip.vue | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/tasks/partials/TaskGlanceTooltip.vue b/frontend/src/components/tasks/partials/TaskGlanceTooltip.vue index 1b84b4e2c..bff5a1fb7 100644 --- a/frontend/src/components/tasks/partials/TaskGlanceTooltip.vue +++ b/frontend/src/components/tasks/partials/TaskGlanceTooltip.vue @@ -113,10 +113,8 @@ const descriptionPreview = computed(() => { return '' } - // Create a temporary div to extract plain text from HTML - const tempDiv = document.createElement('div') - tempDiv.innerHTML = props.task.description - const plainText = tempDiv.textContent || tempDiv.innerText || '' + const doc = new DOMParser().parseFromString(props.task.description, 'text/html') + const plainText = doc.body.textContent || '' const trimmedText = plainText.trim() if (trimmedText.length <= MAX_DESCRIPTION_LENGTH) {