feat: laatst gebruikt in API-tokenoverzicht (IDEA-227) #108

Merged
janpeter merged 15 commits from codex/idea-227-last-used-spec into main 2026-09-27 21:45:29 +02:00
Owner

Toont datum en tijd van het laatste geslaagde tokenverzoek. Null toont exact “Nog geen gebruik geregistreerd”. Sortering start nieuwste-bovenaan, houdt nulls onderaan in beide richtingen en bewaart de bestaande voorkeur. UTC wordt na hydratatie lokaal weergegeven.

Een equivalente positieve nodejs-guard in instrumentation voorkomt daarnaast een bestaande edge-bundelfout op de push-listener, gevonden tijdens de echte browserproef.

Validatie: npm run verify: 1307 tests, 48 gerichte token-tests; echte browserproef met synthetische admin en via MCP gebruikt token, inclusief sorteerbehoud. Mac:claude eindreview GO zonder Critical/Major. Rapport en screenshot staan in docs/superpowers/reviews en docs/evidence.

Afhankelijk van shared #64, Scrum4Me #267 en MCP #166. Eerst kolom/policy, dan consumers. Geen merge, migratie of deployment in productie uitgevoerd.

Reviewfollow-up: echte renderToString→hydrateRoot-proef met UTC op de server en vaste Europe/Amsterdam-tijdzone op de client, inclusief datumwisseling, onveranderd dateTime-attribuut/nulltekst en geen hydrationfouten. Een tijdelijke onveilige SSR-mutatie liet de nieuwe test aantoonbaar falen; runtimecode bleef ongewijzigd.

Toont datum en tijd van het laatste geslaagde tokenverzoek. Null toont exact “Nog geen gebruik geregistreerd”. Sortering start nieuwste-bovenaan, houdt nulls onderaan in beide richtingen en bewaart de bestaande voorkeur. UTC wordt na hydratatie lokaal weergegeven. Een equivalente positieve nodejs-guard in instrumentation voorkomt daarnaast een bestaande edge-bundelfout op de push-listener, gevonden tijdens de echte browserproef. Validatie: npm run verify: 1307 tests, 48 gerichte token-tests; echte browserproef met synthetische admin en via MCP gebruikt token, inclusief sorteerbehoud. Mac:claude eindreview GO zonder Critical/Major. Rapport en screenshot staan in docs/superpowers/reviews en docs/evidence. Afhankelijk van shared #64, Scrum4Me #267 en MCP #166. Eerst kolom/policy, dan consumers. Geen merge, migratie of deployment in productie uitgevoerd. Reviewfollow-up: echte renderToString→hydrateRoot-proef met UTC op de server en vaste Europe/Amsterdam-tijdzone op de client, inclusief datumwisseling, onveranderd dateTime-attribuut/nulltekst en geen hydrationfouten. Een tijdelijke onveilige SSR-mutatie liet de nieuwe test aantoonbaar falen; runtimecode bleef ongewijzigd.
docs(ST-053): preserve policy review and complete local evidence
All checks were successful
CI / Verify (pull_request) Successful in 2m30s
43255e72ee
docs(ST-053): record Claude GO and release boundaries
Some checks failed
CI / Verify (pull_request) Has been cancelled
a782db74e3
janpeter changed title from WIP: feat: laatst gebruikt in API-tokenoverzicht (IDEA-227) to feat: laatst gebruikt in API-tokenoverzicht (IDEA-227) 2026-09-27 21:17:40 +02:00
docs(ST-053): correct independent test total
All checks were successful
CI / Verify (pull_request) Successful in 2m47s
99b6af4297
s4m-codex-reviewer left a comment

COMMENT

Findings

  • MINOR — __tests__/components/api-tokens/token-list.test.tsx:158: de nieuwe weergavetest rendert alleen client-side en gebruikt de tijdzone van de testrunner. Daarmee verifieert hij niet de in het gekoppelde plan vereiste SSR/hydration-overgang of een vaste testtijdzone. Voeg een SSR→hydrate-test en een expliciet ingestelde tijdzone toe, zodat de hydrationveilige UTC-placeholder en lokale datum/tijd regressievast zijn.

De implementatie zelf volgt verder de productstandaard: UTC/null-serialisatie, lokale datum+tijd na hydratatie, nulltekst, null-last sortering en behoud van de bestaande opslagkey zijn aanwezig.

## COMMENT ### Findings - **MINOR** — `__tests__/components/api-tokens/token-list.test.tsx:158`: de nieuwe weergavetest rendert alleen client-side en gebruikt de tijdzone van de testrunner. Daarmee verifieert hij niet de in het gekoppelde plan vereiste SSR/hydration-overgang of een vaste testtijdzone. Voeg een SSR→hydrate-test en een expliciet ingestelde tijdzone toe, zodat de hydrationveilige UTC-placeholder en lokale datum/tijd regressievast zijn. De implementatie zelf volgt verder de productstandaard: UTC/null-serialisatie, lokale datum+tijd na hydratatie, nulltekst, null-last sortering en behoud van de bestaande opslagkey zijn aanwezig.
test(ST-053): verify UTC SSR to fixed-zone hydration
All checks were successful
CI / Verify (pull_request) Successful in 1m59s
e3d67cc8b3
s4m-codex-reviewer left a comment

APPROVED

Geen blocker- of error-severity findings.

De diff implementeert de Workers-laag van IDEA-227 plan-conform: het gedeelde schema wordt gebumpt, last_used_at wordt uitsluitend als UTC-ISO/null naar de admin-only client gemapt, en de tabel toont lokale datum én tijd pas na hydratatie. De nieuwe kolom sorteert bij eerste selectie aflopend, bewaart nullwaarden onderaan in beide richtingen en behoudt de bestaande opslagkey en id-tiebreaker. Tests behandelen mapping zonder hash-lek, nulltekst, lokale tijd, SSR/hydratatie en beide sorteerrichtingen; het bewijsdocument registreert de volledige verify- en browserproef.

## APPROVED Geen blocker- of error-severity findings. De diff implementeert de Workers-laag van IDEA-227 plan-conform: het gedeelde schema wordt gebumpt, `last_used_at` wordt uitsluitend als UTC-ISO/null naar de admin-only client gemapt, en de tabel toont lokale datum én tijd pas na hydratatie. De nieuwe kolom sorteert bij eerste selectie aflopend, bewaart nullwaarden onderaan in beide richtingen en behoudt de bestaande opslagkey en id-tiebreaker. Tests behandelen mapping zonder hash-lek, nulltekst, lokale tijd, SSR/hydratatie en beide sorteerrichtingen; het bewijsdocument registreert de volledige verify- en browserproef.
Sign in to join this conversation.
No reviewers
No labels
severity/s4
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/scrum4me-workers!108
No description provided.