fix: dertien openstaande issues — documentatie, opslagraces, herstel en a11y #2762

Merged
brenno merged 19 commits from devin/open-issues into main 2026-11-03 00:46:25 +00:00
Owner

Pakt dertien onbehandelde issues op, elk in een eigen commit:

  • #2715 SECURITY_DESIGN §14 beschrijft het echte logbestand
  • #2716 verouderde release- en runner-beweringen rechtgezet
  • #2717 CRA-formulering: "as described in" + vernieuwde SBOM
  • #2718 CRA-positie: gedateerde alinea over de publieke webdemo
  • #2719 SECURITY.md: v1.2.1 is een ingetrokken tag, geen release
  • #2720 documentopslag schrijft door tot de schijf de live bron bevat
  • #2721 deck-save geeft pas true als het deck schoon op schijf staat
  • #2722 herstelprune spaart momentopnames van levende sessies
  • #2723 onleesbare git-outbox telt niet meer als leeg
  • #2732 exportdialoog zonder onbewezen toegankelijkheidsbelofte; grafiek-SVG krijgt role=img + tekstalternatief uit dezelfde label-logica als de editor
  • #2734 samenwerken-docs en kaarttekst naar de WebDAV-werkelijkheid
  • #2735 PRIVACY.md uitgaande tabel: versiecheck en LibrePlan erbij
  • #2736 Gantt-dia en procesverbetering-status in de docs

