Bläddra i källkod

P1-7 Tab 1: scope-correctie (horeca+events+activiteiten, geen gemeente-filter) + categorie-crash-patch bevestigd afgerond

- Bob deelde live custom.favorites_agenda.inc broncode: bevestigt dat
  Tab 1 'Persoonlijke agenda' filtert op favoriete horeca/events/
  activiteiten (matched_via: horeca/event/activity), niet op
  gefavoriete gemeente(n) zoals eerder gedocumenteerd stond
- Categorie-array-fix (GROUP_CONCAT + _custom_parse_categories_to_array)
  staat al live, live bevestigd door Bob: Tab 1 toont categorieën
  correct, geen crash meer
- P1-7 Tab 3 'null'-bug-notitie gecorrigeerd: bleek al stale, sessionName/
  sessionId zijn al correct gebonden sinds de Tab 3-herbouw (d35492a)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
bob 3 veckor sedan
förälder
incheckning
a35e4352da
1 ändrade filer med 39 tillägg och 28 borttagningar
  1. 39 28
      TASKS.md

+ 39 - 28
TASKS.md

@@ -1476,29 +1476,28 @@ Lokale repo bijgewerkt via een verse `flutterflow export-code` in de
 projectmap + `flutter analyze` (geen nieuwe errors, alleen de
 gebruikelijke gegenereerde info/warnings).)*
 
