diff --git a/FURPS/application/chat_sdk.md b/FURPS/application/chat_sdk.md index 3342317..8258f87 100644 --- a/FURPS/application/chat_sdk.md +++ b/FURPS/application/chat_sdk.md @@ -2,7 +2,7 @@ ## Functionality -1. Accounts can be created in a permissionless way, to communicate on the network. +1. Accounts can be created in a permission-less way, to communicate on the network. 2. Accounts can send messages to conversations with one other participant. 3. All conversations benefit from forward secrecy and post-compromise security. 4. Sender gets confirmation of message reception by recipient device. @@ -28,11 +28,12 @@ 1. Messaging integrates RLN-like rate limit, limiting outbound messages per epoch. 2. Payload definitions are versioned to support future protocol updates. -3. library can be used in Go applications -4. library can be used in Rust applications +3. library can be used in Go applications; available on pkg.go.dev. +4. library can be used in Rust applications; import via git path. -## +Privacy +## + (Privacy, Anonymity, Deployments) 1. Non-participants in the conversation cannot correlate individual messages to a sender. 2. Non-participants in the conversation cannot correlate conversation to participants. -3. Network observers cannot aggregate account holder activity. \ No newline at end of file +3. Network observers cannot aggregate account holder activity. +4. Nimble package manager is used to build. \ No newline at end of file diff --git a/FURPS/application/group_chat.md b/FURPS/application/group_chat.md index 7ff5225..fcab58d 100644 --- a/FURPS/application/group_chat.md +++ b/FURPS/application/group_chat.md @@ -21,10 +21,10 @@ ## Supportability -1. Developers can create group conversations from Go Applications -2. Developers can create group conversations from Rust Applications +1. Developers can create group conversations from Go Applications; available on pkg.go.dev. +2. Developers can create group conversations from Rust Applications; available on crates.io. -## +Privacy +## + (Privacy, Anonymity, Deployments) 1. Non-participants cannot correlate a group conversation to any of its participants. 2. No identifying information is visible when registering an installation. \ No newline at end of file diff --git a/FURPS/application/rate_limit_manager.md b/FURPS/application/rate_limit_manager.md index ff8c61a..2e96010 100644 --- a/FURPS/application/rate_limit_manager.md +++ b/FURPS/application/rate_limit_manager.md @@ -28,8 +28,8 @@ ## Supportability -1. ... +1. Nim library. ## + (Privacy, Anonymity, Deployments) -1. ... \ No newline at end of file +1. Nimble package manager is used to build. \ No newline at end of file diff --git a/FURPS/application/segmentation.md b/FURPS/application/segmentation.md index cb6ff20..c6ac752 100644 --- a/FURPS/application/segmentation.md +++ b/FURPS/application/segmentation.md @@ -23,9 +23,10 @@ ## Supportability -1. Nim +1. Nim library. ## + (Privacy, Anonymity, Deployments) 1. Segmentation metadata should not reveal information about the original message content -2. Relevant for all Waku nodes +2. Relevant for all Waku nodes. +3. Nimble package manager is used to build. diff --git a/FURPS/core/waku_api.md b/FURPS/core/waku_api.md index 582ddd5..26a1a7e 100644 --- a/FURPS/core/waku_api.md +++ b/FURPS/core/waku_api.md @@ -27,9 +27,9 @@ ## Supportability -1. Nim library -2. Golang library -3. Browser +1. Nim library; import via git path. +2. Golang library; available on pkg.go.dev. +3. Browser; distribution via npmjs.com. ## + (Privacy, Anonymity, Deployments) diff --git a/draft-roadmap/README.md b/draft-roadmap/README.md index 7264612..a803eca 100644 --- a/draft-roadmap/README.md +++ b/draft-roadmap/README.md @@ -87,11 +87,12 @@ In order of priority. | 7 | [Improve DevEx: API, TWN, Metrics, Docs](improve_devex_api_twn_metrics_docs.md) | TBD | TBD | TBD | TBD | TBD | | 8 | [Introduce mixnet for message sending](introduce_mixnet_for_message_sending.md) | 30 Sep | 1*3m | | | | | 9 | [Formalize Logos Web Apps](formalize_logos_web_apps.md) | 19 Dec | | | | 1.5*6m | -| 10 | [Introduce Chat SDK by enabling basic one-to-one chats]() TODO | TBD | | | | TBD | +| 10 | [Create Chat SDK MVP](create_chat_sdk_mvp.md) | TBD | | | | TBD | | 11 | [Integrate RLN with Waku API](integrate_rln_with_waku_api.md) | TBD | TBD | 1*2m | TBD | | | 12 | [Streamline DevEx: Mobile, Rust and Web dev](streamline_dev_ex_local_dev_rust.md) | TBD | TBD? | TBD | TBD | | -| 13 | Incentivisation follow-up | TBD | TBD | | | | -| 14 | [Nim Usage Improvements](nim_usage_improvements.md) | TBD | | | TBD | | +| 13 | [Extend Chat SDK with Group Conversations](extend_chat_sdk_with_group_conversations.md) | TBD | | | | TBD | +| 14 | Incentivisation follow-up | TBD | TBD | | | | +| 15 | [Nim Usage Improvements](nim_usage_improvements.md) | TBD | | | TBD | | Pushed to 2026 - WebTransport: depending on nim-libp2p (delivery Q4) diff --git a/draft-roadmap/create_chat_sdk.md b/draft-roadmap/create_chat_sdk_mvp.md similarity index 94% rename from draft-roadmap/create_chat_sdk.md rename to draft-roadmap/create_chat_sdk_mvp.md index c442c20..b6578c6 100644 --- a/draft-roadmap/create_chat_sdk.md +++ b/draft-roadmap/create_chat_sdk_mvp.md @@ -1,4 +1,4 @@ -# Create MVP ChatSDK +# Create Chat SDK MVP **Estimated date of completion**: 19 Aug 2025 @@ -47,7 +47,7 @@ This milestone is complete when a development preview of the Chat SDK is publish **Feature**: [Chat SDK](/FURPS/application/chat_sdk.md) **FURPS**: -- F1. Accounts can be created in a permissionless way, to communicate on the network. +- 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. @@ -66,6 +66,8 @@ This milestone is complete when a development preview of the Chat SDK is publish - 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 @@ -85,8 +87,9 @@ This milestone is complete when a development preview of the Chat SDK is publish For library ChatSDK: - U3. Minimal example of the ChatSDK is no more than 25 lines of code. -- S3. library can be used in Go applications. -- S4. library can be used in Rust applications + +- S3. library can be used in Go applications; available on pkg.go.dev. +- S4. library can be used in Rust applications; import via git path. **Checklist**: - [ ] Specs: link to specs and/or API definition @@ -114,10 +117,11 @@ For library ChatSDK: - P1. The payload overhead does not exceed 12.5% overall, and 100 bytes per segment. -- S1. Nim +- S1. Nim library. - +1. Segmentation metadata should not reveal information about the original message content - +2. Relevant for all Waku nodes +- +3. Nimble package manager is used to build. **Checklist**: - [ ] Specs: link to specs @@ -148,6 +152,8 @@ For library ChatSDK: - R2. Queued messages are persisted across restart. - R3. Quota status is persisted across restart. +- S1. Nim library. +- +1. Nimble package manager is used to build. **Checklist**: - [ ] Specs: link to specs diff --git a/draft-roadmap/extend_chat_sdk_with_group_chat.md b/draft-roadmap/extend_chat_sdk_with_group_conversations.md similarity index 94% rename from draft-roadmap/extend_chat_sdk_with_group_chat.md rename to draft-roadmap/extend_chat_sdk_with_group_conversations.md index 9785ab6..a73f308 100644 --- a/draft-roadmap/extend_chat_sdk_with_group_chat.md +++ b/draft-roadmap/extend_chat_sdk_with_group_conversations.md @@ -1,4 +1,4 @@ -# Extend ChatSDK with Group Chat +# Extend Chat SDK with Group Conversations **Estimated date of completion**: 18 Nov 2025 @@ -13,7 +13,7 @@ The features to said group chat will be limited, and extended with further miles **Risks**: -- (Schedule)(Medium) - Task Dependency: This task is dependent on [ChatSDK - Developer Preview](/draft-roadmap/create_chat_sdk.md). +- (Schedule)(Medium) - Task Dependency: This task is dependent on [ChatSDK - Developer Preview](create_chat_sdk_mvp.md). Delays there will translate into delays to this milestone. - (Technical)(Medium) - Lack of Libraries: There currently does not exist the required libraries in Nim to build group chat. This will involve evaluating the potential of calling an existing library via FFI or implementing it from @@ -64,8 +64,8 @@ The features to said group chat will be limited, and extended with further miles **FURPS**: -- S1. Developers can create group conversations from Go Applications -- S2. Developers can create group conversations from Rust Applications +- S1. Developers can create group conversations from Go Applications; available on pkg.go.dev. +- S2. Developers can create group conversations from Rust Applications; available on crates.io. **Checklist**: - [ ] Specs: link to specs and/or API definition diff --git a/draft-roadmap/improve_devex_api_twn_metrics_docs.md b/draft-roadmap/improve_devex_api_twn_metrics_docs.md index 604f50c..23d4071 100644 --- a/draft-roadmap/improve_devex_api_twn_metrics_docs.md +++ b/draft-roadmap/improve_devex_api_twn_metrics_docs.md @@ -138,7 +138,7 @@ Spec delivery not included. - R1. Sends a message using peer-to-peer reliability (service node redundancy, optional store confirmation) - R2. Receives messages using peer-to-peer reliability (service node redundancy, periodic store query, periodic filter ping) -For S3. Browser +For S3. Browser; distribution via npmjs.com. **Checklist**: - [ ] Specs: link to specs and/or API definition @@ -166,8 +166,8 @@ For S3. Browser - R2. Receives messages using peer-to-peer reliability (service node redundancy, periodic store query, periodic filter ping) For: -- S1. Nim library; used by chat SDK -- S2. Golang library; used by status-go +- S1. Nim library; import via git path. +- S2. Golang library; available on pkg.go.dev. **Checklist**: - [ ] Specs: link to specs and/or API definition