Bladeren bron

TASKS.md/CLAUDE.md: P0-8 'null'-fix teruggegeven aan Bob met kant-en-klaar recept (17 velden, JSON-paths); Visibility-Conditional-toggle bevestigd onklikbaar voor Claude via browser-automation, nieuw blocker-patroon gedocumenteerd

bob 1 maand geleden
bovenliggende
commit
a2296a8611
2 gewijzigde bestanden met toevoegingen van 65 en 2 verwijderingen
  1. 19 0
      CLAUDE.md
  2. 46 2
      TASKS.md

+ 19 - 0
CLAUDE.md

@@ -822,6 +822,25 @@ voor selectie, gebruik single-click + verificatie.
   bevestigd of dat icoontje voor Claude wél bereikbaar is (waarschijnlijk
   ook geclipt, niet meer getest deze sessie) — bij een volgende
   soortgelijke taak eerst dat proberen vóór je het opgeeft.
+- **Visibility → "Conditional"-toggle (rechterpaneel, boven op elk
+  widget) is voor Claude structureel niet betrouwbaar te klikken —
+  apart bevestigd patroon, niet hetzelfde als de checkbox-clipping
+  hierboven.** Bevestigd 2026-08-14 op `HorecagelegenheidCurrent`
+  (`Text-adres`, zie `TASKS.md` P0-8): 7+ pogingen (directe klik op de
+  toggle-track op meerdere x/y-posities, twee keer na elkaar toggelen,
+  `left_click_drag` over de track) gaven **geen zichtbare
+  statusverandering**, en meerdere keren **sprong de widget-selectie
+  terug naar de pagina-root** (rechterpaneel toonde dan opeens
+  Scaffold/`Edit Drawer`-properties). De omweg via rechtsklik → **Wrap
+  Widget (Ctrl+B)** opende het contextmenu zelf wél zichtbaar correct,
+  maar de vervolgklik op een menu-item viel alsnog ten prooi aan de
+  bekende tree-rij-offset-instabiliteit (offset was dit keer niet
+  constant: +79px op het ene moment, +64px een moment later — dus ook
+  de kalibratietruc hielp hier niet). **Vuistregel: bij een taak die
+  puur de Visibility-Conditional-toggle nodig heeft (aan/uit, geen
+  vervang-logica), niet blijven proberen na 1-2 pogingen — teruggeven
+  aan Bob met de exacte veldnamen/JSON-paths, dat kost hem seconden per
+  veld.**
 - **Testen met een niet-Nederlandse systeemlocale: gebruik
   `adb shell cmd locale set-app-locales <package> --locales nl-NL`**
   (per-app override, Android 13+/API 33+) i.p.v. het systeembrede

+ 46 - 2
TASKS.md

@@ -361,8 +361,9 @@ Info/Links/Bezorgen-tabs breekt de pagina zichtbaar (RenderFlex-overflow
 + letterlijke "null"-tekst), iets wat met de eerdere lege/placeholder-data
 niet zichtbaar was.)*
 
-**P0-8 · Eigenaar: Claude — bezig (sessie 2026-08-14 builder-ronde).**
-Nu P0-7 is opgelost en de horeca-detailpagina
+**P0-8 · Eigenaar: Bob (het "null"-tekst-restpunt hieronder — Claude
+geblokkeerd, zie de nieuwe blocker-notitie; het RenderFlex-overflow-punt
+was al Bob's/Claude's gedeeld sinds eerder).** Nu P0-7 is opgelost en de horeca-detailpagina
 echte Drupal-data toont, blijken de Info/Links/Bezorgen-tabs zelf **kapot**
 te zijn — bevestigd live 2026-08-13 (Claude, emulator-5554, nid `91142`
 "De Beun", zie screenshots in scratchpad-sessie):
