teach/test
Ramon 36695a06f6
All checks were successful
dev - build & deploy naar test / build-and-deploy (push) Successful in 46s
fix: leerling in werken-modus kreeg abusievelijk readonly:true (v0.4.33-beta)
- Roadmap-punt "de voortgangen werken niet" onderzocht (niet blind
  herbouwd - eerst gediagnosticeerd via de code en git-geschiedenis).
- Gevonden: pupil.js zette sinds v0.3.15-beta (toen kijken/werken-modus
  werd toegevoegd) readonly:true in BEIDE takken van de modus-keuze -
  een kopieerfout, want de hele reden voor die commit was net dat
  "werken" de leerling wél moet laten werken. In "werken"-modus hoort
  er geen readonly-vlag te staan; "kijken" (blijft ongewijzigd) is de
  enige modus die dat nodig heeft.
- Concreet effect: de twee widgets die opts.readonly daadwerkelijk
  lezen (letters.js/anchor.js) verborgen voor leerlingen in
  werken-modus onterecht hun eigen bewerk-gereedschap (woordenlijst-
  editor, opslaan/bibliotheek) - gereedschap dat een leerling in
  werken-modus wél hoort te zien. De kernoefening zelf (spellen,
  slepen) werd hierdoor niet geblokkeerd, dus dit verklaart niet de
  volledige klacht - overige widgets negeren opts.readonly toch al.
- Tegelijk de stille `.catch(()=>{})` op het voortgang-loggen vervangen
  door `console.warn` bij een mislukte POST /my/progress: een mislukte
  log (verlopen sessie, weggehaalde toewijzing, servergolf) verdween
  eerder spoorloos, wat een "werkt niet"-klacht onmogelijk te
  onderzoeken maakte.
- Nieuwe test/progress-logging.test.js dekt het serverpad dat nog
  helemaal geen tests had: leerling-eigen toewijzing wint van
  klasbrede, thuiskind-zonder-school valt terug op de gekoppelde
  ouder, geen-toewijzing geeft 400 zonder insert, niet-leerling geeft
  403, ongeldige widgetId/widgetType geeft 400 - alle zes bevestigen
  dat de SQL/toewijzingslogica zelf klopt, wat het probleem verder
  vernauwt tot de nu twee gefixte punten hierboven of iets dat alleen
  in de echte omgeving van de gebruiker reproduceerbaar is.
- Live geverifieerd: werken-modus toont nu het bewerk-gereedschap in
  letters.js (voorheen verborgen), kijken-modus blijft exact
  ongewijzigd (overlay + verborgen gereedschap). Volledige testsuite:
  118/118.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014EPxzBVRXZZnBPvSAaPAbJ
2026-07-19 14:39:00 +02:00
..
api-security.test.js v0.3.03-beta: versterk publieke beveiliging 2026-07-14 12:42:16 +02:00
auth.test.js v0.3.03-beta: versterk publieke beveiliging 2026-07-14 12:42:16 +02:00
body-parser.test.js fix: alle DELETE-verzoeken faalden op een lege JSON-body (v0.4.02-beta) 2026-07-18 03:44:39 +02:00
cms.test.js feat: server-kant CMS voor de systeemmanager (v0.3.83-beta) 2026-07-16 19:29:08 +02:00
frontend.test.js perf: compressie, cache-headers, cache-busting en parallel ladende scripts (v0.3.81-beta) 2026-07-16 19:01:25 +02:00
images.test.js feat: voeg afbeeldingscatalogus en opslagquota toe 2026-07-15 23:45:17 +02:00
language-library.test.js feat: breid taalwidgets en plaatjesbibliotheek uit (v0.3.80-beta) 2026-07-16 16:27:38 +02:00
parent-portal.test.js fix: gebruikerslijst per school laadde nooit (SELECT DISTINCT/ORDER BY) (v0.3.99-beta) 2026-07-18 03:19:36 +02:00
progress-export.test.js feat: exporteren van resultaten per klas (CSV) (v0.4.29-beta) 2026-07-19 12:54:48 +02:00
progress-logging.test.js fix: leerling in werken-modus kreeg abusievelijk readonly:true (v0.4.33-beta) 2026-07-19 14:39:00 +02:00
save-system.test.js v0.3.24-beta: bewaar ankerdiagrammen los van het bord (bibliotheek) 2026-07-14 22:14:37 +02:00
schools.test.js test: expliciete regressietest voor de beperkte rechten van groepsleiding (v0.4.08-beta) 2026-07-18 04:49:10 +02:00
security-config.test.js perf: gzip-vangnet in nginx voor geproxyde responses (v0.3.82-beta) 2026-07-16 19:02:53 +02:00
shared-library.test.js v0.3.28-beta: alleen-lezen-vlag voor gedeelde items (server) 2026-07-14 22:49:17 +02:00
widgets.test.js feat: eigen personage (avatar) voor leerlingen, ouders en staf (v0.4.23-beta) 2026-07-19 07:34:25 +02:00