Status en route naar TestFlight

Waar we staan, welk doel we najagen, en welke stappen daar nog voor nodig zijn — met per stap wie aan zet is. Bedoeld om in één oogopslag te zien of iets vastligt op techniek of op een beslissing.

Peildatum 29 juli 2026 · gecontroleerd tegen Linear, App Store Connect en productie · volledige versie: HANDOVER.md

1248 build staat in TestFlight 4 stappen tot testers 3457 tests groen 20 tickets wachten op hertest 6 demo-accounts klaar

Doel 1 — de app bij de testers krijgen via TestFlight

De techniek is klaar. Wat resteert zijn vier handelingen, waarvan drie alleen door de eigenaar gedaan kunnen worden en één bewust wacht op zijn opdracht.

T1 · App Privacy invullen en publiceren

eigenaar~10 min

Dit blokkeert externe distributie. Het manifest in de app is klaar en zit in de geüploade build; het formulier in App Store Connect moet apart. Dat kan niet via de API — dat endpoint bestaat niet in de publieke API (vijf varianten geprobeerd, alle 404).

Wat
Zes gegevenstypen aanvinken, per type drie vervolgvragen. De klikklare lijst met exact de juiste antwoorden staat in Jouw acties, punt 4.
Let op
Locatie is grof en niet gekoppeld. Dat voelt tegenintuïtief maar volgt uit de code. Wijkt het formulier af van het manifest in de build, dan is dat een afwijzingsgrond.

T2 · Testers toevoegen

eigenaar of ik

De groep "Gezin (extern)" staat klaar, zonder publieke link. Er zitten nog geen testers in: ik heb de e-mailadressen van Rosanne, Laura en Sandra niet, en een invite gaat naar een echte inbox — dus dat wilde ik niet gokken.

Wat je doet
Geef me de drie adressen, dan zet ik ze erin. Of doe het zelf in de TestFlight-tab; het zijn drie regels.

T3 · Controleer dat het feedback-adres aankomt

eigenaar

Testerfeedback uit TestFlight — inclusief schermafbeelding en toestelinfo — gaat naar beta@tendlo.app. Komt dat nergens aan, dan verdwijnt die feedback stil. Stuur er een testmail naartoe.

T4 · Indienen voor Beta App Review

wacht op jouw opdracht

De laatste stap. De eerste build van een versie moet door Apple's Beta App Review, meestal binnen een dag en veel lichter dan een echte App Store-review.

Waarom ik dit niet zelf doe
Hier gaat Apple daadwerkelijk naar de app kijken. Dat zet ik niet in gang zonder dat je het zegt — en het kan pas nadat T1 klaar is.
Wat er al voor klaarstaat
De reviewnotities leggen uit dat inloggen niet nodig is om de app te beoordelen. Dat is het grootste praktische risico: de enige inlogmethode is een e-maillink, die een reviewer niet kan ontvangen. Omdat de app volledig lokaal werkt, kan hij de stap gewoon overslaan — en dat staat er zo in.

Wat er voor doel 1 al klaar is

13 punten
OnderdeelStand
App-record in App Store Connect✅ Apple ID 6789917487
Distributiecertificaat veiliggesteld✅ mét privésleutel, geverifieerd
App Store Connect API-key✅ uploaden gaat vanaf de CLI
Export-compliance✅ bevestigd door de eigenaar
Privacy-manifest in de app✅ zes types
Build 1248 geüpload✅ verwerkt en geldig
Test Information (Nederlands)✅ via de API ingevuld
Beta App Review-notities✅ inloggen-is-optioneel
Contactgegevens voor de review✅ niet publiek zichtbaar
What to Test op build 1248✅ zes punten
Categorie, Content Rights, subtitel
Testgroep zonder publieke link
Plus-grants testhuishoudens✅ bleken al te bestaan

Onderweg loste zich één Apple-melding op: build 1247 kreeg ITMS-90683 over een ontbrekende tekst voor achtergrond-locatie. In plaats van die tekst toe te voegen — wat een bevoegdheid zou beschrijven die de app niet wil — is de betreffende code weggecompileerd. Build 1248 is daarna geüpload.

Doel 2 — de testfeedback afmaken zonder nieuwe dingen te bouwen

De bevinding die dit doel veranderde

29 juli

Acht van de twaalf tickets in Todo hadden hun fix al op main. Ze stonden daar omdat ze na de deploy niet waren doorgezet, of omdat een her-test tegen een oudere build liep. Het scherpste voorbeeld: een tester meldde dat de betaaldag nog tot 28 ging, terwijl de fix naar 31 al lang gemerged was — haar toestel had die build simpelweg niet.

Daarmee is de grootste stap vooruit niet meer code, maar een build op de toestellen plus een gestructureerde hertestronde. Beide zijn gedaan: alle vier de toestellen hebben de build, en vijf tickets zijn met hertest-instructie doorgezet.

Het bord vandaag