@@ -406,6 +407,49 @@ te zijn — bevestigd live 2026-08-13 (Claude, emulator-5554, nid `91142`
     hele regel i.p.v. "null" te tonen wanneer een gelegenheid dat veld
     niet heeft ingevuld (waarschijnlijk de meeste, gezien de huidige
     schaarse Drupal-content).
+    - **⚠️ Geblokkeerd voor Claude (2026-08-14, nieuw bevestigd
+      patroon): de Visibility → "Conditional"-toggle op deze pagina
+      reageert niet betrouwbaar op browser-automation-klikken.** 7+
+      pogingen op de `Text-adres`-widget (directe klik op de toggle op
+      meerdere x/y-posities, dubbel-toggelen, `left_click_drag` over de
+      track) leverden telkens **geen zichtbare statusverandering** op —
+      en herhaaldelijk **sprong de selectie terug naar de pagina-root**
+      (rechterpaneel toonde dan `Edit Drawer`/Scaffold-properties i.p.v.
+      de Text-widget). Ook de alternatieve route (rechtsklik → **Wrap
+      Widget (Ctrl+B)**) opende het contextmenu zichtbaar correct, maar
+      de vervolgklik op het menu-item landede door dezelfde bekende
+      tree-rij-offset-instabiliteit (zie `CLAUDE.md`) op een andere
+      tree-rij i.p.v. op "Wrap Widget" — offset bleek dit keer +79px op
+      één moment, +64px een moment later, dus niet met een vaste
+      correctie te compenseren zoals de kalibratietruc normaal
+      toestaat. Geen wijziging aangebracht, geen schade. **Dit is een
+      nieuw, apart bevestigd blocker-patroon** (niet identiek aan de
+      al bekende checkbox-clipping-lijst in `CLAUDE.md`) — zie de
+      toegevoegde notitie daar.
+    - **Kant-en-klaar recept voor Bob (seconden per veld in zijn eigen
+      browser, geen uitzoekwerk meer nodig):** open `HorecagelegenheidCurrent`,
+      selecteer per tab de widget in de Widget Tree, rechterpaneel →
+      **Visibility → Conditional aan** → **Add Condition → Single
+      Condition** → First Value = **hetzelfde databron-veld dat al aan
+      de Text gebonden is** (klik het Value-icoontje naast de Text-
+      property om te zien welke bron/veld dat is — voor alle 17 velden
+      hieronder is dat steeds dezelfde API-call-respons, in de code
+      `horecagelegenheidCurrentEstablishmentInfoResponse.jsonBody`, in
+      de builder waarschijnlijk zichtbaar als "Establishment Info
+      Response" o.i.d.) met JSON Path **exact gelijk aan de veldnaam**
+      → Operator **"Is Set and Not Empty"** → Confirm. Exacte
+      JSON-Path-waarde per veld (geverifieerd tegen de huidige
+      broncode, `$[:].` + veldnaam, dus letterlijk overtypen):
+      - Info-tab: `$[:].adres`, `$[:].plaats`, `$[:].telefoonnummer`,
+        `$[:].email`, `$[:].kvk`.
+      - Links-tab: `$[:].website`, `$[:].menukaart`, `$[:].facebook`,
+        `$[:].twitter`, `$[:].instagram`.
+      - Bezorgen-tab: `$[:].afhaalopties`, `$[:].bestellink`,
+        `$[:].bezorgtijden`, `$[:].bezorgkosten`, `$[:].minimaleorder`,
+        `$[:].thuisbezorgtbetaalopties`, `$[:].bezorgdin`.
+      Test na de eerste 2-3 velden even met een verse export/live-check
+      (nid `91142` "De Beun" heeft weinig ingevulde velden, dus een
+      goede test-case) vóór je alle 17 doorloopt.
   - **Kanttekening:** geen van deze 17 `Text`-widgets heeft een
     `launchURL`/`InkWell` eromheen in dit bestand (bevestigd, apart van
     de al bekende P1-15-knoppen elders) — het zijn platte tekstregels,