From acafad962b5eea4772479d7f44912038d71e528e Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 9 Nov 2026 03:22:54 +0000 Subject: remake: replayWindow and archiveRetention in an octet-stream import's query An import uploaded as `application/octet-stream` takes `rules`, `baseHeads`, `settle` and `switchDelay` in the query, but not the retentions: for those the document had to go base64-encoded in the JSON form. Now `replayWindow` and `archiveRetention` go in the query too, as JSON like the rules (`{"epochs":1,"age":"7d"}`, as in the body). --- docs/openapi.yaml | 10 ++++++++++ docs/remakes.md | 7 ++++--- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/docs/openapi.yaml b/docs/openapi.yaml index efda5e2..8e6a688 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1428,6 +1428,16 @@ paths: description: Octet-stream import only; a duration. schema: type: string + - name: replayWindow + in: query + description: 'Octet-stream import only: the retention as JSON, as in the body, e.g. `{"epochs":1,"age":"7d"}`.' + schema: + type: string + - name: archiveRetention + in: query + description: Octet-stream import only, as `replayWindow`. + schema: + type: string requestBody: content: application/json: diff --git a/docs/remakes.md b/docs/remakes.md index ccccb1a..6f4b740 100644 --- a/docs/remakes.md +++ b/docs/remakes.md @@ -173,9 +173,10 @@ curl -X POST localhost:3000/admin/remakes \ --url-query 'rules=[{"from":"","to":""}]' ``` -With `application/octet-stream`, `rules`, `baseHeads`, `settle` and -`switchDelay` go in the query; for the retention settings use the JSON form, with -the document base64-encoded: +With `application/octet-stream`, `rules`, `baseHeads`, `settle`, `switchDelay`, +`replayWindow` and `archiveRetention` go in the query, the rules and the retentions as +JSON (`--url-query 'replayWindow={"epochs":2}'`). The JSON form takes the document +base64-encoded: ```sh base64 -w0 backup.automerge | -- cgit v1.3.1