Version history silently not written on cairn-enc: every version mint fails with Garage 403 "Invalid signature" #670
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Cordy/Cairn#670
Loading…
Add table
Add a link
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?
Found in the #656 QA pass (v0.6.247, files.c0rdyceps.ch / cairn-enc, S3 backend = Garage bucket
cairn-enc).Matrix row: §3 "Versions drill-down: Edit a file, open Versions → rows with restore/download actions"; §7 "Collabora edit: save round-trips".
Steps
_qa→ New → Excel spreadsheetqa-sheet.xlsx(opens in Collabora).QA656into A1 and save (⌘S), then Back. Collabora saves again on close.Expected: at least one previous version (the empty template) with Restore / Download.
Seen: "No previous versions." The save itself worked (
POST /wopi/files/…/contents→ 200, twice), but the server log shows the version write failing every time:The same 403 appears for
.cairn-meta.jsonon every metadata write in_qa(02:57:44, 02:57:56, 02:58:26, 02:58:37).GET /api/v1/versionsreturns{"items":[]}for every file checked on this instance, including older documents in Personal.Why this is serious
Likely cause (hypothesis, not verified): the version object key embeds an RFC 3339 timestamp with
:characters (…/2026-09-23T02:58:26Z_1_nikola-test.v). A SigV4 canonical-URI encoding mismatch on:between the Cairn S3 client and Garage produces exactlyInvalid signature, while other object PUTs, without colons, succeed. Worth checking files-bao's backend for the same pattern, and adding a CI check (e.g. to interop-s3) that mints a version against Garage and lists it back.Also noted:
.cairn-meta.json, an internal metadata file, is itself being put through version minting on every tag/favourite write. Probably unintended.Screenshot:
670-no-versions.jpg(outputs folder)