|
@@ -1,5 +1,10 @@
|
|
|
## ▶ Nu aan de beurt (stand 2026-09-14)
|
|
## ▶ Nu aan de beurt (stand 2026-09-14)
|
|
|
|
|
|
|
|
|
|
+**⚠️ Claude — bezig (sessie 2026-09-14/15): verse export naar `lib/` +
|
|
|
|
|
+commit, code-audits, contentmeting productie, restpunt 5 (logo-thumbnail
|
|
|
|
|
+`BoxFit`) in de builder. Niet parallel aan `lib/` of de aanmaakpagina's
|
|
|
|
|
+werken zonder navraag.**
|
|
|
|
|
+
|
|
|
*Afgerond en daarom verwijderd op 13/14 sep: verbindingsmelding in de header,
|
|
*Afgerond en daarom verwijderd op 13/14 sep: verbindingsmelding in de header,
|
|
|
offline-crash op de sliders (bevinding C), P2-15 volledig (evenement,
|
|
offline-crash op de sliders (bevinding C), P2-15 volledig (evenement,
|
|
|
stadsactiviteit, tijdzone, media), de `.take(25)`-limiet op alle zes
|
|
stadsactiviteit, tijdzone, media), de `.take(25)`-limiet op alle zes
|
|
@@ -24,6 +29,27 @@ Emulator-5556 heeft nu de profile-APK van die export + per-app-locale `nl-NL`.*
|
|
|
> zit erachter. Stel eerst je 3-5 taken voor, wacht op mijn akkoord,
|
|
> zit erachter. Stel eerst je 3-5 taken voor, wacht op mijn akkoord,
|
|
|
> verifieer elke wijziging met een verse export en noem het taak-ID.
|
|
> verifieer elke wijziging met een verse export en noem het taak-ID.
|
|
|
|
|
|
|
|
|
|
+### 🆕 P1-49 · Hamburger/terugknop zit voor 60% onder de statusbalk · Eigenaar: Claude (na akkoord Bob)
|
|
|
|
|
+
|
|
|
|
|
+Gevonden 2026-09-14 (Claude, schone start op de telefoon-emulator, 1080×1920
|
|
|
|
|
+@420 dpi): de oranje hamburger staat op y 0–105 px, de statusbalk beslaat
|
|
|
|
|
+0–63 px. Een tik in dat bovenste deel gaat naar Android (statusbalk), niet naar
|
|
|
|
|
+de app — pas een tik op y ≥ 65 opent het menu. **Op een toestel met notch
|
|
|
|
|
+(statusbalk 40–48 dp) blijft er vrijwel niets aantikbaar over.** Zelfde
|
|
|
|
|
+oorzaak in het menu: het logo in `drawerComponent` staat op 15 px van de
|
|
|
|
|
+bovenrand, de kloktijd loopt er dwars doorheen.
|
|
|
|
|
+- **Oorzaak:** `HeaderButtonsComponent` zit in `FlexibleSpaceBar.background`,
|
|
|
|
|
+ en dat vlak begint op y=0 (achter de statusbalk); alleen de toolbar zelf
|
|
|
|
|
+ krijgt van Flutter statusbalk-padding. Geldt op alle 16 pagina's met de
|
|
|
|
|
+ component. Home heeft bovendien een afwijkende AppBar (`PreferredSize(50)`,
|
|
|
|
|
+ `primaryText`-donker) i.p.v. de standaard 80 px/Info.
|
|
|
|
|
+- **Voorstel (één wijziging, alle pagina's tegelijk):** op de root-`Align` van
|
|
|
|
|
+ `HeaderButtonsComponent` een **Padding top 28** zetten (24 dp statusbalk +
|
|
|
|
|
+ marge); in `drawerComponent` de Padding boven het logo van 15 naar **40**.
|
|
|
|
|
+ Op notch-toestellen is 28 nog krap — het nettere alternatief is een custom
|
|
|
|
|
+ widget met `SafeArea`, maar dat is meer werk voor hetzelfde resultaat.
|
|
|
|
|
+- Verifiëren: `adb shell input tap 275 55` moet daarna het menu openen.
|
|
|
|
|
+
|
|
|
### 🆕 Favorieten — restpunt voor Bob (stand 2026-09-14 avond)
|
|
### 🆕 Favorieten — restpunt voor Bob (stand 2026-09-14 avond)
|
|
|
|
|
|
|
|
*Chat-taken 1, 2 en 3 zijn afgerond en geverifieerd met een verse export:
|
|
*Chat-taken 1, 2 en 3 zijn afgerond en geverifieerd met een verse export:
|
|
@@ -132,10 +158,13 @@ meer. Niet opnieuw agenderen.
|
|
|
- Zie ook de nieuwe `CLAUDE.md`-notities over de Set-Variable-dialoog en over
|
|
- Zie ook de nieuwe `CLAUDE.md`-notities over de Set-Variable-dialoog en over
|
|
|
het verouderde rechterpaneel.
|
|
het verouderde rechterpaneel.
|
|
|
|
|
|
|
|
-**5 · Media-flow, twee kleinigheden** (uit de live test): de bronkeuze-sheet
|
|
|
|
|
-zegt "Choose Source / Gallery / Camera" in het Engels — FlutterFlow-standaard,
|
|
|
|
|
-hoort bij de vertaalronde P1-17. En de logo-thumbnail toont een vierkante
|
|
|
|
|
-uitsnede van het brede logo.
|
|
|
|
|
|
|
+**5 · Media-flow — logo-thumbnail ✅ afgerond 2026-09-14 (Claude, builder +
|
|
|
|
|
+verse export):** de logo-`Image` op `uitgaansevenementAanmaken` én
|
|
|
|
|
+`stadsactiviteitAanmaken` staat nu op **Box Fit: Contain** i.p.v. Cover
|
|
|
|
|
+(`fit: BoxFit.contain` op regel 2557 resp. 3457; de foto-thumbnails blijven
|
|
|
|
|
+bewust `cover`). Rest alleen nog: de bronkeuze-sheet zegt "Choose Source /
|
|
|
|
|
+Gallery / Camera" in het Engels — FlutterFlow-standaard, hoort bij de
|
|
|
|
|
+vertaalronde P1-17.
|
|
|
|
|
|
|
|
### 📌 Nagemeten, niet opnieuw onderzoeken
|
|
### 📌 Nagemeten, niet opnieuw onderzoeken
|
|
|
|
|
|
|
@@ -248,46 +277,6 @@ op deze display 0 resultaten, wat suggereert dat bezorgers nauwelijks in de zes
|
|
|
tabcategorieën zitten — losse pagina ligt dus voor de hand. De pagina heeft nog
|
|
tabcategorieën zitten — losse pagina ligt dus voor de hand. De pagina heeft nog
|
|
|
géén `display_id`-parameter; die moet er eerst op.
|
|
géén `display_id`-parameter; die moet er eerst op.
|
|
|
|
|
|
|
|
-**Taak 29 · HTML-entiteiten — ✅ `title` opgelost, 2 velden nog open
|
|
|
|
|
-(2026-09-14).** Bob heeft `title` door de HTML-clean gehaald en naar productie
|
|
|
|
|
-gepusht; geverifieerd op nid 214466 (`Onno Innemee & Ytwer Bosma`) en breed over
|
|
|
|
|
-299 events: **0 titels met entiteiten**. Twee velden zijn nog niet meegenomen —
|
|
|
|
|
-dezelfde behandeling volstaat:
|
|
|
|
|
-- **`adres`** — 26 van de 299 gecontroleerde events, bv. nid 222545
|
|
|
|
|
- `'Ruiterskwartier 61 & 63'`
|
|
|
|
|
-- **`categorie`** — 6 van de 299, allemaal `['Hiphop/Rap/R&B']`
|
|
|
|
|
- (nid 222687, 222692, 222697, 222704, 222731, 222741)
|
|
|
|
|
-
|
|
|
|
|
-Verificatie (moet `GEEN - schoon` geven over 3 pagina's):
|
|
|
|
|
-```
|
|
|
|
|
-curl -s -u bob:serhii "https://uitgaanskrant.com/en/flutterdrup/views/flutterflow_events.json?display_id=services_1&page=0&limit=100&_cb=$RANDOM" | python3 -c "
|
|
|
|
|
-import sys,json,re,collections
|
|
|
|
|
-c=collections.Counter()
|
|
|
|
|
-for r in json.load(sys.stdin):
|
|
|
|
|
- for k in ('title','adres','categorie'):
|
|
|
|
|
- v=r.get(k); v=' '.join(map(str,v)) if isinstance(v,list) else v
|
|
|
|
|
- if isinstance(v,str) and re.search(r'&[#a-zA-Z0-9]{2,8};',v): c[k]+=1
|
|
|
|
|
-print(dict(c) or 'GEEN - schoon')"
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
-_Oorspronkelijke analyse:_
|
|
|
|
|
-
|
|
|
|
|
-**Taak 29 · HTML-entiteiten op de evenement-detailpagina.** Bevestigd op nid
|
|
|
|
|
-214466 (13 sep): `flutterflow_events` geeft `Onno Innemee & Ytwer Bosma`,
|
|
|
|
|
-`flutterflowmobiel1` op dezelfde node `Onno Innemee & Ytwer Bosma`. Eén
|
|
|
|
|
-database, twee views — dus viewconfig, geen data. Titels handmatig editen is
|
|
|
|
|
-zinloos: 837 stuks, en na de volgende import weer terug.
|
|
|
|
|
-**Body hoeft niet mee:** die gaat via `EvenementV2HTMLComponent` door een echte
|
|
|
|
|
-HTML-renderer en wordt vanzelf gedecodeerd; er is geen dubbele escaping (0
|
|
|
|
|
-gevallen `&`). Alleen de platte-tekstvelden, gemeten over 9625 events:
|
|
|
|
|
-`title` **837** (`&` 695, `'` 179, `"` 54), `adres` **89**,
|
|
|
|
|
-`categorie` 22, `organisator` 1.
|
|
|
|
|
-Eerste verdachte: **`_custom_clean_html` in `custom.module`** — kijk of daar op
|
|
|
|
|
-viewnaam gefilterd wordt; staat `flutterflowmobiel1` er wel in en
|
|
|
|
|
-`flutterflow_events` niet, dan is dat de fix en is het één regel. Anders beide
|
|
|
|
|
-views exporteren (`drush @prod php-eval "print views_get_view('X')->export();"`)
|
|
|
|
|
-en aan Claude geven om te diffen.
|
|
|
|
|
-
|
|
|
|
|
**Taak 31 · dubbele rijen — ⚠️ OORZAAK GEVONDEN, en het is NIET Distinct
|
|
**Taak 31 · dubbele rijen — ⚠️ OORZAAK GEVONDEN, en het is NIET Distinct
|
|
|
(2026-09-14).** Bob zette `distinct = TRUE` op de Master (staat in de export) en
|
|
(2026-09-14).** Bob zette `distinct = TRUE` op de Master (staat in de export) en
|
|
|
het veranderde niets. Dat kan ook niet, en de meting wijst de echte oorzaak aan:
|
|
het veranderde niets. Dat kan ook niet, en de meting wijst de echte oorzaak aan:
|
|
@@ -480,29 +469,6 @@ al begonnen (10:00 en 14:00, gemeten om 20:50) en worden dus terecht door het
|
|
|
zijn stadsactiviteiten, die worden handmatig aangemaakt en niet geïmporteerd.
|
|
zijn stadsactiviteiten, die worden handmatig aangemaakt en niet geïmporteerd.
|
|
|
Geen bug.
|
|
Geen bug.
|
|
|
|
|
|
|
|
-### Taak 29 · HTML-entiteiten — nu precies af te bakenen (2026-09-12)
|
|
|
|
|
-
|
|
|
|
|
-**Het raakt alléén de evenement-detailpagina.** Gisteren kon ik dat niet
|
|
|
|
|
-scheiden omdat de lijstviews maar 4 items hadden; met de nieuwe vulling is het
|
|
|
|
|
-hard te maken op **dezelfde node** (nid `214466`):
|
|
|
|
|
-
|
|
|
|
|
-| view | wat de app ermee doet | uitkomst |
|
|
|
|
|
-|---|---|---|
|
|
|
|
|
-| `flutterflowmobiel1` | Home-tabs, sliders, P-pagina's | `Onno Innemee & Ytwer Bosma` ✅ |
|
|
|
|
|
-| `flutterflow_events` | **evenement-detailpagina** (`EvenementCall`) | `Onno Innemee & Ytwer Bosma` ❌ |
|
|
|
|
|
-
|
|
|
|
|
-Voor de gebruiker: hij ziet de titel netjes in de lijst, tikt erop, en op de
|
|
|
|
|
-detailpagina staat `&`. Geraakt zijn `title` (124 events), `body` (234),
|
|
|
|
|
-`adres` (23) en `categorie` (8) — 321 van de 2007 events.
|
|
|
|
|
-
|
|
|
|
|
-**Fix:** `flutterflow_events` doet iets anders met zijn tekstvelden dan
|
|
|
|
|
-`flutterflowmobiel1`. Beide views draaien op dezelfde nodes, dus vergelijk de
|
|
|
|
|
-**veldinstellingen** van `title`/`body`/`adres` tussen die twee en neem over wat
|
|
|
|
|
-`flutterflowmobiel1` doet. Geen app-fix proberen: dan moet je op elke plek
|
|
|
|
|
-apart decoderen.
|
|
|
|
|
-(Zelfde mechanisme als bij je devbob-bezorgdisplay — daar was het ook een
|
|
|
|
|
-veldinstelling per display, niet iets in de data.)
|
|
|
|
|
-
|
|
|
|
|
### Taak 30 · Node vermenigvuldigt zich — blijkt niet zichtbaar voor de gebruiker
|
|
### Taak 30 · Node vermenigvuldigt zich — blijkt niet zichtbaar voor de gebruiker
|
|
|
|
|
|
|
|
Nid **`214439`** ("Brocante Markt Klein Frankrijk") komt 14 keer identiek terug
|
|
Nid **`214439`** ("Brocante Markt Klein Frankrijk") komt 14 keer identiek terug
|