|
|
@@ -736,6 +736,74 @@ P1-15 (niet dezelfde oorzaak als deze RenderFlex-overflow).
|
|
|
Nog niet geprobeerd: `nohup` + `setsid` (volledig loskoppelen van de
|
|
|
procesgroep, niet alleen `disown`) — theoretisch zou dat dit specifieke
|
|
|
reap-probleem kunnen omzeilen, onbevestigd.
|
|
|
+ - **Update, zelfde avond: `setsid` bevestigd de fix — interactieve
|
|
|
+ `flutter run` (incl. werkende `R`-hot-restart) is nu een
|
|
|
+ betrouwbaar herhaalbaar recept, bewaar dit:**
|
|
|
+ ```
|
|
|
+ mkfifo /pad/naar/fifo
|
|
|
+ setsid bash -c "exec 9>'/pad/naar/fifo'; sleep 3600" < /dev/null > /dev/null 2>&1 &
|
|
|
+ disown
|
|
|
+ # in een aparte run_in_background Bash-call:
|
|
|
+ setsid script -qc "fvm flutter run -d <device>" /pad/naar/logfile < /pad/naar/fifo > /dev/null 2>&1 &
|
|
|
+ disown
|
|
|
+ # later, in weer een eigen call, om te restarten:
|
|
|
+ printf 'R' > /pad/naar/fifo
|
|
|
+ ```
|
|
|
+ De sleutel is `setsid` op **beide** achtergrondprocessen (niet
|
|
|
+ alleen `disown`) — dat geeft ze een eigen sessie, los van de
|
|
|
+ `run_in_background`-Bash-call die ze opstartte, en ze overleven
|
|
|
+ daarna gewoon zolang nodig, ook over meerdere losse tool-calls heen.
|
|
|
+ Hiermee **wél** een verse, volledige stack trace gevangen — alleen
|
|
|
+ niet (nog) voor de Activiteiten-tab-overflow zelf: het gat tussen
|
|
|
+ `R` versturen en de daaropvolgende deep-link-navigatie
|
|
|
+ (`adb shell am start -a android.intent.action.VIEW -d "..."`) bleek
|
|
|
+ **2x achter elkaar te laat** (~0.3-1s vertraging door
|
|
|
+ tool-call-overhead) — Home's eigen overflow (zie P1-19 hieronder)
|
|
|
+ vuurt binnen die tijd al. Race dus nog niet gewonnen; wel de
|
|
|
+ infrastructuur om het te proberen nu solide. **Idee voor een
|
|
|
+ volgende poging (niet meer beproefd deze sessie):** de deep-link
|
|
|
+ vanuit een tweede, al-vooraf-klaarstaande `adb`-aanroep zonder
|
|
|
+ tussenliggende Bash-tool-round-trip versturen (bv. beide commando's
|
|
|
+ — `R` sturen én de deep-link — in **één** Bash-aanroep met een zo
|
|
|
+ kort mogelijke `sleep` ertussen, i.p.v. twee losse tool-calls), of
|
|
|
+ onderzoeken of `flutter attach` (i.p.v. `flutter run`) op een al
|
|
|
+ lopend, via deep-link cold-started proces een raceloze combinatie
|
|
|
+ oplevert.
|
|
|
+
|
|
|
+**P1-19 · Eigenaar: Onbepaald.** Nieuwe, nog niet eerder gedocumenteerde
|
|
|
+`RenderFlex overflowed`-crash op de **Home-pagina**, live bevestigd met
|
|
|
+een **volledige, verse stack trace** (2026-08-09, via de `setsid`-
|
|
|
+interactieve-`flutter run`-sessie hierboven, 2x identiek reproduceerbaar
|
|
|
+bij elke fresh app-start/hot-restart):
|
|
|
+```
|
|
|
+A RenderFlex overflowed by 113 pixels on the right.
|
|
|
+Row:file:///.../lib/uitgaanspaginas/home_uitgaantabel_kaart_component/home_uitgaantabel_kaart_component_widget.dart:301:50
|
|
|
+constraints: BoxConstraints(0.0<=w<=111.5, 0.0<=h<=152.0)
|
|
|
+size: Size(111.5, 40.0)
|
|
|
+```
|
|
|
+**Root cause (code-niveau bevestigd,
|
|
|
+`home_uitgaantabel_kaart_component_widget.dart:299-301`):** een `Row`
|
|
|
+(`mainAxisSize: MainAxisSize.max`) met `children: List.generate(categorieitem.length,
|
|
|
+...)` — voor elk element in de dynamische `categorie`-lijst van een
|
|
|
+evenement wordt een `TagCategorieComponentWidget`-pilletje in de Row
|
|
|
+gezet, **zonder `Wrap`, zonder horizontale scroll, zonder
|
|
|
+`Expanded`/`Flexible` per tag**. Zodra een evenement 2+ categorieën
|
|
|
+heeft (of één lange categorienaam), passen de pilletjes niet in de
|
|
|
+~111px die de Row van zijn ouder krijgt. Dit is dezelfde soort bug als
|
|
|
+de al bekende ontbrekende-Flexible-patronen (P1-3/P1-11), maar op een
|
|
|
+**ander component** dan beide daar genoemde — niet eerder in dit
|
|
|
+bestand vermeld. **Fix (builder):** component
|
|
|
+`HomeUitgaantabelKaartComponent` → Widget Tree → de Row met de
|
|
|
+`TagCategorieComponentWidget`-kinderen (rond de hierboven genoemde
|
|
|
+code) → wrappen in een `Wrap`-widget (i.p.v. `Row`) zodat tags naar een
|
|
|
+volgende regel overlopen, of een horizontale `SingleChildScrollView`
|
|
|
+eromheen zodat ze scrollen i.p.v. overflowen — zelfde afweging als
|
|
|
+Bob eerder maakte voor vergelijkbare tag-rijen elders. **Nog niet
|
|
|
+gecheckt of hetzelfde patroon (kale `Row` van `List.generate`-tags,
|
|
|
+geen wrap) ook voorkomt op de niet-Home-varianten van dit component
|
|
|
+(`PUitgaantabelKaartComponent`/`kaartTabelUitgaanComp`/
|
|
|
+`kaartTabelUitgaanSComp`, zie ook de P2-7-opschoonnotitie over die
|
|
|
+laatste twee) — bij het oppakken van deze taak even meenemen.**
|
|
|
|
|
|
**P1-9 · Eigenaar: Onbepaald.** Visuele polish (los, per pagina) —
|
|
|
resterend na sessie 2026-08-06:
|