specs/docs/stable/6-payloads.md

342 lines
13 KiB
Markdown
Raw Normal View History

2020-03-30 05:25:32 +00:00
---
permalink: /spec/6
2020-03-30 05:42:34 +00:00
parent: Stable specs
2020-03-30 05:45:38 +00:00
title: 6/PAYLOADS
2020-03-30 05:25:32 +00:00
---
2020-03-31 04:20:46 +00:00
# 6/PAYLOADS
2019-04-22 04:22:25 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
> Version: 0.3
2019-08-29 10:42:43 +00:00
>
2020-03-24 08:05:35 +00:00
> Status: Stable
>
> Authors: Adam Babik <adam@status.im>, Andrea Maria Piana <andreap@status.im>, Oskar Thorén <oskar@status.im> (alphabetical order)
2019-08-29 10:42:43 +00:00
## Abstract
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
This specification describes how the payload of each message in Status looks
like. It is primarily centered around chat and chat-related use cases.
2019-08-29 11:05:55 +00:00
2020-05-25 12:18:39 +00:00
The payloads aims to be flexible enough to support messaging but also cases
2019-08-29 11:05:55 +00:00
described in the [Status Whitepaper](https://status.im/whitepaper.pdf) as well
as various clients created using different technologies.
2019-08-29 10:42:43 +00:00
## Table of Contents
2020-05-21 09:44:13 +00:00
- [Abstract](#abstract)
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [Payload wrapper](#payload-wrapper)
- [Encoding](#encoding)
- [Types of messages](#types-of-messages)
- [Message](#message)
- [Payload](#payload)
- [Payload](#payload-1)
- [Content types](#content-types)
- [Sticker content type](#sticker-content-type)
- [Message types](#message-types)
- [Clock vs Timestamp and message ordering](#clock-vs-timestamp-and-message-ordering)
- [Chats](#chats)
- [Contact Update](#contact-update)
- [Payload](#payload-2)
- [Contact update](#contact-update-1)
- [SyncInstallationContact](#syncinstallationcontact)
- [Payload](#payload-3)
- [SyncInstallationPublicChat](#syncinstallationpublicchat)
- [Payload](#payload-4)
- [PairInstallation](#pairinstallation)
- [Payload](#payload-5)
- [MembershipUpdateMessage and MembershipUpdateEvent](#membershipupdatemessage-and-membershipupdateevent)
- [Upgradability](#upgradability)
- [Security Considerations](#security-considerations)
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
- [Changelog](#changelog)
- [Version 0.3](#version-03)
2019-08-29 10:42:43 +00:00
## Introduction
2019-04-22 04:22:25 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
This document describes the payload format and some special considerations.
2019-08-29 11:06:19 +00:00
## Payload wrapper
2019-08-26 13:33:09 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
The node wraps all payloads in a [protobuf record](https://developers.google.com/protocol-buffers/)
2019-07-17 06:33:45 +00:00
record:
2019-08-27 09:34:42 +00:00
```protobuf
message StatusProtocolMessage {
2019-09-02 10:32:39 +00:00
bytes signature = 4001;
bytes payload = 4002;
2019-08-27 09:34:42 +00:00
}
2019-07-17 06:33:45 +00:00
```
2019-08-27 11:26:21 +00:00
`signature` is the bytes of the signed `SHA3-256` of the payload, signed with the key of the author of the message.
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
The node needs the signature to validate authorship of the message, so that the message can be relayed to third parties.
If a signature is not present, but an author is provided by a layer below, the message is not to be relayed to third parties, and it is considered plausibly deniable.
2019-08-29 10:42:43 +00:00
## Encoding
2019-04-22 04:22:25 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
The node encodes the payload using [Protobuf](https://developers.google.com/protocol-buffers)
2019-04-22 04:22:25 +00:00
2019-09-09 08:13:29 +00:00
## Types of messages
2019-04-22 04:22:25 +00:00
2019-09-09 08:13:29 +00:00
### Message
2019-07-17 06:33:45 +00:00
2020-01-20 10:09:43 +00:00
The type `ChatMessage` represents a chat message exchanged between clients.
2019-07-17 06:33:45 +00:00
2019-09-09 08:13:29 +00:00
#### Payload
2019-07-17 06:33:45 +00:00
2020-01-20 10:09:43 +00:00
The protobuf description is:
2019-07-17 06:33:45 +00:00
2020-01-20 10:09:43 +00:00
```protobuf
message ChatMessage {
// Lamport timestamp of the chat message
uint64 clock = 1;
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
// Unix timestamps in milliseconds, currently not used as we use Whisper/Waku as more reliable, but here
2020-03-25 17:38:53 +00:00
// so that we don't rely on it
2020-01-20 10:09:43 +00:00
uint64 timestamp = 2;
// Text of the message
string text = 3;
// Id of the message that we are replying to
string response_to = 4;
// Ens name of the sender
string ens_name = 5;
2020-03-25 17:38:53 +00:00
// Chat id, this field is symmetric for public-chats and private group chats,
// but asymmetric in case of one-to-ones, as the sender will use the chat-id
// of the received, while the receiver will use the chat-id of the sender.
// Probably should be the concatenation of sender-pk & receiver-pk in alphabetical order
2020-01-20 10:09:43 +00:00
string chat_id = 6;
// The type of message (public/one-to-one/private-group-chat)
MessageType message_type = 7;
// The type of the content of the message
ContentType content_type = 8;
oneof payload {
StickerMessage sticker = 9;
}
enum MessageType {
UNKNOWN_MESSAGE_TYPE = 0;
ONE_TO_ONE = 1;
PUBLIC_GROUP = 2;
PRIVATE_GROUP = 3;
// Only local
2020-03-25 17:38:53 +00:00
SYSTEM_MESSAGE_PRIVATE_GROUP = 4;}
2020-01-20 10:09:43 +00:00
enum ContentType {
UNKNOWN_CONTENT_TYPE = 0;
TEXT_PLAIN = 1;
STICKER = 2;
STATUS = 3;
EMOJI = 4;
TRANSACTION_COMMAND = 5;
2020-03-25 17:38:53 +00:00
// Only local
SYSTEM_MESSAGE_CONTENT_PRIVATE_GROUP = 6;
2020-01-20 10:09:43 +00:00
}
}
```
#### Payload
2019-08-27 12:22:50 +00:00
2019-09-09 08:13:29 +00:00
| Field | Name | Type | Description |
| ----- | ---- | ---- | ---- |
2020-01-20 10:09:43 +00:00
| 1 | clock | `uint64` | The clock of the chat|
| 2 | timestamp | `uint64` | The sender timestamp at message creation |
| 3 | text | `string` | The content of the message |
| 4 | response_to | `string` | The ID of the message replied to |
| 5 | ens_name | `string` | The ENS name of the user sending the message |
| 6 | chat_id | `string` | The local ID of the chat the message is sent to |
| 7 | message_type | `MessageType` | The type of message, different for one-to-one, public or group chats |
| 8 | content_type | `ContentType` | The type of the content of the message |
| 9 | payload | `Sticker|nil` | The payload of the message based on the content type |
2019-07-17 06:33:45 +00:00
2019-09-09 08:13:29 +00:00
#### Content types
2019-04-22 04:22:25 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
A node requires content types for a proper interpretation of incoming messages. Not each message is plain text but may carry different information.
2019-04-22 04:22:25 +00:00
The following content types MUST be supported:
2020-01-20 10:09:43 +00:00
* `TEXT_PLAIN` identifies a message which content is a plaintext.
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
There are other content types that MAY be implemented by the client:
2020-01-20 10:09:43 +00:00
* `STICKER`
* `STATUS`
* `EMOJI`
* `TRANSACTION_COMMAND`
##### Sticker content type
2019-08-29 11:13:42 +00:00
2020-01-20 10:09:43 +00:00
A `ChatMessage` with `STICKER` `Content/Type` MUST also specify the ID of the `Pack` and
the `Hash` of the pack, in the `Sticker` field of `ChatMessage`
2019-08-29 11:13:42 +00:00
2020-01-20 10:09:43 +00:00
```protobuf
message StickerMessage {
string hash = 1;
int32 pack = 2;
}
```
2019-04-22 04:22:25 +00:00
2019-09-09 08:13:29 +00:00
#### Message types
2019-04-22 04:22:25 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
A node requires message types to decide how to encrypt a particular message and what metadata needs to be attached when passing a message to the transport layer. For more on this, see [3/WHISPER-USAGE](3-whisper-usage.md) and [10/WAKU-USAGE](10-waku-usage.md).
2019-08-29 11:13:42 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
<!-- TODO: This reference is a bit odd, considering the layer payloads should interact with is Secure Transport, and not Whisper/Waku. This requires more detail -->
2019-08-29 11:13:42 +00:00
2019-04-22 04:22:25 +00:00
The following messages types MUST be supported:
2020-01-20 10:09:43 +00:00
* `ONE_TO_ONE` is a message to the public group
* `PUBLIC_GROUP` is a private message
* `PRIVATE_GROUP` is a message to the private group.
2019-04-22 04:22:25 +00:00
2019-09-09 08:13:29 +00:00
#### Clock vs Timestamp and message ordering
2019-04-22 04:22:25 +00:00
If a user sends a new message before the messages sent while the user was offline are received, the new
message is supposed to be displayed last in a chat. This is where the basic algorithm of Lamport timestamp would fall short
as it's only meant to order causally related events.
The status client therefore makes a "bid", speculating that it will beat the current chat-timestamp, s.t. the status client's
Lamport timestamp format is: `clock = `max({timestamp}, chat_clock + 1)`
This will satisfy the Lamport requirement, namely: a -> b then T(a) < T(b)
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
`timestamp` MUST be Unix time calculated, when the node creates the message, in milliseconds. This field SHOULD not be relied upon for message ordering.
2019-04-22 04:22:25 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
`clock` SHOULD be calculated using the algorithm of [Lamport timestamps](https://en.wikipedia.org/wiki/Lamport_timestamps). When there are messages available in a chat, the node calculates `clock`'s value based on the last received message in a particular chat: `max(timeNowInMs, last-message-clock-value + 1)`. If there are no messages, `clock` is initialized with `timestamp`'s value.
2020-01-20 10:09:43 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
Messages with a `clock` greater than `120` seconds over the Whisper/Waku timestamp SHOULD be discarded, in order to avoid malicious users to increase the `clock` of a chat arbitrarily.
2020-01-20 10:09:43 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
Messages with a `clock` less than `120` seconds under the Whisper/Waku timestamp might indicate an attempt to insert messages in the chat history which is not distinguishable from a `datasync` layer re-transit event. A client MAY mark this messages with a warning to the user, or discard them.
2019-04-22 04:22:25 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
The node uses `clock` value for the message ordering. The algorithm used, and the distributed nature of the system produces casual ordering, which might produce counter-intuitive results in some edge cases. For example, when a user joins a public chat and sends a message before receiving the exist messages, their message `clock` value might be lower and the message will end up in the past when the historical messages are fetched.
2019-04-22 04:22:25 +00:00
2019-09-09 08:13:29 +00:00
#### Chats
2019-09-02 05:47:54 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
Chat is a structure that helps organize messages. It's usually desired to display messages only from a single recipient, or a group of recipients at a time and chats help to achieve that.
2019-09-02 05:47:54 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
All incoming messages can be matched against a chat. The below table describes how to calculate a chat ID for each message type.
2019-09-02 05:47:54 +00:00
|Message Type|Chat ID Calculation|Direction|Comment|
|------------|-------------------|---------|-------|
2020-01-20 10:09:43 +00:00
|PUBLIC_GROUP|chat ID is equal to a public channel name; it should equal `chatId` from the message|Incoming/Outgoing||
|ONE_TO_ONE|let `P` be a public key of the recipient; `hex-encode(P)` is a chat ID; use it as `chatId` value in the message|Outgoing||
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
|user-message|let `P` be a public key of message's signature; `hex-encode(P)` is a chat ID; discard `chat-id` from message|Incoming|if there is no matched chat, it might be the first message from public key `P`; the node MAY discard the message or MAY create a new chat; Status official clients create a new chat|
|PRIVATE_GROUP|use `chatId` from the message|Incoming/Outgoing|find an existing chat by `chatId`; if none is found, the user is not a member of that chat or the user hasn't joined that chat, the message MUST be discarded |
2019-09-02 05:47:54 +00:00
2020-01-20 10:09:43 +00:00
### Contact Update
2019-09-02 05:47:54 +00:00
2020-01-20 10:09:43 +00:00
`ContactUpdate` is a message exchange to notify peers that either the
user has been added as a contact, or that information about the sending user have
changed.
2019-09-09 08:13:29 +00:00
2020-01-20 10:09:43 +00:00
```protobuf
message ContactUpdate {
uint64 clock = 1;
string ens_name = 2;
string profile_image = 3;
}
```
2019-09-09 08:13:29 +00:00
#### Payload
| Field | Name | Type | Description |
| ----- | ---- | ---- | ---- |
2020-01-20 10:09:43 +00:00
| 1 | clock | `uint64` | The clock of the chat with the user |
| 2 | ens_name | `string` | The ENS name if set |
| 3 | profile_image | `string` | The base64 encoded profile picture of the user |
2019-09-09 08:13:29 +00:00
#### Contact update
A client SHOULD send a `ContactUpdate` to all the contacts each time:
2020-01-20 10:09:43 +00:00
- The ens_name has changed
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
- A user edits the profile image
2019-09-09 08:13:29 +00:00
2019-09-10 07:06:57 +00:00
A client SHOULD also periodically send a `ContactUpdate` to all the contacts, the interval is up to the client, the Status official client sends these updates every 48 hours.
2019-09-09 08:13:29 +00:00
2020-01-20 10:09:43 +00:00
### SyncInstallationContact
2019-09-09 08:13:29 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
The node uses `SyncInstallationContact` messages to synchronize in a best-effort the contacts to other devices.
2019-09-09 08:13:29 +00:00
2020-01-20 10:09:43 +00:00
```protobuf
message SyncInstallationContact {
uint64 clock = 1;
string id = 2;
string profile_image = 3;
string ens_name = 4;
uint64 last_updated = 5;
repeated string system_tags = 6;
}
```
2019-09-09 08:13:29 +00:00
#### Payload
| Field | Name | Type | Description |
| ----- | ---- | ---- | ---- |
2020-01-20 10:09:43 +00:00
| 1 | clock | `uint64` | clock value of the chat |
| 2 | id | `string` | id of the contact synced |
| 3 | profile_image | `string` | `base64` encoded profile picture of the user |
| 4 | ens_name | `string` | ENS name of the contact |
| 5 | `array[string]` | Array of `system_tags` for the user, this can currently be: `":contact/added", ":contact/blocked", ":contact/request-received"`|
2019-09-09 08:13:29 +00:00
2020-01-20 10:09:43 +00:00
### SyncInstallationPublicChat
2019-09-09 08:13:29 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
The node uses `SyncInstallationPublicChat` message to synchronize in a best-effort the public chats to other devices.
2020-01-20 10:09:43 +00:00
```protobuf
message SyncInstallationPublicChat {
uint64 clock = 1;
string id = 2;
}
```
2019-09-09 08:13:29 +00:00
#### Payload
| Field | Name | Type | Description |
| ----- | ---- | ---- | ---- |
2020-01-20 10:09:43 +00:00
| 1 | clock | `uint64` | clock value of the chat |
| 2 | id | `string` | id of the chat synced |
2019-09-09 08:13:29 +00:00
2020-01-20 10:09:43 +00:00
### PairInstallation
2019-09-09 08:13:29 +00:00
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
The node uses `PairInstallation` messages to propagate information about a device to its paired devices.
2020-01-20 10:09:43 +00:00
```protobuf
message PairInstallation {
uint64 clock = 1;
string installation_id = 2;
string device_type = 3;
string name = 4;
}
```
2019-09-09 08:13:29 +00:00
#### Payload
| Field | Name | Type | Description |
| ----- | ---- | ---- | ---- |
2020-01-20 10:09:43 +00:00
| 1 | clock | `uint64` | clock value of the chat |
| 2| installation_id | `string` | A randomly generated id that identifies this device |
| 3 | device_type | `string` | The OS of the device `ios`,`android` or `desktop` |
| 4 | name | `string` | The self-assigned name of the device |
### MembershipUpdateMessage and MembershipUpdateEvent
`MembershipUpdateEvent` is a message used to propagate information about group membership changes in a group chat.
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
The details are in the [Group chats specs](./../draft/7-group-chat.md).
2019-09-09 08:13:29 +00:00
2019-08-29 10:42:43 +00:00
## Upgradability
2019-04-22 04:22:25 +00:00
2019-09-09 08:13:29 +00:00
There are two ways to upgrade the protocol without breaking compatibility:
Remove personal pronouns (#132) Resolves #115 * Rewrote 'you' and 'your' personal pronouns Additionally I've made related sentences more concise. NOTE I've ignored usages of you and your in comments and in links and section titles * Rewrote 'we' personal pronouns Again not changing usages in comments * Removed 'passive' and/or ambiguous language * Added README information about language mode * Added prepend to word list * Update README.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/draft/3-whisper-usage.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Added missing 'a's * Moved style related README info into STYLE-GUIDELINE.md * Added reference to Google Technical Writing * Tweaks to maintain consistency of changes across related specs * Addressed spelling and added link to the Discord server * Update docs/draft/12-sticker-pack.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/draft/13-3rd-party.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Update docs/stable/11-waku-mailserver.md Co-authored-by: Kim De Mey <kim.demey@gmail.com> * Addressed feedback Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-06-03 22:02:45 +00:00
- A node always supports accretion
- A node does not support deletion of existing fields or messages, which might break compatibility
2019-08-29 10:42:43 +00:00
## Security Considerations
2020-03-24 08:05:35 +00:00
-
2019-08-29 11:06:19 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
## Changelog
### Version 0.3
Released [May 22, 2020](https://github.com/status-im/specs/commit/664dd1c9df6ad409e4c007fefc8c8945b8d324e8)
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
- Added language to include Waku in all relevant places