mirror of
https://github.com/logos-messaging/pm.git
synced 2026-01-02 14:13:09 +00:00
2.7 KiB
2.7 KiB
Waku's Requirements on Codex
Publish Large Messages - Uploader is online
To be used for messages archival in Chat SDK, Qaku, opchan, etc.
Functionality
- Ability to transfer a message of 1MB or more between two or more nodes.
- Message's CID is less than 100kB.
Usability
- Developer can implement upload feature with 10 lines of code or less.
- No configuration is necessary.
Reliability
- Download operation can be resumed.
- Upload operation can be resumed.
- Uploader can be expected to be online when user are downloading.
Performance
None
Supportability
- Library for Browser applications.
- Library for Nim desktop applications.
- Library for Nim mobile applications.
+ (Privacy, Anonymity, Censorship-Resistance, Deployments)
- The unavailability of a static host (IP, DNS) does not prevent a user to upload or download (censorship-resistance).
- TODO (privacy)
Publish Large Messages - Uploader is offline
To be used for
- large messages transfers (such as images, videos, audio) in Chat SDK, Opchan, etc.
- Enhancement of message archival (uploader does not need to be online for messages to be retrieved).
Builds on Publish Large Messages - Uploader is online
Functionality
- Message is cached to enable retrieval without sender being online (once uploaded).
- Best effort in terms of message retention; expectations on restrictions are documented.
Usability
- Receiver can download the large message, even if sender is offline, as long as they get the CID out-of-band.
Reliability
- Uploader may be offline when receiver is retrieving the large message.
Performance
None
Supportability
- Library for Browser applications.
- Library for Nim applications.
+ (Privacy, Anonymity, Censorship-Resistance, Deployments)**
TODO (privacy)
Publish Large Messages - Retention is guaranteed
In this scenario, the uploader wants to ensure the data is persisted and is willing to pay for it. This may be a Qaku Q&A admin, a opchan cell owner or Status Communities owner.
Builds on previous requirements.
Functionality
- Uploader may pay for large message storage to have guaranteed retention.
Usability
- Receiver can download the large message, even if sender is offline, as long as they get the CID out-of-band.
- Receiver does not need to pay to retrieve the large message.
Reliability
- Uploader may be offline when receiver is retrieving the large message.
- Uploader is guaranteed a period of retention for a given price.
Performance
See previous requirements.
Supportability
See previous requirements.
+ (Privacy, Anonymity, Censorship-Resistance, Deployments)**
See previous requirements.