Skip to content

➕ Mappen in de Berichtenbox volgen de berichten uit het stelsel - #165

Draft
ericwout-overheid wants to merge 2 commits into
mainfrom
feat/berichtenbox-mappen
Draft

ericwout-overheid wants to merge 2 commits into
mainfrom
feat/berichtenbox-mappen

Conversation

@ericwout-overheid

@ericwout-overheid ericwout-overheid commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Waarom

MinBZK/MijnOverheidZakelijk#941. In het Federatief Berichtenstelsel is een map geen ding op zich, maar een eigenschap van een bericht, opgeslagen bij de organisatie die het stuurde. De keten levert daar sinds MinBZK/moza-poc-fbs-berichtenbox#334 drie dingen voor; dit is de kant van de Berichtenbox.

Wat

1. Mappenoverzicht dat meegroeit

  • berichtenbox-keten.js telt tijdens _ophalen de mappen van elke magazijn-bevraging-voltooid met status: "OK" op per naam, over de organisaties heen, en geeft ze mee als voortgang.mappen.
  • Na de ronde is de lijst de bron: mappenVan() in keten-bron.js leidt ze af uit bericht.map.
  • werkMappenBij() in de render-laag zet de mappen in de tabbalk gelijk aan wat de bron levert, met het aantal erbij: “Subsidies (3)”, met “berichten” voor schermlezers. Geen roze bolletje, want dat betekent bij de inbox “ongelezen”.
  • Namen gaan woordelijk mee en zijn ook de sleutel (?map=<naam>). Hoofdletters onderscheiden.
  • Geen centrale mappenlijst en geen mappenopslag in de browser.

2. Een bericht uit zijn map halen

  • De knop “Haal uit map” op bericht-demo.html. Die verschijnt alleen bij een bericht in een map, en alleen als de bron haalUitMap kent.
  • Het verzoek is PATCH /api/v1/berichten/{id}?magazijnId=… met {"map": ""} en application/merge-patch+json.
  • De lijst werkt meteen bij, en een map zonder berichten verdwijnt vanzelf. Een polltik die de lijst van vóór de PATCH ophaalde, vervalt.
  • Verplaatsen naar een andere map en hernoemen zitten er bewust niet in.

3. Zichtbare onvolledigheid

  • aantalNietGeleverd en nietGeleverd worden van elke pagina van de lijst gelezen. Volledig betekent aantalNietGeleverd == 0, niet een lege lijst. Zijn er minder namen dan het aantal, dan telt de melding de rest (“… en nog 2 organisaties”); zonder namen blijft het bij het aantal.
  • Een onbekende status telt als “niet geleverd”.
  • De melding loopt via het bestaande meldingsblok. Ze blijft staan na verversen, op pagina 2, in het archief en bij het bladeren door de API-pagina's.
  • Bij elke polltik wordt ze bijgewerkt, en ze verdwijnt zodra het aantal 0 is.

Stijl: de mappen van de dataset blijven verborgen zoals op main (display: none; /* Tijdelijk verbergen */). Alleen mappen uit de berichten (data-map-uit-berichten) worden getoond. Het sjabloon zet de mappen nu hidden neer tot de bron zegt welke er zijn. Anders zag een persona uit het stelsel de mappen van de dataset.

⚠️ Let op

Verificatie

  • npm test: 570 geslaagd, 1 gefaald. Die ene (detail.test.js “Terugzetten in inbox”) faalt ook al op origin/main.
  • De nieuwe tests staan in keten-mappen.test.js (transport), keten-mappen-weergave.test.js (render-laag) en keten-bron.test.js. Met de oude code faalden 16 van 18 transporttests en 7 van 10 weergavetests. Ook de race- en escape-tests falen zonder hun fix.
  • Handmatig, in Chromium tegen een nep-keten: die nabootsing volgt de vorm uit #334 (SSE met mappen, lijst met nietGeleverd in pagina's van 4, PATCH). Het is niet de echte stack; die draaide hier niet.
    • M1: na ~2 s Boekhouding 2026 (1) en Subsidies (3); na afloop vier mappen, Boekhouding 2026 (2).
    • M2: Te bespreken met adviseur → bericht → Haal uit map. De PATCH had {"map":""} en de juiste magazijnId/X-Ontvanger; de map was weg, zowel na de terugknop als na opnieuw laden.
    • M3: Belasting en Te bespreken ontbraken, Boekhouding 2026 (1) bleef staan en de melding noemde de Belastingdienst, ook na verversen, op ?pagina=2 en in het archief.
  • De echte FBS-demostack (:8097) met #334 is nog niet getest; dat hangt ook af van de pin-bump in hun compose.yaml.

