OciServe: sluit de drie aanroepen aan die de server van OciDeck verwacht (login-audit, 'les geopend', profielfoto) #2428
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
release-blocker
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#2428
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Wat wil je bereiken
Drie routes in het OciServe-contract zeggen uitdrukkelijk dat OciDeck ze aanroept. OciDeck doet dat niet. Daardoor missen auditgebeurtenissen en kan een cursist zijn foto niet wijzigen.
Wat mist er nu (origin/main
5802e9360)POST /api/v1/auth/ocideck-login(Idempotency-Key)keiko-login,login_audit_service.dart)POST /organizations/{org}/me/course-versions/{version_id}/lessons/{lesson_id}/opened(Idempotency-Key)reportPlayback)PUT/DELETE /api/v1/me/avatarGET me/avatar,accountAvatar)Gevolg: de auditstroom van de organisatie bevat nooit een OciDeck-aanmelding of "les geopend", terwijl Keiko-aanmeldingen er wel in staan; en een cursist kan zijn eigen foto niet beheren.
Gevraagd
POST auth/ocideck-login(niet bij refresh of herstel van een sessie). Fouten zijn niet fataal: de aanmelding gaat door, de mislukte melding wordt niet herhaald met dezelfde sleutel in een lus.POST …/lessons/{lesson_id}/openedper opening. Fire-and-forget, met de bestaande offline-wachtrij; nooit blokkerend voor het afspelen._avatarCap, 5 MiB) en typecontrole (PNG, JPEG, WebP; digest-controle). Let op de serverkant: vervangen blobs worden nog niet opgeruimd (OciServe:docs/PROFILE_AUDIT_AND_SESSIONS.md), dus laat de cursist geen foto's op een lus herladen.Toets op de kernwaarden
Alleen actief voor wie bewust met een OciServe is verbonden (ongewijzigd); zonder server blijft OciDeck volledig lokaal werken. Geen telemetrie, geen wijziging van het bestandsformaat, geen nieuwe verplichte afhankelijkheid. De route staat al in de gepinde speckopie (
test/fixtures/ociserve_openapi.yaml, OciServe45d9a87), dus de pin hoeft niet omhoog; registreer de nieuwe aanroepen wel intest/ociserve_api_drift_test.dart(de contractpoort, #2042).Acceptatiecriteria
Acceptatiecriteria (algemeen)
l10n.d('…')-teksten viamake add-l10n(31 talen).make checkgroen;docs/USER_GUIDE.md,docs/SOURCE_MAP.mdenCHANGELOG.mdbijgewerkt.Gerelateerd
Overzicht: brenno/OciServe#659.
Keten-audit van 2026-10-14, getoetst aan OciServe
560f1ba, Keiko093f679en OciDeck5802e9360. Overzicht: brenno/OciServe#659.Gemerged in #2444 (merge-commit
5446218c72). Na het samenvoegen met main is de per-bestand-dekking van de nieuwe provider-, dialoog- en bewijslagen met tests aangevuld; make check, check-secrets en sast zijn groen. #2424 was al gedekt door me/exam-results.Nalevering in #
d191e3d0d5(PR #2447, commit7efde5aaaf). De les-open-audit en de wachtrij-herhaling delen één idempotentiesleutel. Een 4xx komt niet in de wachtrij. Niet live bewezen: de auditregel in een echte OciServe.