-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Owner: App/Chat Research
Feature: Chat SDK
FURPS:
-
F1. Accounts can be created in a permission-less way, to communicate on the network.
-
F2. Accounts can send messages to conversations with one other participant.
-
F3. All conversations benefit from forward secrecy and post-compromise security.
-
F4. Sender gets confirmation of message reception by recipient device.
-
F5. Developers can create their own payload types or use supplied basic types.
-
F6. Sdk contains a default message database for developers.
-
F7. Sdk contains a default secrets database for developers.
-
U1. Secure session setups are non-interactive, allowing messages to be sent without waiting for the recipient's device to come online.
-
U2. Conversations are initiated by sharing invite links out-of-band.
-
U3. Minimal example of the ChatSDK is no more than 25 lines of code.
-
R1. Participants in a conversation can eventually determine whether they missed messages.
-
P1. 10K active SDK users on a single shard add no more than an average of 10Mbps to the total bandwidth; based on clients generating 100 character chat messages, 4 times per minute.
-
S1. Messaging integrates RLN-like rate limit, limiting outbound messages per epoch.
-
S2. Payload definitions are versioned to support future protocol updates.
-
+4. Nimble package manager is used to build.
Checklist:
- Specs: link to specs and/or API definition
- Code: link to GitHub issues/PRs/Epic
- Dogfood: link to dogfooding session/artefact
- Docs: links to README.md or docs.waku.org (TBD)
- Marketing: comparison table with other chat protocols/apps