|
@@ -1,26 +1,43 @@
|
|
|
# Uitgaanskrant — takenlijst
|
|
# Uitgaanskrant — takenlijst
|
|
|
|
|
|
|
|
-**Deze sessie (2026-08-21, sessie 42, ~1-2u builder-werk via gedeelde
|
|
|
|
|
-Chrome-browserautomatisering, na expliciete toestemming in de chat):**
|
|
|
|
|
-drie taken afgerond/bijgewerkt. (1) **P1-27** — Home-pagina TabBar
|
|
|
|
|
-"Tab Bar Scrollable" aan, bevestigd via verse export. (2) **P2-11** —
|
|
|
|
|
-categorie-tag-kleur van bordeauxrood naar het groen van
|
|
|
|
|
-uitgaanskrant.com (`#09B34A`) op de 2 bevestigde plekken
|
|
|
|
|
-(`TagCategorieComponent` + `HorecagelegenheidoverzichtKaart`),
|
|
|
|
|
-bevestigd via verse export + `flutter analyze` (geen nieuwe fouten).
|
|
|
|
|
-(3) **Concurrency-vondst bij sessiestart:** een andere/concurrente
|
|
|
|
|
-sessie (commit `d8bbba4`, waarschijnlijk Bob) had ondertussen zowel
|
|
|
|
|
-**P1-26** (gemeente-hartje op `HeaderButtonsComponent`) als **P0-9**
|
|
|
|
|
-(Home's kapotte Drupal-`display_3` → app-side workaround naar
|
|
|
|
|
-`services_3`) al afgerond — beide bevestigd in code/via curl en
|
|
|
|
|
-`TASKS.md` bijgewerkt (was nog stale, zie het "Nog open"-punt bij P1-7
|
|
|
|
|
-Tab 2 dat P1-26 als blocker noemde). **Niet gedaan deze sessie:** een
|
|
|
|
|
-live herverificatie van P1-24/P1-25 na de P0-9-fix — geen van beide
|
|
|
|
|
-lokale AVD's (`emulator-5554`/`5556`) bleek bereikbaar via `adb`
|
|
|
|
|
-ondanks dat de systemd-services "active running" tonen (alleen Bob's
|
|
|
|
|
-fysieke toestel meldde zich na een adb-server-restart); niet verder
|
|
|
|
|
-uitgezocht binnen de sessietijd, blijft open voor een volgende sessie
|
|
|
|
|
-met werkende emulator-toegang.
|
|
|
|
|
|
|
+**Deze sessie (2026-08-21, sessie 42, ~1-2u builder-werk +
|
|
|
|
|
+live-emulatoronderzoek via gedeelde Chrome-browserautomatisering +
|
|
|
|
|
+`mcp__android__*`, na expliciete toestemming in de chat):** twee
|
|
|
|
|
+builder-taken afgerond, plus stale-documentatie gecorrigeerd, plus
|
|
|
|
|
+nieuw onderzoek naar P1-24/P1-25.
|
|
|
|
|
+1. **P1-27** — Home-pagina TabBar "Tab Bar Scrollable" aan.
|
|
|
|
|
+2. **P2-11** — categorie-tag-kleur van bordeauxrood naar het groen van
|
|
|
|
|
+ uitgaanskrant.com (`#09B34A`) op de 2 bevestigde plekken
|
|
|
|
|
+ (`TagCategorieComponent` + `HorecagelegenheidoverzichtKaart`).
|
|
|
|
|
+ Beide eerst geverifieerd via losse `/tmp`-exports, **later alsnog
|
|
|
|
|
+ een echte `flutterflow export-code` in de projectrepo zelf gedaan**
|
|
|
|
|
+ (was aanvankelijk vergeten) + gecommit/gepusht (`7dd0707`) — pas
|
|
|
|
|
+ toen bleek via een live app-launch dat de fixes ook echt zichtbaar
|
|
|
|
|
+ waren (tags groen, tab-labels voluit).
|
|
|
|
|
+3. **Concurrency-vondst bij sessiestart:** een andere/concurrente
|
|
|
|
|
+ sessie (commit `d8bbba4`, waarschijnlijk Bob) had ondertussen zowel
|
|
|
|
|
+ **P1-26** (gemeente-hartje op `HeaderButtonsComponent`) als **P0-9**
|
|
|
|
|
+ (Home's kapotte Drupal-`display_3` → app-side workaround naar
|
|
|
|
|
+ `services_3`) al afgerond — beide bevestigd in code/via curl en
|
|
|
|
|
+ `TASKS.md` bijgewerkt (was nog stale).
|
|
|
|
|
+4. **P1-24/P1-25-herverificatie na Bob's hulp** (hij startte
|
|
|
|
|
+ `emulator-5554` en wees op zijn fysieke `K7V8DYTSMVTW6XBI`, zie ook
|
|
|
|
|
+ zijn losse vraag over `emulator-5556`'s incidentele crashes):
|
|
|
|
|
+ **P1-24's root cause definitief gevonden** (leeg `logo`-veld op
|
|
|
|
|
+ Drupal-content nid 214339, 2 widgets met een guard die niet ver
|
|
|
|
|
+ genoeg gaat — zie P1-24 hieronder, **niet** gelinkt aan P0-9 zoals
|
|
|
|
|
+ eerder gedacht). **P1-25 bleef onderzoek-technisch steken**: Home's
|
|
|
|
|
+ "Uitgaan"-tab reageerde niet meer op scroll-swipes (drie
|
|
|
|
|
+ verschillende methodes geprobeerd, geen effect), en vlak
|
|
|
|
|
+ daarna **crashte `emulator-5554` zelf** (systemd: `signal=SEGV`,
|
|
|
|
|
+ geheugenpiek 20GB) — mogelijk gerelateerd aan P1-24's
|
|
|
|
|
+ image-decode-burst, niet bevestigd. **Nieuw diagnoserecept
|
|
|
|
|
+ toegevoegd aan `CLAUDE.md`** (AVD-crash-diagnose via `journalctl
|
|
|
|
|
+ --user -u android-emulator*.service`, en een `adb logcat`-buffer-
|
|
|
|
|
+ valkuil die een misleidend "er gebeurt hier van alles"-beeld gaf).
|
|
|
|
|
+ Geen tijd meer gehad om `emulator-5554` na de crash opnieuw te
|
|
|
|
|
+ proberen of `emulator-5556`/het fysieke toestel in te zetten voor
|
|
|
|
|
+ P1-25 — blijft open voor een volgende sessie.
|
|
|
|
|
|
|
|
**Vorige sessie (2026-08-20, laat, look&feel-review mobiel+tablet,
|
|
**Vorige sessie (2026-08-20, laat, look&feel-review mobiel+tablet,
|
|
|
code-only + live emulators `emulator-5554`/`emulator-5556`, geen
|
|
code-only + live emulators `emulator-5554`/`emulator-5556`, geen
|
|
@@ -888,52 +905,70 @@ losse P1-taak; de resterende mysterie-crash staat nu apart als
|
|
|
`launchURL()` aan met de kale placeholder-string als URL (geen geldig
|
|
`launchURL()` aan met de kale placeholder-string als URL (geen geldig
|
|
|
schema/host → crash).
|
|
schema/host → crash).
|
|
|
|
|
|
|
|
-**P1-24 · Eigenaar: Onbepaald.** Onverklaarde `Invalid argument(s): No
|
|
|
|
|
-host specified in URI`-excepties — **zelfde foutmelding als het net
|
|
|
|
|
-afgeronde P1-15**, maar blijken **niet** door die fix verklaard: live
|
|
|
|
|
-herbevestigd 2026-08-15 (Claude, verse `ff-run-fvm.sh`-launch,
|
|
|
|
|
-emulator-5554) dat deze exceptie **6x achter elkaar direct bij Home's
|
|
|
|
|
-allereerste launch verschijnt, vóór enige gebruikersinteractie** —
|
|
|
|
|
-dus niet vanuit een `onTap`-knop-tik zoals bij alle bekende P1-15-
|
|
|
|
|
-plekken. **Sterke verdachte gevonden (2026-08-15, Claude, puur via
|
|
|
|
|
-`curl` op de API, geen emulator nodig):** zie de nieuwe **P0-9**
|
|
|
|
|
-hieronder — een van Home's category-secties (`display_id=display_3`)
|
|
|
|
|
-geeft een kapotte Drupal-Views-response terug
|
|
|
|
|
-(`["Display display_3 on view flutterflowmobiel1 could not be found"]`,
|
|
|
|
|
-een array met 1 losse string i.p.v. de verwachte lijst objecten).
|
|
|
|
|
-`HomeUitgaantabelKaartComponentWidget` (die deze sectie rendert, zie
|
|
|
|
|
-`home_uitgaantabel_kaart_component_widget.dart:132`) verwacht overal
|
|
|
|
|
-JSON-objecten met velden als `.logo`/`.categorie` — wat er precies
|
|
|
|
|
-gebeurt als `getJsonField` op een los string-element in de array
|
|
|
|
|
-losgelaten wordt (mogelijk een intern type-mismatch die zich uit als
|
|
|
|
|
-een kapotte/host-loze URI ergens verderop in de widget-boom) is nog
|
|
|
|
|
-niet 100% hard bevestigd met een stack trace, maar de timing (meteen
|
|
|
|
|
-bij Home's launch, geen tap nodig) en de aanwezigheid van precies 1
|
|
|
|
|
-kapotte Drupal-view op exact dezelfde pagina maken dit de meest
|
|
|
|
|
-waarschijnlijke oorzaak. **Volgende stap zodra P0-9 (Drupal-kant)
|
|
|
|
|
-gefixt is: opnieuw live testen of deze exceptie dan ook verdwijnt** —
|
|
|
|
|
-zo niet, dan alsnog het FIFO/`R`-recept of een gerichte `--route`-launch
|
|
|
|
|
-gebruiken om een verse volledige dump te vangen (de
|
|
|
|
|
-single-dump-per-proces-beperking uit `CLAUDE.md` verbruikte de
|
|
|
|
|
-stack trace deze sessie aan de ongerelateerde overflow van P1-25).
|
|
|
|
|
|
|
+**P1-24 · Eigenaar: Onbepaald.** **Root cause definitief gevonden
|
|
|
|
|
+2026-08-21 (Claude, sessie 42, na de P0-9-fix live herbevestigd) — de
|
|
|
|
|
+P0-9-link uit de oude analyse hieronder klopte niet.** Live op verse
|
|
|
|
|
+`flutter run -d emulator-5554` (dus mét `services_3`-fix) trad de
|
|
|
|
|
+exceptie nog steeds meteen op:
|
|
|
|
|
+```
|
|
|
|
|
+EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE
|
|
|
|
|
+ArgumentError: Invalid argument(s): No host specified in URI
|
|
|
|
|
+Image provider: CachedNetworkImageProvider("", scale: 1.0)
|
|
|
|
|
+```
|
|
|
|
|
+— een lege string, niet een kapotte URL. **Bevestigd via curl op
|
|
|
|
|
+`services_1`/`services_3` (Home-slider resp. Uitgaan-tab):** content-item
|
|
|
|
|
+**nid 214339 "RUE. Mini Zomerfestival 2 (The Action)"** heeft een
|
|
|
|
|
+daadwerkelijk **leeg `logo`-veld** in Drupal, en verschijnt in meerdere
|
|
|
|
|
+Home-secties tegelijk. Dit raakt **twee** widgets, allebei met een
|
|
|
|
|
+onvoldoende/ontbrekende guard (zelfde bekende `CachedNetworkImage`-patroon
|
|
|
|
|
+uit `CLAUDE.md`, maar dit keer met een guard die net niet ver genoeg gaat):
|
|
|
|
|
+1. [p_uitgaan_slider_kaart_component_widget.dart:147-148](lib/uitgaanspaginas/p_uitgaan_slider_kaart_component/p_uitgaan_slider_kaart_component_widget.dart:147) —
|
|
|
|
|
+ `Image.network(widget!.logo!, ...)`, **helemaal geen guard** (niet
|
|
|
|
|
+ eens een null-check).
|
|
|
|
|
+2. [home_uitgaantabel_kaart_component_widget.dart:246-259](lib/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart:246) —
|
|
|
|
|
+ guard is `if (getJsonField(evenementenItem, r'''$.logo''') != null)`,
|
|
|
|
|
+ **checkt alleen op `null`, niet op lege string** — bij een leeg
|
|
|
|
|
+ (maar aanwezig) veld faalt de guard niet, en `CachedNetworkImage`
|
|
|
|
|
+ krijgt alsnog `''`.
|
|
|
|
|
+**Fix:** beide guards uitbreiden naar "Is Set and Not Empty"
|
|
|
|
|
+(zelfde recept als elders in `CLAUDE.md` — bij widget 2 de conditie
|
|
|
|
|
+aanvullen met een lege-string-check, bij widget 1 een nieuwe
|
|
|
|
|
+ConditionalBuilder/guard toevoegen, eventueel met de "image not
|
|
|
|
|
+supported"-Icon-ELSE-tak zoals het bestaande patroon). **Impact
|
|
|
|
|
+lager dan gedacht:** de app crasht hier niet hard op — Flutter's
|
|
|
|
|
+Image Resource Service vangt de exceptie zelf op en toont een
|
|
|
|
|
+fallback-icoon (het zwarte grijns-icoon zichtbaar op de "OOK
|
|
|
|
|
+LEUK"-kaart in de Home-carousel) i.p.v. de app te laten crashen. Wel
|
|
|
|
|
+een echte visuele bug (fout icoon i.p.v. foto) en genereert bij elke
|
|
|
|
|
+page-load een burst van ~40-65 "Failed to decode image"-regels in
|
|
|
|
|
+logcat (native `ImageDecoder`-fouten, niet zomaar onschuldig — zie de
|
|
|
|
|
+kanttekening bij P1-25 hieronder). **Nog niet gebouwd** — mechanische
|
|
|
|
|
+fix, klaar voor een volgende builder-sessie.
|
|
|
|
|
|
|
|
**P1-25 · Eigenaar: Onbepaald.** Nieuwe RenderFlex-overflow gevonden
|
|
**P1-25 · Eigenaar: Onbepaald.** Nieuwe RenderFlex-overflow gevonden
|
|
|
2026-08-15 (Claude, live launch emulator-5554): "A RenderFlex
|
|
2026-08-15 (Claude, live launch emulator-5554): "A RenderFlex
|
|
|
overflowed by 129 pixels on the bottom", `Column`, in
|
|
overflowed by 129 pixels on the bottom", `Column`, in
|
|
|
`lib/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart:359`.
|
|
`lib/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart:359`.
|
|
|
-Geen directe visuele crash op het eerste scherm (Home bleef verder
|
|
|
|
|
-bruikbaar), maar wel een echte layout-fout op de al vaker aangepaste
|
|
|
|
|
-`HomeUitgaantabelKaartComponent` (zie P1-19 — dat loste een ander,
|
|
|
|
|
-kale-Row-zonder-Wrap-probleem in hetzelfde bestand op, dit is een
|
|
|
|
|
-nieuw/apart punt). **Mogelijk dezelfde oorzaak als P1-24 hierboven**
|
|
|
|
|
-(de kapotte `display_3`-Drupal-view, zie het nieuwe **P0-9** —
|
|
|
|
|
-dit component rendert die sectie, en 1 array-element dat een losse
|
|
|
|
|
-string is i.p.v. een object past bij zowel een layout- als een
|
|
|
|
|
-URI-fout) — eerst P0-9 fixen en herlive-testen vóórdat hier los
|
|
|
|
|
-verder gezocht wordt. Nog geen stack trace met widget-boom-context
|
|
|
|
|
-gevangen (zelfde single-dump-beperking als P1-24 hierboven) — bij
|
|
|
|
|
-onderzoek eerst een hot-restart vlak vóór het tonen van deze
|
|
|
|
|
-component om een verse volledige dump te krijgen.
|
|
|
|
|
|
|
+**Onderzoek 2026-08-21 (Claude, sessie 42) niet afgerond — geen
|
|
|
|
|
+stack trace gevangen, wel een verontrustende bijvangst.** Na de
|
|
|
|
|
+P0-9-fix kon Home's "Uitgaan"-tab op emulator-5554 niet meer verder
|
|
|
|
|
+gescrold worden (swipe via zowel `mcp__android__swipe` als een kale
|
|
|
|
|
+`adb shell input swipe` had zichtbaar **geen enkel effect**, drie
|
|
|
|
|
+pogingen), dus P1-25's kaart (verderop in de lijst) kon niet bereikt
|
|
|
|
|
+worden om een verse dump te vangen. **Vlak daarna crashte
|
|
|
|
|
+`emulator-5554` zelf** (systemd: `Main process exited, code=dumped,
|
|
|
|
|
+signal=SEGV`, geheugen piekte naar **20GB** vlak vóór de crash — zie
|
|
|
|
|
+`journalctl --user -u android-emulator.service`). Volgorde: launch →
|
|
|
|
|
+(swipe werkt niet) → burst van tientallen "Failed to decode
|
|
|
|
|
+image"-fouten (zie P1-24) → emulator-crash. **Mogelijk verband tussen
|
|
|
|
|
+P1-24's herhaalde mislukte image-decodes en deze geheugenpiek/crash
|
|
|
|
|
+is niet bevestigd** (kan ook toeval/emulator-instabiliteit zijn, zie
|
|
|
|
|
+Bob's eigen ervaring dat deze AVD's af en toe uitvallen), maar de
|
|
|
|
|
+timing is verdacht genoeg om te vermelden. **Volgende stap:** eerst
|
|
|
|
|
+P1-24 fixen (goedkoop, mechanisch), daarna dit opnieuw proberen — als
|
|
|
|
|
+de scroll dan wél werkt en de emulator stabiel blijft, bevestigt dat
|
|
|
|
|
+het verband; zo niet, dan is P1-25 nog steeds een apart, ongevonden
|
|
|
|
|
+probleem.
|
|
|
|
|
|
|
|
**P1-16 · Eigenaar: Bob (Firebase-koppeling is account-/builder-niveau,
|
|
**P1-16 · Eigenaar: Bob (Firebase-koppeling is account-/builder-niveau,
|
|
|
geen Claude-taak).** Geen crash-reporting/analytics (bv. Firebase
|
|
geen Claude-taak).** Geen crash-reporting/analytics (bv. Firebase
|