-**Nog open (2026-08-20, na de `inhoud`-fix, live gevonden op
-emulator-5556):** vervolg-crash op Tab 1 — `NoSuchMethodError: Class
-'String' has no instance method 'toList'. Receiver: "Live/Concert"`.
-Oorzaak: `UitgaantabelKaartWidget` verwacht `categorie` als JSON-array
-(`widget!.categorie?.toList()`,
-`lib/uitgaanspaginas/uitgaantabel_kaart/uitgaantabel_kaart_widget.dart:219`
-— zelfde patroon als de al-werkende endpoints, zie `homeCategorie()` in
-`api_calls.dart:190-197`), maar `favorieten_agenda.json` levert
-`categorie` momenteel als kale string (`"Live/Concert"`, `cat.delta = 0`
-pakt maar 1 categorie). **SQL+PHP-patch gegeven aan Bob** (chat,
-2026-08-20) voor `custom.favorites_agenda.inc`: per branch (go_out_event
-+ activity) een scalar subquery die alle gekoppelde categorieën als
-`<category>Naam</category>`-string aggregeert (`GROUP_CONCAT`, geen
-`delta`-restrictie meer), buiten-query geeft die string door als
-`category`, en `custom_favorites_agenda_data()` parseert 'm met de
-bestaande `_custom_parse_categories_to_array()`-helper (al elders in
-`custom.module` gebruikt) tot een echte array. Ook
-`_custom_favorites_agenda_block_content()` aangepast
-(`check_plain(implode(', ', $item['categorie']))` i.p.v. direct op de
-array). **Status: patch gegeven, nog niet bevestigd toegepast/getest
-door Bob** — verifiëren met curl (`categorie` moet een JSON-array
-teruggeven) en daarna een live app-rebuild vóórdat dit als afgerond
-geldt.
+*(Categorie-crash-patch bevestigd toegepast (2026-08-25) — Bob deelde de
+live `custom.favorites_agenda.inc`-broncode in de chat: bevat exact de
+op 2026-08-20 afgesproken fix (`GROUP_CONCAT`-subquery per tak (go_out_event
++ activity) bouwt een `<category>Naam</category>`-XML-string op,
+`_custom_parse_categories_to_array()` zet 'm om naar een echte array
+vóór 'ie als `categorie` teruggaat). Dit lost de destijds gevonden
+`NoSuchMethodError: Class 'String' has no instance method 'toList'`-crash
+op (`UitgaantabelKaartWidget` verwacht `categorie` als JSON-array,
+`lib/uitgaanspaginas/uitgaantabel_kaart/uitgaantabel_kaart_widget.dart:219`).
+**Live bevestigd (2026-08-25, Bob):** Tab 1 toont de categorieën nu
+correct, geen crash. Volledig afgerond, geen resterende actie.)*
+
+**Scope-correctie (2026-08-25, op basis van de live Drupal-broncode die
+Bob deelde):** Tab 1 "Persoonlijke agenda" filtert **niet** op
+gefavoriete gemeente(n) zoals eerder hieronder stond (zie de nu
+gecorrigeerde "Bob's beslissingen"-notitie) — de query in
+`custom_favorites_agenda_data()` heeft drie routes (`matched_via`):
+**horeca** (uitgaansevenementen van je gefavoriete horecagelegenheden),
+**event** (een gefavoriet uitgaansevenement zelf), **activity** (een
+gefavoriete stadsactiviteit zelf). Plaats/gemeente is puur een
+weergaveveld, geen filter. Geen verdere actie nodig — dit is al zo
+gebouwd, alleen de documentatie liep achter.
 
 *(Anonieme API-call-bug op Tab 3 afgerond 2026-08-19 — Claude, builder
 + verse-export-verificatie: `FavorietenAgendaCall`'s Backend Query op de
@@ -1508,7 +1507,15 @@ i.p.v. de favoriete horeca-gelegenheden, ook ingelogd). Beide
 parameters nu gebonden via Set from Variable → `FFAppState().
 userSessionname`/`userSessionid`. Bevestigd via verse export:
 `FavorietenAgendaCall.call(sessionName: FFAppState().userSessionname,
-sessionId: FFAppState().userSessionid)`.)*
+sessionId: FFAppState().userSessionid)`.
+**Correctie (2026-08-25, sessie-check vóór het oppakken van deze
+"Nog open"-post):** deze hele `FavorietenAgendaCall`/Backend-Query-route
+bestaat niet meer — Tab 3 is op 2026-08-24 volledig herbouwd (commit
+`d35492a`) op een `drupalRequest`-custom-action-aanroep naar
+`favorieten_horeca.json`, en díe bindt `FFAppState().userSessionname`/
+`userSessionid` al gewoon correct (`favorieten_widget.dart:293-294`).
+Herbevestigd via een verse export vlak vóór deze notitie — geen
+builder-actie nodig, deze taak was stale.)*
 
 *(Tekst-overflow Tab 2 afgerond 2026-08-19 — Claude, builder: de
 `Text`-widget "De gemeentes die je hebt gemarkeerd..." (key
@@ -1651,10 +1658,14 @@ Drupal-werk nodig. Uit deze lijst verwijderd.)*
    niet puur lokaal — sync bij app-start én direct na elke
    toevoegen/verwijderen-actie. Lokale opslag (`FFAppState`/
    secureStorage) blijft daarnaast nodig als cache/snelle UI-state.
-2. "Persoonlijke agenda" (tab 1) = events in de door de gebruiker
-   **gefavoriete gemeente(n)** (niet de her-toegekende naam "agenda" op
-   de bestaande horeca-GET-call — dat is een aparte, nog te bouwen
-   view).
+2. **Correctie (2026-08-25, live Drupal-broncode bevestigt dit):**
+   "Persoonlijke agenda" (tab 1) = evenementen/activiteiten van je
+   **gefavoriete horecagelegenheden + zelf gefavoriete
+   uitgaansevenementen + zelf gefavoriete stadsactiviteiten**
+   (`custom_favorites_agenda_data()`'s drie `matched_via`-routes:
+   horeca/event/activity) — **niet** gemeente-gebaseerd zoals hier
+   eerder stond. Gemeente/plaats is alleen een weergaveveld op elk
+   item, geen filter.
 3. "Gebruiker"-tab = het oude P1-7-scope (wachtwoord wijzigen,
    uitloggen, account verwijderen), nu als tab i.p.v. aparte pagina.
    **Account verwijderen afgerond 2026-08-24** (zie de uitgewerkte