fix: beim Gott-Datei-Split verlorene Erklärkommentare wiederhergestellt

Qualitäts-Review-Befund (a): Alle 6 part/part-of-Aufteilungen hatten Code
vollständig übernommen (Zeilen-Multiset-Vergleich Original vs. heutiger
Stand: keine Code-Zeile verloren, keine hinzugefügt), ABER erklärende
Kommentare über den Klassen gingen verloren (24 Blöcke, u. a. die
HTML-Subset-Doku über _MatrixHtmlText, die Selbst-Aussperr-Warnung über
updatePowerLevelsSafely, TURN-Verbrauchskarte, PDF-Cache/Viewer-Doku).
Alle an den richtigen Klassen wiederhergestellt; reine Trennlinien und
ALL-CAPS-Abschnittslabels bewusst nicht (Gott-Datei-Navigation, durch
die neuen Dateinamen ersetzt).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Bernd Steckmeister
2026-07-03 14:37:48 +02:00
parent d254a36de7
commit f9979e4f32
13 changed files with 62 additions and 0 deletions
@@ -155,6 +155,7 @@ Size? _reservedImageSize(Event event, {required double maxW, required double max
return Size(w * scale, h * scale);
}
// Downloads media bytes then hands off to PyramidAudioPlayer / PyramidVideoPlayer
class _AudioContent extends ConsumerStatefulWidget {
final Event event;
final PyramidTheme pt;
@@ -433,6 +434,7 @@ class _MediaContentState extends ConsumerState<_MediaContent> {
_mediaFallback(pt, error, widget.event.body);
}
// Downloads bytes for a PDF/SVG file and shows PdfInlinePreview or SvgImage.
class _DocPreviewContent extends ConsumerStatefulWidget {
final Event event;
final PyramidTheme pt;
@@ -572,6 +574,8 @@ class _DocPreviewContentState extends ConsumerState<_DocPreviewContent> {
}
}
// Inline card for proprietary formats — shows immediately from event metadata,
// downloads lazily only when the user taps or hits the download button.
class _ProprietaryInlineCard extends ConsumerStatefulWidget {
final Event event;
final PyramidTheme pt;
@@ -953,6 +957,9 @@ String _classifyMediaError(Object e) {
return 'Download fehlgeschlagen';
}
// Thin wrapper over the shared MediaCache so document previews share the same
// LRU byte budget as chat images (keeps the last-viewed media instantly
// available, evicts the oldest).
class _DocBytesCache {
static Uint8List? get(String eventId) => MediaCache.instance.get(eventId);
static void put(String eventId, Uint8List bytes) =>