docs: State-Management-Doc korrigiert - MediaCache-Umstellung ist NICHT risikoarm (Chat-Timeline haengt dran), zurueckgestellt
Der erste Befund beruhte auf einem durch head-limit abgeschnittenen grep; message_media.dart (am wenigsten geprueft laut PC_TESTPLAN 3) nutzt den Cache ebenfalls, inkl. statischem Wrapper ohne ref-Zugang. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1427,3 +1427,6 @@
|
||||
2026-07-06 17:49 [Write] C:\Users\nordm\pyramid - Kopie\docs\M2_STATE_MANAGEMENT.md
|
||||
2026-07-06 17:49 [Edit] C:\Users\nordm\pyramid - Kopie\ROADMAP.md
|
||||
2026-07-06 17:49 [Edit] C:\Users\nordm\pyramid - Kopie\PROGRESS.md
|
||||
2026-07-06 17:51 [Edit] C:\Users\nordm\pyramid - Kopie\docs\M2_STATE_MANAGEMENT.md
|
||||
2026-07-06 17:51 [Edit] C:\Users\nordm\pyramid - Kopie\docs\M2_STATE_MANAGEMENT.md
|
||||
2026-07-06 17:51 [Edit] C:\Users\nordm\pyramid - Kopie\ROADMAP.md
|
||||
|
||||
+3
-2
@@ -201,8 +201,9 @@ lassen, ohne dass andere Module angefasst werden müssen.
|
||||
(2026-07-06): Riverpod ist schon dominant (~50 Provider); 4
|
||||
Misch-Patterns identifiziert, Schrittfolge definiert. Schritte 1–2
|
||||
(Call-Manager-UI-State, Voice-Provider-Umzug) GESPERRT bis Bernds
|
||||
Klick-Test (PC_TESTPLAN Abschnitt 8); frei: MediaCache hinter
|
||||
Provider. Push bleibt bewusst wie er ist (Isolate-Zwang). Toter
|
||||
Klick-Test (PC_TESTPLAN Abschnitt 8); MediaCache-Umstellung
|
||||
zurückgestellt (hängt an der Chat-Timeline, Korrektur im Doc).
|
||||
Push bleibt bewusst wie er ist (Isolate-Zwang). Toter
|
||||
`incomingCallProvider` bereits entfernt (41bcaf2).
|
||||
- [x] Toten Code & Duplikate entfernen, Ordnerstruktur vereinheitlichen
|
||||
(PROGRESS.md 2026-07-03: `message_bubble.dart` tot entfernt, doppelte
|
||||
|
||||
@@ -36,9 +36,14 @@ Gefundene Misch-Patterns, nach Gewicht:
|
||||
Mini-Call-Widget gesetzt/gelesen und gehören fachlich ins
|
||||
`voice_channel`-Modul (Join-Zustand + Presence sind Modulsache).
|
||||
3. **`MediaCache.instance`** (`core/media_cache.dart:19`): reines
|
||||
Singleton, direkt von `widgets/mxc_image.dart` benutzt. Kein
|
||||
UI-Zustand, nur Cache – geringer Schaden, leicht hinter einen
|
||||
`Provider<MediaCache>` zu legen.
|
||||
Singleton, kein UI-Zustand, nur Cache. Nutzer sind `widgets/mxc_image.dart`
|
||||
(7 Stellen, Widgets – leicht umstellbar) UND
|
||||
`features/chat/message/message_media.dart` (7 Stellen, darunter der
|
||||
statische Wrapper `_DocBytesCache` für Dokument-Vorschauen, dessen
|
||||
Aufrufer keinen `ref`-Zugang haben). Eine Umstellung müsste `ref`/die
|
||||
Cache-Instanz durch die statischen Helfer der Chat-Timeline fädeln –
|
||||
und genau dieser Code (Download-/Entschlüsselungs-Fehlerpfade) ist
|
||||
laut PC_TESTPLAN Abschnitt 3 der am wenigsten geprüfte Teil der App.
|
||||
4. **Push/Notifications:** modul-globale Mutable-Zustände in
|
||||
`core/notification_service.dart` (`_windowsNotifs`-Map, Plugin-Globals)
|
||||
und direkte `SharedPreferences`-Zugriffe in `background_push.dart`/
|
||||
@@ -75,9 +80,12 @@ Bereits erledigt im Zuge dieser Analyse: der seit dem Call-Piloten tote
|
||||
`voiceParticipantsProvider` ins `voice_channel`-Modul umziehen**
|
||||
(zusammen mit `kVoicePresenceType`). Mechanisch klein, aber
|
||||
Call-Pfad-nah – sinnvoll im selben Zug wie Schritt 1.
|
||||
3. **[frei] `MediaCache` hinter `Provider<MediaCache>`** und die
|
||||
`.instance`-Zugriffe in `mxc_image.dart` auf `ref` umstellen –
|
||||
risikoarm, jederzeit möglich, guter Lückenfüller.
|
||||
3. **[ZURÜCKGESTELLT] `MediaCache` hinter `Provider<MediaCache>`:**
|
||||
Erst als „risikoarm, jederzeit" eingestuft – das stimmte NICHT
|
||||
(Korrektur 2026-07-06, siehe Ist-Stand Punkt 3: auch die Chat-Timeline
|
||||
hängt dran, inkl. statischer Helfer ohne `ref`). Gehört in den Zug des
|
||||
`chat_timeline`-Moduls (Schnitt-Doc Punkt 9) bzw. frühestens nach dem
|
||||
Klick-Test von PC_TESTPLAN Abschnitt 3 – nicht als Lückenfüller.
|
||||
4. **[kein Umbau] Push/Notifications:** bleibt wie es ist
|
||||
(Isolate-Zwang); nur bei ohnehin anstehenden Push-Arbeiten die
|
||||
Prefs-Zugriffe auf die `Prefs`-Fassade ziehen (Schnitt-Doc Punkt 6).
|
||||
|
||||
Reference in New Issue
Block a user