refactor: Gott-Datei message_group.dart in 7 Dateien aufgeteilt
Gleiche Technik wie bei settings_modal.dart: reine Verschiebung per Dart part/part-of, keine Logikänderung. message_group.dart schrumpft von 2775 auf 30 Zeilen (nur noch Bibliothekskopf). Verifiziert per automatisiertem Blockvergleich gegen das Original und flutter analyze (Baseline unverändert). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+42
@@ -13,6 +13,48 @@ Schritt (und beim Abbruch mitten im Schritt den Zwischenstand). Format:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-03 – M2: Gott-Datei `message_group.dart` aufgeteilt (7 Dateien)
|
||||
|
||||
**Erledigt:** Gleiche Technik wie beim `settings_modal.dart`-Umbau direkt
|
||||
darunter angewandt: `features/chat/message_group.dart` (2775 Zeilen, 41
|
||||
Klassen/Enums + 5 lose Top-Level-Hilfsfunktionen) per Dart `part`/`part of`
|
||||
in 7 thematische Dateien unter `features/chat/message/` aufgeteilt:
|
||||
`message_group_core.dart` (`MessageGroup`, `_MessageGroupState`,
|
||||
`_SendFailedRow`, `_MessageBody`, `_ContinuationMessage`(+State), inkl. der in
|
||||
der letzten Session vereinheitlichten `_formatMessageTime`), `message_text.dart`
|
||||
(`_MessageContent`, `_MatrixHtmlText`, `_PlainLinkText`),
|
||||
`message_link_preview.dart` (`_LinkPreview`(+State/Data), `_ReplyPreview`),
|
||||
`message_media.dart` (alle Medientypen: Bild/Audio/Video/Doc/Datei/proprietäre
|
||||
Inline-Karten + die zugehörigen Top-Level-Helfer `_reservedImageSize`/
|
||||
`_classifyMediaError`/`_checkedDownload`/`_mediaFallback` – mit 1000 Zeilen
|
||||
weiterhin der größte Teil, aber thematisch klar abgegrenzt),
|
||||
`message_reactions.dart`, `message_actions.dart` (Hover-Aktionsleiste),
|
||||
`message_shared.dart` (`_Avatar`, `DateDivider` – bleibt öffentlich, da
|
||||
`chat_view.dart` es importiert; über `part`/`part of` weiterhin ohne
|
||||
Umbenennung nutzbar). `message_group.dart` selbst ist jetzt nur noch der
|
||||
Bibliothekskopf (Imports + 7 `part`-Direktiven, 30 Zeilen).
|
||||
|
||||
Verifikation identisch zum Settings-Umbau: automatisierte Klammer-Zählung
|
||||
für die Blockgrenzen (kein manuelles Abtippen), alle 41 Original-Blöcke +
|
||||
5 Helfer wortwörtlich in den neuen Dateien wiedergefunden, Anzahl
|
||||
`class`/`enum` (45) und `Widget build(`-Methoden (27) vorher/nachher
|
||||
identisch, `flutter analyze` unverändert bei 1 bekanntem Hinweis. `dart format`
|
||||
diesmal bewusst NICHT ausgeführt (siehe Stolperfalle im Eintrag darunter).
|
||||
|
||||
**Offen/Nächster Schritt:** UNGETESTET (Pi). Nächster Windows-Lauf: einen
|
||||
Chat mit mehreren Nachrichtentypen öffnen (Text mit Link-Vorschau, Bild,
|
||||
Video, Audio, Datei-Anhang, Reaktionen setzen, Hover-Aktionsleiste,
|
||||
Datums-Trenner, gescheiterte Nachricht mit Retry) – rein mechanische
|
||||
Verschiebung, aber `message_media.dart` ist der bisher am wenigsten oft
|
||||
geprüfte Bereich (Download/Entschlüsselungs-Fehlerpfade), daher dort genauer
|
||||
hinschauen. Danach ggf. `rooms_panel.dart` (2555 Zeilen) oder
|
||||
`space_admin_dialog.dart` (2278 Zeilen) nach demselben Muster aufteilen.
|
||||
|
||||
**Stolperfallen:** Keine neuen – siehe `dart format`-Hinweis im
|
||||
`settings_modal.dart`-Eintrag darunter, hier von vornherein vermieden.
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-03 – M2: Gott-Datei `settings_modal.dart` aufgeteilt (12 Dateien)
|
||||
|
||||
**Erledigt:** `widgets/settings_modal.dart` (5541 Zeilen, 50+ Klassen) war laut
|
||||
|
||||
Reference in New Issue
Block a user