Windows Explorer WebDAV interop (last client from the v0.1 matrix) #2

Open
opened 2026-07-18 20:16:56 +00:00 by Cordy · 4 comments
Owner

WebDAV is verified against curl only (all methods return correct status codes and payloads). Real clients are pickier — each has quirks around LOCK, PROPFIND properties, trailing slashes, and header casing.

Test matrix (v0.1 gate):

  • rclonerclone lsd/copy/sync against /dav/ (most important: it's the power-user path and the easiest to automate in CI later)
  • macOS Finder — Connect to Server → browse, upload, rename, delete (exercises the fake LOCK path)
  • Cyberduck — full CRUD
  • Windows Explorer — map network drive (notoriously strict; may need OPTIONS on / and Basic-over-HTTP registry caveat documented)
  • Nextcloud desktop client (generic WebDAV mode) — nice-to-have, big migration story if it works

Document per-client findings + required workarounds in the wiki. Anything requiring protocol changes gets its own issue.

WebDAV is verified against curl only (all methods return correct status codes and payloads). Real clients are pickier — each has quirks around LOCK, PROPFIND properties, trailing slashes, and header casing. Test matrix (v0.1 gate): - [ ] **rclone** — `rclone lsd/copy/sync` against `/dav/` (most important: it's the power-user path and the easiest to automate in CI later) - [ ] **macOS Finder** — Connect to Server → browse, upload, rename, delete (exercises the fake LOCK path) - [ ] **Cyberduck** — full CRUD - [ ] **Windows Explorer** — map network drive (notoriously strict; may need `OPTIONS` on `/` and Basic-over-HTTP registry caveat documented) - [ ] **Nextcloud desktop client** (generic WebDAV mode) — nice-to-have, big migration story if it works Document per-client findings + required workarounds in the wiki. Anything requiring protocol changes gets its own issue.
Author
Owner

Client interop matrix complete against v0.0.2 (2026-07-20):

  • Finder ✔ — ⌘K mount, browse, MKCOL + rename, LOCK/PUT/GET/UNLOCK copy, AppleDouble ._* traffic. Pod 0 restarts (this was the #5 killer traffic).
  • rclone ✔ — via new interop-rclone.yml manual-dispatch workflow on the LAN runner: lsd, upload, rclone check (0 differences; no common hash — expected, WebDAV exposes none), round-trip download byte-identical, purge cleanup. Re-runnable any time from the Actions tab (needs CAIRN_TEST_PASSWORD secret, already set).
  • Cyberduck ✔ — WebDAV (HTTP) connect on port 80, browse, MKCOL (cyberduck-test), upload (5.9 KB), download round-trip (size-verified), DELETE cleanup. Only client-side notes: Cyberduck's plaintext-HTTP warning (expected on LAN; goes away if/when files.c0rdyceps.ch TLS exposure happens) and its 401→login-prompt flow on first connect (normal Basic-auth challenge handling).

Pod stayed Running, 0 restarts across all three clients. Windows Explorer remains untested (no Windows box handy) — leaving as a nice-to-have.

**Client interop matrix complete against v0.0.2 (2026-07-20):** - **Finder** ✔ — ⌘K mount, browse, MKCOL + rename, LOCK/PUT/GET/UNLOCK copy, AppleDouble `._*` traffic. Pod 0 restarts (this was the #5 killer traffic). - **rclone** ✔ — via new `interop-rclone.yml` manual-dispatch workflow on the LAN runner: lsd, upload, `rclone check` (0 differences; no common hash — expected, WebDAV exposes none), round-trip download byte-identical, purge cleanup. Re-runnable any time from the Actions tab (needs `CAIRN_TEST_PASSWORD` secret, already set). - **Cyberduck** ✔ — WebDAV (HTTP) connect on port 80, browse, MKCOL (`cyberduck-test`), upload (5.9 KB), download round-trip (size-verified), DELETE cleanup. Only client-side notes: Cyberduck's plaintext-HTTP warning (expected on LAN; goes away if/when `files.c0rdyceps.ch` TLS exposure happens) and its 401→login-prompt flow on first connect (normal Basic-auth challenge handling). Pod stayed Running, 0 restarts across all three clients. Windows Explorer remains untested (no Windows box handy) — leaving as a nice-to-have.
Author
Owner

Status (2026-07-25): rclone, Finder, Cyberduck all verified against the live dogfood (2026-07-20). Windows Explorer is the only remaining client — moved to v0.4 as the parity item. Nextcloud desktop client is superseded by the dedicated "Desktop sync client — strategic spike" (#20).

Status (2026-07-25): rclone, Finder, Cyberduck all verified against the live dogfood (2026-07-20). **Windows Explorer is the only remaining client** — moved to v0.4 as the parity item. Nextcloud desktop client is superseded by the dedicated "Desktop sync client — strategic spike" (#20).
Author
Owner

Triage: tandem (manual client testing). WebDAV interop across rclone, Finder, Cyberduck, Windows Explorer on real OSes — mount, up/download, rename, large files, the NFC path fix (#183). I can supply a test matrix/checklist; you run the clients and report. Some paths are already covered by the CI interop workflows (rclone/tus).

**Triage: tandem (manual client testing).** WebDAV interop across rclone, Finder, Cyberduck, Windows Explorer on real OSes — mount, up/download, rename, large files, the NFC path fix (#183). I can supply a test matrix/checklist; you run the clients and report. Some paths are already covered by the CI interop workflows (rclone/tus).
Cordy changed title from v0.1: WebDAV client interop testing (rclone, Finder, Cyberduck, Explorer) to Windows Explorer WebDAV interop (last client from the v0.1 matrix) 2026-09-03 01:52:16 +00:00
Author
Owner

Retitled (2026-09-03): rclone, Finder and Cyberduck were all verified 2026-07-20 and the Nextcloud client is superseded by #20 — Windows Explorer is the only remaining client, so the issue now says exactly that.

One thing has changed since the last triage that makes this test more valuable, not less: per-file locks (#315) replaced the old granted-and-ignored WebDAV LOCK tokens with real, enforced class-2 locking. Explorer/Office on Windows is the strictest lock client in the matrix, so the Explorer pass should now also cover: open a Word/Excel file from the mapped drive (lock appears on the admin Locks page and in the row chip), attempt a conflicting edit from a second account (should be refused with 423), close the document (lock released), plus the classic Explorer checks — map drive, browse, up/download, rename, large file, umlaut/NFC filenames (#183). Tandem as before: checklist from the agent, clients run by the operator.

Retitled (2026-09-03): rclone, Finder and Cyberduck were all verified 2026-07-20 and the Nextcloud client is superseded by #20 — Windows Explorer is the only remaining client, so the issue now says exactly that. One thing has changed since the last triage that makes this test **more** valuable, not less: per-file locks (#315) replaced the old granted-and-ignored WebDAV LOCK tokens with real, enforced class-2 locking. Explorer/Office on Windows is the strictest lock client in the matrix, so the Explorer pass should now also cover: open a Word/Excel file from the mapped drive (lock appears on the admin Locks page and in the row chip), attempt a conflicting edit from a second account (should be refused with 423), close the document (lock released), plus the classic Explorer checks — map drive, browse, up/download, rename, large file, umlaut/NFC filenames (#183). Tandem as before: checklist from the agent, clients run by the operator.
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
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: Cordy/Cairn#2
No description provided.