15 · 7 · 20
20 in Testen
Wachten op bevestiging door de testers. Dit is de grootste stapel en hij kan grotendeels dicht zonder nieuw werk.
7 in Todo
TEN-99 server-deel is live, client-deel gaat mee met de volgende build · TEN-120 moet gesplitst (twee losse zaken in één ticket) · TEN-116 en TEN-111 vragen na de her-test een nieuw ontwerp · TEN-87 en TEN-118 zijn het Vermogen-programma · TEN-135 is opgegaan in TEN-138.
15 in Triage
Wachten op de Triage-poort. Nieuw op 29 juli: TEN-144 van Sandra, over iets in de agenda dat op afgevinkt springt zonder dat zij dat deed.

Testen — waarmee we de app doorlopen

Zes demo-accounts staan klaar

29 juligevuld

Voor het beoordelen van schermen in de iOS-simulator. Uitsluitend verzonnen data: bij het testen in Claude Desktop gaan schermafbeeldingen naar Anthropic, dus inloggen met een echt account is geen optie. Wachtwoord voor alle zes: TendloDemo2026! — de app is normaal magic-link-only, dus dat wachtwoord werkt alleen in een build via scripts/flutter-with-defines.sh (die zet DEMO_LOGIN); een store-build blijft magic-link-only. · 290 rijen demodata verdeeld over de modules die per huishouden aan staan.

AccountTierModulesWaarvoor
solo@ · SamPlus29 — allesElk scherm bereikbaar en gevuld
gezin-ouder@ · GijsPlus11Delen, rechten, beheerdersacties
gezin-partner@ · PuckPlus11Wat ziet een tweede ouder?
gezin-kind@ · KimPlus11Rolgebonden: zakgeld, kleedgeld, klusjes
vrij@ · Veragratis5Hoe voelen de Plus-grenzen?
minimaal@ · MeesPlus1Lege staten

Volledige uitleg, het spiekbriefje "welk account voor welke vraag" en de twee manieren van testen staan op de testinformatiepagina.

Beslist, maar bewust nog niet gebouwd — zodat niemand denkt dat het vergeten is

Datum- en tijdkiezer
Richting beslist: wielen, met een periode als één component in twee standen (duur, of Van/Tot dat de nachten zelf uitrekent), plus het maandgrid erbij. ~18-23 dagen over 55 aanroepen. De vraag met een stille databug erachter — nachten of dagen — is beantwoord.
Vermogen
Vastgoed wordt onderdeel van een bredere Vermogen-module. Zes open vragen op de varianten-pagina.
AI-assistent
Geparkeerd als dossier op TEN-143 met varianten en vier open vragen. Belangrijk om te weten: de grounded assistent bestaat al en werkt voor zeven modules — hij is alleen onvindbaar. Zie het ontwerpvoorstel.
Permissie- en consent-tickets
TEN-140 (spraak on-device), TEN-141 (agenda terugschrijven), TEN-142 (consent vóór initialisatie). Eerst samen refinen, niet bouwen.

Losse einden — waar de volgende sessie over kan struikelen

Werkmap is opgeschoond
Eindstand op 29 juli: één worktree, één branch, geen niet-gecommitte wijzigingen. Elf worktrees en 53 branches verwijderd — alle 53 eerst geverifieerd als voorouder van main, dus geen commit verloren. Het werk van een parallelle sessie (screenshottests + een tekstcorrectie) en een blijven liggen E2E-branch uit 8 juli zijn afgemaakt en gemerged.
De GitHub-remote is bij
251 commits gepusht; lokaal en origin/main staan exact gelijk. De drie stale remote branches zijn verwijderd — er staat nog uitsluitend origin/main. Vóór het pushen gecontroleerd dat er geen sleutelmateriaal in de repo of de historie zit.
Sentry staat in de EU — opgelost 13 augustus 2026
Een bestaande organisatie kan niet van regio wisselen, dus er is een nieuwe: aqua-it-bv-eu op de.sentry.io. De DSN is omgezet en er komen aantoonbaar crashes binnen. De historie in de oude VS-organisatie is niet meegekomen. BYO zit er nog wel op — zie BYO-337. De privacydocumentatie is bijgewerkt in TEN-228.
Een lege organisatie die weg moet
Bij het uitzoeken daarvan is per ongeluk een lege Sentry-organisatie probe-dry-run aangemaakt. Verwijderen lukt niet met de beschikbare token; dat moet handmatig via Settings → General Settings → Remove Organization.
Een stukke integratietest
Zoekt een tekstveld "Incassodag" dat sinds TEN-131 een keuzelijst is. Mechanische fix, verifiëren vraagt de simulator.
Twee reviews die het ADR vroeg maar niet zijn gedaan
Voor TEN-99: een volledige panel-review (er waren twee lenzen in plaats van de volledige vorm) en een E2E tegen productie. De garantie is bewezen op database-niveau, niet end-to-end door de synchronisatie heen.