QA batch 4a - protocol honesty (v0.6.251) #700

Merged
Cordy merged 11 commits from fix-qa4 into main 2026-09-23 19:36:37 +00:00
Owner

Fourth batch, first slice: the contained protocol/UI fixes from the storage cluster.

  • S3 wire path now matches the SigV4-signed canonical path (u.RawPath = encodePath(...) in req/putStream) — Garage stops 403ing colon keys, version minting works again on S3 backends (#670)
  • WebDAV omits getlastmodified on undatable collections instead of Go zero time (#665)
  • closeEditor refetches the folder and re-renders the details pane from fresh data (#671)
  • Converter formats gain xlsx/xls/ods/csv on both dialects — spreadsheet heroes render (#672)

#659 and #664 (plaintext size + preserved mtime on encrypted/S3 backends) come next as their own slice — they share a metadata mechanism.

Red-green: web/test/qa4.test.js, internal/dav/qa4_test.go, internal/storage/s3/qa4_test.go (httptest server asserting the wire path equals the signed canonical path).

Closes #670
Closes #665
Closes #671
Closes #672

Fourth batch, first slice: the contained protocol/UI fixes from the storage cluster. - S3 wire path now matches the SigV4-signed canonical path (`u.RawPath = encodePath(...)` in req/putStream) — Garage stops 403ing colon keys, version minting works again on S3 backends (#670) - WebDAV omits `getlastmodified` on undatable collections instead of Go zero time (#665) - `closeEditor` refetches the folder and re-renders the details pane from fresh data (#671) - Converter formats gain xlsx/xls/ods/csv on both dialects — spreadsheet heroes render (#672) #659 and #664 (plaintext size + preserved mtime on encrypted/S3 backends) come next as their own slice — they share a metadata mechanism. Red-green: web/test/qa4.test.js, internal/dav/qa4_test.go, internal/storage/s3/qa4_test.go (httptest server asserting the wire path equals the signed canonical path). Closes #670 Closes #665 Closes #671 Closes #672
S3 requests transmit the same AWS-encoded path SigV4 signed, so Garage stops rejecting colon keys and version minting works again on S3 backends; WebDAV omits getlastmodified for undatable collections instead of emitting year 1; closing the editor refetches the listing and details pane so post-save size and time show; both converter dialects now offer spreadsheet formats (xlsx, xls, ods, csv) for the pane hero.
changelog: v0.6.251
All checks were successful
ci / test-and-build (pull_request) Successful in 1m14s
12902c0f1c
Cordy merged commit 9c260adbf9 into main 2026-09-23 19:36:37 +00:00
Cordy deleted branch fix-qa4 2026-09-23 19:36:41 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
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#700
No description provided.