From d10033f11e1d5bbe845750c5f1a2c3296917a326 Mon Sep 17 00:00:00 2001 From: Sucukdeluxe Date: Mon, 15 Jun 2026 03:40:14 +0200 Subject: [PATCH] Update-Fenster: Changelog wird vollstaendig angezeigt (Truncation entfernt) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der In-App-Update-Dialog kuerzte den Changelog selbst: eine "compactLines"-Logik schnitt jede Zeile NACH dem Doppelpunkt ab, wenn dahinter mehr als 60 Zeichen standen. Aus "- Account-Liste: " wurde so nur "- Account-Liste:". Zusaetzlich wurden eingerueckte Unterpunkte und Leerzeilen verworfen. Fix: Die Kuerzungs-Logik entfernt. Der Changelog wird jetzt vollstaendig uebernommen (nur Markdown-Sternchen/Backticks und ATX-Ueberschriften werden gestrippt, 3+ Leerzeilen auf eine reduziert). Die Anzeige-Box bricht ohnehin um (white-space: pre-wrap) und scrollt (max-height) — es wird also der ganze Text lesbar dargestellt. Hinweis: Der Fix greift fuer Update-Fenster AB der naechsten Version; das Fenster fuer dieses Update wird noch von der alten (kuerzenden) Version gerendert. Reine Renderer-Aenderung. tsc=6, build ok. --- src/renderer/App.tsx | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/src/renderer/App.tsx b/src/renderer/App.tsx index aa23186..cd7aa09 100644 --- a/src/renderer/App.tsx +++ b/src/renderer/App.tsx @@ -2765,28 +2765,16 @@ export function App(): ReactElement { } let changelogText = ""; if (result.releaseNotes) { - const lines = result.releaseNotes.split("\n"); - const compactLines: string[] = []; - for (const line of lines) { - if (/^\s{2,}[-*]/.test(line)) continue; - if (/^#{1,6}\s/.test(line)) continue; - if (!line.trim()) continue; - let clean = line + changelogText = result.releaseNotes + .split("\n") + .filter((line) => !/^#{1,6}\s/.test(line)) + .map((line) => line .replace(/\*\*([^*]+)\*\*/g, "$1") .replace(/\*([^*]+)\*/g, "$1") - .replace(/`([^`]+)`/g, "$1") - .replace(/^\s*[-*]\s+/, "- ") - .trim(); - const colonIdx = clean.indexOf(":"); - if (colonIdx > 0 && colonIdx < clean.length - 1) { - const afterColon = clean.slice(colonIdx + 1).trim(); - if (afterColon.length > 60) { - clean = clean.slice(0, colonIdx + 1).trim(); - } - } - if (clean) compactLines.push(clean); - } - changelogText = compactLines.join("\n"); + .replace(/`([^`]+)`/g, "$1")) + .join("\n") + .replace(/\n{3,}/g, "\n\n") + .trim(); } const approved = await askConfirmPrompt({ title: "Update verfügbar",