Samenwerken: Fase 0.5 — WebDAV-async-transport (co-auteuren zonder nieuwe deps) #989
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#989
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?
Uit de ketenkeuring #976: de matrix-SDK is NO-GO onder het huidige beleid (matrix + vodozemac zijn AGPL-3.0, en de crypto is native Rust). De aanbevolen volgende stap voor spoor B — vastgelegd in assurance/ketenkeuring-matrix-sdk.md.
Doel. Asynchroon co-auteuren van een deck over de Nextcloud/WebDAV die de gebruiker al heeft ingesteld: een
WebdavAsyncTransportachter het bestaandeCollabTransport-contract uit Fase 0 (#975).Wat er nu mist. Fase 0 levert alleen
LoopbackTransport(in-process, voor de tests). Er is nog geen transport dat twee echte machines verbindt. Dit is het eerste dat dat doet, zonder de netwerk-/toolchain-/licentiekosten van Matrix.Vorm (waarom dit de aanbeveling is).
lib/services/webdav_service.dart.Bestandsformaat (P2). Raakt het
.mdniet: samenwerken blijft vergankelijk, het opgeslagen deck blijft de waarheid. Ops/snapshots leven in een sidecar op de WebDAV-bron, niet in het.md.Referentie. COLLABORATION.md §10 (Fase 0.5), §5.6 (CollabTransport). Volgt op #975 (Fase 0); alternatief voor #977 (Fase 1 Matrix) zolang die op NO-GO staat.
Opgepakt. Tak: collab/webdav-async-transport. Aanpak, in de korrel van Fase 0 (#988, een puur bouwblok: model + transport + sessie + test, geen UI): een WebdavAsyncTransport achter het bestaande CollabTransport-contract, plus de JSON-model-(de)serialiser die §5.2 vraagt (nadrukkelijk JSON, niet Markdown — re-parsen zou slide-id's hergenereren, §5.5/P5). De ops/locks landen in een append-only log-sidecar op de WebDAV-bron; volgordelijkheid via If-None-Match, inhaalslag via polling. Testbaar via een geïnjecteerde in-memory store-naad, zonder live server. Snapshot-rebaselining voor late joiners (§5.2) en de UI-bedrading (§5.7) blijven — net als in #988 — vervolg. Geen nieuwe deps, geen AGPL, geen Rust.
Afgerond en geland in merge
65500b9f(PR #995). WebdavAsyncTransport achter het CollabTransport-contract van Fase 0: ops/locks in een append-only log-sidecar op de WebDAV-bron, volgordelijk via een voorwaardelijke PUT (If-None-Match:*), inhaalslag via polling, een deelnemer hoort zijn eigen verzending nooit. Plus de JSON-model-(de)serialiser die §5.2 vraagt (fail-closed, volledigheid geborgd). Geen nieuwe deps, geen AGPL, geen Rust; het .md blijft onaangeroerd (P2). make check groen (7553 tests, dekking 87,4%). Snapshot-herbaselijning (§5.2) en de interface-bedrading (§5.7) blijven vervolg, net als bij #988. Afgehandeld — sluiten.