From 72d50618678f05ff7abd5fa7d5506975ee513220 Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Tue, 31 Mar 2026 19:36:10 -0400 Subject: [PATCH] Fix description line breaks and disabled-field readability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ticket descriptions are plain text — renderDescriptionView() now always uses nl2br instead of parseMarkdown(), preventing markdown from mangling single newlines into run-on paragraphs. Override base.css opacity:0.45 on disabled .editable-metadata selects (Priority, Category, Type) so they remain legible at full contrast on dark/OLED screens in read mode. Co-Authored-By: Claude Sonnet 4.6 --- assets/css/ticket.css | 11 +++++++++++ assets/js/ticket.js | 3 +-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/assets/css/ticket.css b/assets/css/ticket.css index da43597..7ac6c0b 100644 --- a/assets/css/ticket.css +++ b/assets/css/ticket.css @@ -284,3 +284,14 @@ kbd { margin-bottom: 0.6rem; } .ticket-description-view p:last-child { margin-bottom: 0; } + +/* ── Disabled metadata selects (read mode) ───────────────────── */ +/* base.css sets opacity:0.45 on :disabled — override for read- */ +/* only display fields so they remain legible on dark/OLED screens */ +.editable-metadata:disabled, +.editable-metadata[disabled] { + opacity: 1; + color: var(--text-secondary, #7fa3bf); + cursor: default; + pointer-events: none; +} diff --git a/assets/js/ticket.js b/assets/js/ticket.js index 1130aa4..05925d8 100644 --- a/assets/js/ticket.js +++ b/assets/js/ticket.js @@ -88,9 +88,8 @@ function renderDescriptionView() { var raw = textarea.value || ''; if (!raw.trim()) { viewDiv.innerHTML = '

No description provided.

'; - } else if (typeof parseMarkdown === 'function') { - viewDiv.innerHTML = parseMarkdown(raw); } else { + // Ticket descriptions are plain text — preserve line breaks, never run markdown. viewDiv.innerHTML = lt.escHtml(raw).replace(/\n/g, '
'); } }