Conversation
72e1ea7 to
1359da1
Compare
There was a problem hiding this comment.
Pull request overview
Introduces a “journaling” mechanism to allow Receiving Servers to detect and replay missed OCM messages from a Sending Server, aligning the OpenAPI spec and the IETF-style protocol document with the concept discussed in #219.
Changes:
- Adds
OCM-Journal-Idheader support to existing OCM message endpoints and defines ajournalingcapability. - Introduces a new
/journalreplay endpoint plusJournalEntry/Noopschemas in the OpenAPI spec. - Documents journaling semantics, compaction, and replay behavior in the IETF-RFC document and updates discovery schema wording.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| spec.yaml | Adds journaling capability, OCM-Journal-Id header parameter, /journal endpoint, and journaling-related schemas. |
| schemas/ocm-discovery.json | Updates discovery schema description to mention journaling capability. |
| IETF-RFC.md | Adds a new “Journaling” section and related security considerations / references. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| name: id | ||
| in: path | ||
| description: Unique ID to identify the share at the consumer side. | ||
| required: true | ||
| schema: | ||
| type: string | ||
| journalId: | ||
| name: OCM-Journal-Id |
There was a problem hiding this comment.
The /journal endpoint uses HTTP 403 for both authentication failure and authorization failure. Elsewhere in the spec authentication failures are modeled as 401, so clients will get inconsistent semantics. Consider splitting this into 401 (cannot be authenticated via HTTP Message Signatures) and 403 (authenticated but not authorized), or adjust the wording/code to be consistent across endpoints.
| [RFC3986] Berners-Lee, T., Fielding, R. and Masinter, L. | ||
| "[Uniform Resource Identifier (URI): Generic Syntax | ||
| ](https://datatracker.ietf.org/doc/html/rfc3986)", January 2005 | ||
|
|
There was a problem hiding this comment.
The RFC4918 reference Markdown link is split across lines (](\nhttps://...)), which breaks link rendering in many Markdown parsers. Keep the link destination on the same line as ](, or switch to a reference-style link to avoid line-wrapping issues.
| monotonically increasing sequence number for this message within the | ||
| (sender, receiver, message type) tuple. | ||
|
|
||
| A Receiving Server MUST NOT reject a message solely because it lacks | ||
| an `OCM-Journal-Id` header. When a Receiving Server observes an | ||
| `OCM-Journal-Id` header for the first time from a given Sending Server, |
There was a problem hiding this comment.
The Discovery endpoint section’s enumerated capabilities list does not currently include "journaling", but this new section introduces journaling as a capability used by servers. To avoid a spec inconsistency, the earlier capabilities list in the Discovery section should be updated to include journaling and describe what it signals.
This PR introduces the journaling concept as discussed in: #219
1359da1 to
ed7cba8
Compare
This PR introduces the journaling concept as discussed in:
#219