Przeglądaj źródła

TASKS.md: P1-1-vervolgaudit - alle 13 live CachedNetworkImage-aanroepen nagelopen op het lege-imageUrl-crashpatroon (CLAUDE.md); geen nieuwe crash-risico's gevonden, resterende 4 ongeguarde imageUrl's gebruiken .toString() (geeft 'null'-string, geen crash) en zijn al bekend via P1-11/P2-7.

bob 1 miesiąc temu
rodzic
commit
d01ea9779a
1 zmienionych plików z 18 dodań i 1 usunięć
  1. 18 1
      TASKS.md

+ 18 - 1
TASKS.md

@@ -404,7 +404,24 @@ sub-punten bevestigd via verse export: `HomeUitgaanSliderComponent`
 (= P0-1), `PUitgaanSliderComponent`, `EvenementComponent`,
 `horecagelegenheidCurrent` tonen nu allemaal
 `if (<lijst>.isEmpty) { return Image.asset('assets/images/logo800px.png'); }`
-vóór hun Carousel gebouwd wordt. Uit deze lijst verwijderd.)*
+vóór hun Carousel gebouwd wordt. Uit deze lijst verwijderd. **Vervolgaudit
+2026-08-13 (Claude):** dit loste de lege-líjst-crash op, maar dekt niet
+per se een leeg `imageUrl`-**veld** op een individueel item binnen een
+wél-gevulde lijst (ander sub-geval van hetzelfde
+`CachedNetworkImage`-patroon uit `CLAUDE.md`) — daarom alle 13 live
+`CachedNetworkImage`-aanroepen in het project nagelopen op precies dát:
+9 hebben een `if (... != null && ... != '')`-guard (of `valueOrDefault`,
+wat het risico verlegt naar een kapot-plaatje-icoon i.p.v. een crash —
+zie P0-7/P1-6), en de resterende 4 gebruiken allemaal
+`getJsonField(item, r'''$.logo''').toString()` — bij een ontbrekend
+veld levert `.toString()` op `null` de string `"null"` op (4 tekens),
+nooit een lege string, dus **geen** synchrone
+`CachedNetworkImage`-crash (wel een kapot plaatje, cosmetisch). Van die
+4 zijn er 3 op `HorecagelegenheidEventTabelComponentCopy` (al bekend
+kapot via P1-11, geen nieuwe info) en 1 op het bevestigd dode/orphan
+`UitgaantabelKaartComponentWidget` (P2-7, niet live bereikbaar). **Geen
+nieuwe crash-risico's gevonden** — deze deelvraag is hiermee afgesloten,
+niet opnieuw op te pakken.)*
 
 *(P1-3 afgerond 2026-08-10 avond — Bob, builder, bevestigd via verse
 export: `Flexible(child: Text(functions.kortDatum(widget!.datum)))`