🤖 Generated with Claude Code

In het Federatief Berichtenstelsel is een map een eigenschap van een
bericht, opgeslagen bij de organisatie die het stuurde. De Berichtenbox
leidt het mappenoverzicht daarom af in plaats van het op te slaan:

- Tijdens de ophaalronde uit de `mappen` op elke geslaagde
  `magazijn-bevraging-voltooid`, opgeteld per naam; daarna uit de lijst.
- "Haal uit map" op de detailpagina: PATCH met `{"map": ""}`. Een map
  verdwijnt met zijn laatste bericht.
- Zolang `aantalNietGeleverd > 0` zegt een melding welke organisaties
  niet leverden en dat mappen en berichten kunnen ontbreken, ook na
  verversen en op elke pagina.

De mappen van de dataset blijven in de stijl verborgen; alleen mappen
uit de berichten worden getoond.

Refs MinBZK/MijnOverheidZakelijk#941

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🚀 Preview Deployment

Your changes have been deployed to a preview environment:

proef: https://proef-pr165-pm-5sj.rig.prd1.gn2.quattro.rijksapps.nl

📱 Scan to open on mobile
 ▄▄▄▄▄ █▀ █▀▀▄▀▀▄██▄ ▄▄▄▀█ ▄▄▄▄▄ 
 █   █ █▀ ▄ ████▄▀▄██▄▀ ▀█ █   █ 
 █▄▄▄█ █▀█ █▄ ▀▀▄██▄ ▀█▄ █ █▄▄▄█ 
▄▄▄▄▄▄▄█▄█▄█ ▀▄█ █ █ ▀ ▀ █▄▄▄▄▄▄▄
▄   ▄▀▄ ▄ ▄█▄█▄██▄█▀ ▀▄ ▄ ▀▄█▄▀ ▀
▄▀▄▀ ▀▄█  ▀ ▄█▀▄▄▄ █▄▀ ▀▀█▀ █▄▀▄█
▀▄▄▄██▄ ▄▄▀▄▀▀▀▄  ▀▀ ██▀█▀▀█▄▄█▀▀
██ ███▄█  ██▀ ▄ █▄█▀▀▀▄██▀██▀█▀▄█
▀▄ ▄█▀▄█▀▀ █▄█▄▄    █▀ ▀▀▀▀ ▄▀█ ▀
 ▀▄▄█▀▄  ▀▀ ▄█▀ █▄▀▀█ ███▄▀▄▄▄▀▄█
▀▄ ▀  ▄██▄█▄▀▀▀▄ ▄█▀▄▀   ▀▀▄▄▀█ ▀
 █▄ █▀▄▄▄ ██▀ ▄ ▄▄ ▀▀▀███ ███ ▀▄█
▄███▄▄▄█▀▀▀█▄█▄▄▀ ▀ ▀▀▄▄ ▄▄▄ ▄▀█ 
 ▄▄▄▄▄ █▄▀▀ ▄█▀▄▄█▄▀  ▄  █▄█ ▀ ▄█
 █   █ █ ▀▀▄▀▀▀▄  ▀▀▀▀▀█ ▄▄  ▄▀  
 █▄▄▄█ █  ██▀ ▄▄▄▄ ▀▀ ▀▀▄▀ █▀▀▀██
▄▄▄▄▄▄▄█▄▄██▄█▄██▄█▄███▄▄▄██▄██▄█

This deployment will be automatically cleaned up when the PR is closed.

…mappen

Het stelsel biedt KVK 90000015 aan als testaccount met veel berichten in mappen. Zonder persona hier is het in de Berichtenbox niet te kiezen. Kopie van proeftuin-drie met eigen nummers.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
pr165 — d39fb39e Deployed Sep 24, 2026 by ericwout-overheid via deploy-preview #560
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant