Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[fix] clarify pickup protocol live mode delivery and acknowledge messages #105

Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions site/content/protocols/messagepickup/3.0/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ The `message-received` message is sent by the `recipient` to confirm receipt of

The `live-delivery-change` message is used to set the state of `live_delivery`.

When _Live Mode_ is enabled, messages that arrive when an existing connection exists are delivered over the connection immediately, rather than being pushed to the queue. See _Live Mode_ below for more details.
When _Live Mode_ is enabled, messages that arrive when an existing connection exists are delivered over the connection immediately, via a `delivery` message, rather than being pushed to the queue. See _Live Mode_ below for more details.

## Security

Expand Down Expand Up @@ -128,7 +128,7 @@ Message Type URI: `https://didcomm.org/messagepickup/3.0/delivery-request`
```json
{
"id": "123456780",
"type": "ttps://didcomm.org/messagepickup/3.0/delivery-request",
"type": "https://didcomm.org/messagepickup/3.0/delivery-request",
"body": {
"limit": 10,
"recipient_did": "<did for messages>"
Expand Down Expand Up @@ -174,7 +174,7 @@ The ONLY valid type of attachment for this message is a DIDComm v2 Message in en
The `recipient_did` attribute is only included when responding to a `delivery-request` message that indicates a `recipient_did`.

### Messages Received
After receiving messages, the `recipient` sends an acknowledge message indiciating which messages are safe to clear from the queue.
After receiving messages, the `recipient` **MUST** send an acknowledge message indiciating which messages are safe to clear from the queue.

Message Type URI: `https://didcomm.org/messagepickup/3.0/messages-received`

Expand Down Expand Up @@ -204,6 +204,8 @@ Messages already in the queue are not affected by _Live Mode_; they must still b

_Live Mode_ **MUST** only be enabled when a persistent transport is used, such as WebSockets.

If _Live Mode_ is active, messages still **MUST** be delivered via a `delivery` message and the `recipient` **MUST** send an acknowledge message `messages-received`.

Recipients have three modes of possible operation for message delivery with various abilities and level of development complexity:

1. Never activate _Live Mode_. Poll for new messages with a `status_request` message, and retrieve them when available.
Expand Down
Loading