Bonus gerepareerd onderweg: een poortregel die CRA-"vereist"-taal vangt (#532-echo), en de #2737-regressie op main waarbij compatbalk- en editorvalidatietests op een isolate antwoordden zonder te wachten.

Poort: make check, make check-secrets, make sast — alles groen.

Pakt dertien onbehandelde issues op, elk in een eigen commit: - #2715 SECURITY_DESIGN §14 beschrijft het echte logbestand - #2716 verouderde release- en runner-beweringen rechtgezet - #2717 CRA-formulering: "as described in" + vernieuwde SBOM - #2718 CRA-positie: gedateerde alinea over de publieke webdemo - #2719 SECURITY.md: v1.2.1 is een ingetrokken tag, geen release - #2720 documentopslag schrijft door tot de schijf de live bron bevat - #2721 deck-save geeft pas true als het deck schoon op schijf staat - #2722 herstelprune spaart momentopnames van levende sessies - #2723 onleesbare git-outbox telt niet meer als leeg - #2732 exportdialoog zonder onbewezen toegankelijkheidsbelofte; grafiek-SVG krijgt role=img + tekstalternatief uit dezelfde label-logica als de editor - #2734 samenwerken-docs en kaarttekst naar de WebDAV-werkelijkheid - #2735 PRIVACY.md uitgaande tabel: versiecheck en LibrePlan erbij - #2736 Gantt-dia en procesverbetering-status in de docs Bonus gerepareerd onderweg: een poortregel die CRA-"vereist"-taal vangt (#532-echo), en de #2737-regressie op main waarbij compatbalk- en editorvalidatietests op een isolate antwoordden zonder te wachten. Poort: `make check`, `make check-secrets`, `make sast` — alles groen.
De tags-feed sorteert v1.2.1 als hoogste semver terwijl er geen release
onder dat nummer bestaat; wijs de lezer op de releases-feed.
De samenvatting claimde compleetheid bij tien rijen terwijl de tabel 25
rijen telt en de versiecheck en LibrePlan mistte; de rijenaantallen zijn
weg, de twee ontbrekende bestemmingen staan erin en de forge is benoemd.
De index noemde de module ongebouwd terwijl hij in de app zit, en de
handleiding en het formaatdocument beschreven de gantt-dia niet; de vijf
kolommen, de duurgrammatica en het importplafond staan er nu.
§14 beweerde nog dat er geen logbestand bestaat; de desktopbouwen
schrijven er sinds #2618 twee van 1 MiB met een sessiemarkering, paden
gehasht — locatie, plafond, inhoud en wissen nu beschreven, en de
schijflijst telt de bestanden mee.
SECURITY, README, SECURITY_DESIGN, API_DOCUMENTATION en SBOM noemden nog
release 0.1.1 als laatste, een forge zonder runner en 'nooit een release
getagd'; versieloos naar de releases-feed gewezen en de werkelijke
workflow-triggers beschreven (scans en static-gate op dispatch,
tijdsvervallend dagelijks, releasepoort op v*-tag).
Een 'requires'-zin wordt elders als fabrikantenplicht teruggeciteerd; het
positiebesluit (#532) schrijft 'as described in' voor. CHECKS, de
SBOM-generator en de gegenereerde inventaris herformuleerd, de
mappingkolom zonder 'satisfies', en check_conventions keurt de combinatie
nu af — CHANGELOG als historie uitgezonderd.
De CRA-positie zegt dat OciDeck niet als dienst wordt aangeboden terwijl
ocideck.librekat.nl een publieke build serveert met fetch-proxy; de
afweging stond nergens op schrift — feiten, oordeel en de feiten waaronder
de alinea vervalt, nu vastgelegd met het open juridische punt erbij.
De modulekaart beloofde end-to-end versleuteling en de handleiding een
deelnemerverificatie, een herstelsleutel en een Matrix-account die niet in
de app bestaan; kaart en gids beschrijven nu de sessie via de WebDAV-map
naast het deck, in 30 vertalingen.
De exportdialoog en gids noemden het HTML-bestand toegankelijk terwijl
ACCESSIBILITY.md zegt dat het niet getoetst is; de zin beschrijft nu wat
het bestand is. De grafiek-SVG draagt role=img en een <title> uit
dezelfde label-logica als de editor, gedeeld via chartSemanticsLabel.
Een opslag legde de bron vóór de await vast en meldde daarna
onvoorwaardelijk schoon; aanslagen tijdens het schrijven verdwenen dan met
de herstelkopie bij sluiten. saveDocumentUntilCurrent schrijft door tot de
levende bron gelijk is, en anders blijft het tabblad vuil.
_saveToPath keerde true terug toen de undo-stapel tijdens het schrijven
groeide; opslaan-en-sluiten wiste daarna de herstelkopie van werk dat alleen
in het geheugen leefde. De schrijflus herhaalt nu tot de schijf de levende
deck bevat, en faalt als hij na een begrensde lus nog vuil is.
pruneOlderThan keek alleen naar wijzigingstijd; een vuil tabblad dat zeven
dagen stilstaat schrijft niets nieuws weg en verloor zo zijn enige
herstelkopie. Momentopnames waarvan de sessie een levend lock heeft
overleven de leeftijdsgrens nu.
Beschadigde outbox-JSON logte en gaf null terug; de badge stond op 0 en de
stille flush meldde niets te doen terwijl het werk nooit op de forge kwam.
pending() verzamelt corrupte deckmappen nu apart, isEmpty telt ze mee, en
de flush meldt ze als mislukt zonder de sleutel of werkkopie te wissen.
CHANGELOG-pathvergelijking voor de CRA-regel, getypeerde catches in de
prune-lus, klasseplafonds: DeckNotifier +5 voor de schrijflus (#2721),
DocumentMarkdownView +18 gedocumenteerde drift op main, en de gekrompen
_ChartPreviewState als winst verlaagd.
#2711 hernoemde de lange methode op main; de basislijn wees nog naar de
oude naam. Zelfde plafond, geen groei.
- #2721: incomplete (grafiekwaarschuwingen) is wél op schijf → true.
- #2720: elke schrijfbeurt patcht de live bron opnieuw (visuele route,
  BOM); de 'edit gedetecteerd'-vergelijking kijkt naar de bron van vóór
  de beurt, niet naar de gepatchte schijfversie.
- #2723: deckDir in de waarschuwing via logName (privacyratchet).
- #2732: bestaande grafiektesten scopen 'afwezig'-asserties op
  getekende elementen nu de aria-label de volledige data mag noemen;
  SOURCE_MAP neemt chart_semantics_label op.
- #2737-regressie op main: compatbalk- en editorvalidatietests wachten
  nu met runAsync op het isolate-antwoord.
De conventiepoort verbiedt runAsync met vaste klok — pumpUntil wacht op
de uitkomst zelf met een bovengrens. DeckNotifier-commentaar weer strak
onder het klasseplafond.
brenno merged commit 580a344fb8 into main 2026-11-03 00:46:25 +00:00
brenno deleted branch devin/open-issues 2026-11-03 00:46:30 +00:00
Sign in to join this conversation.
No description provided.