Update-Fenster: Changelog wird vollstaendig angezeigt (Truncation entfernt)

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: <lange Beschreibung>" 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.
This commit is contained in:
Sucukdeluxe 2026-06-15 03:40:14 +02:00
parent 0072f924c9
commit d10033f11e

View File

@ -2765,28 +2765,16 @@ export function App(): ReactElement {
} }
let changelogText = ""; let changelogText = "";
if (result.releaseNotes) { if (result.releaseNotes) {
const lines = result.releaseNotes.split("\n"); changelogText = result.releaseNotes
const compactLines: string[] = []; .split("\n")
for (const line of lines) { .filter((line) => !/^#{1,6}\s/.test(line))
if (/^\s{2,}[-*]/.test(line)) continue; .map((line) => line
if (/^#{1,6}\s/.test(line)) continue;
if (!line.trim()) continue;
let clean = line
.replace(/\*\*([^*]+)\*\*/g, "$1") .replace(/\*\*([^*]+)\*\*/g, "$1")
.replace(/\*([^*]+)\*/g, "$1") .replace(/\*([^*]+)\*/g, "$1")
.replace(/`([^`]+)`/g, "$1") .replace(/`([^`]+)`/g, "$1"))
.replace(/^\s*[-*]\s+/, "- ") .join("\n")
.replace(/\n{3,}/g, "\n\n")
.trim(); .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");
} }
const approved = await askConfirmPrompt({ const approved = await askConfirmPrompt({
title: "Update verfügbar", title: "Update verfügbar",