|
|
Line 147: |
Line 147: |
| * Send rich text messages using [https://xmpp.org/extensions/xep-0394.html Message Markup] and [https://xmpp.org/extensions/xep-0372.html References] as well as a fallback using [https://xmpp.org/extensions/xep-0393.html Message Styling] | | * Send rich text messages using [https://xmpp.org/extensions/xep-0394.html Message Markup] and [https://xmpp.org/extensions/xep-0372.html References] as well as a fallback using [https://xmpp.org/extensions/xep-0393.html Message Styling] |
| * Apply markup to messages in conversation history via Pango Attributes | | * Apply markup to messages in conversation history via Pango Attributes |
|
| |
| = Mellium =
| |
|
| |
| ''Website:'' https://mellium.im/<br/>
| |
| ''Source Code:'' https://mellium.im/code<br/>
| |
| ''Description:'' Mellium is a collection of Go modules related to XMPP.<br/>
| |
| ''Project Contact:'' [[User:SamWhited|Sam Whited]]<br/>
| |
| ''Relevant readings:'' [https://golang.org/doc/effective_go Effective Go], [https://mellium.im/docs/ Mellium docs], [https://pkg.go.dev/mellium.im/xmpp Mellium API docs]<br/>
| |
| ''Teaser Tasks:'' [https://github.com/mellium/xmpp/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 Good first issues]<br/>
| |
| ''Chat:'' [xmpp:users@mellium.chat?join users@mellium.chat]
| |
|
| |
| === Audio/Video Chat ===
| |
|
| |
| ''Size:'' Large<br/>
| |
| ''Brief explanation:'' Add support for Audio/Video Communication via Jingle.<br/>
| |
| ''Involved Technologies:'' Go, WebRTC, Jingle<br/>
| |
| ''Relevant readings:'' [https://xmpp.org/extensions/xep-0167.html XEP-0167], [https://xmpp.org/extensions/xep-0353.html XEP-0353]<br />
| |
| ''Deliverables / Expected Results:''<br/>
| |
| * A separate Go library for Jingle that is not XMPP specific (probably, we can discuss design later)
| |
| * Audio and video chat in mellium.im/xmpp that is compatible with [https://conversations.im Conversations]
| |
| * File transfer in in mellium.im/xmpp using Jingle sessions (also compatible with Conversations)
| |
| * A demo app to start a conversation (or support in [https://github.com/mellium/communique-tui Communiqué])
| |
|
| |
| === Group Chat ===
| |
|
| |
| ''Size:'' Large<br/>
| |
| ''Brief explanation:'' Add support for group chats using Mediated Information Exchange (MIX).<br/>
| |
| ''Involved Technologies:'' Go<br/>
| |
| ''Relevant readings:'' [https://xmpp.org/extensions/xep-0369.html XEP-0369: Mediated Information eXchange (MIX)]<br />
| |
| ''Deliverables / Expected Results:''<br/>
| |
| * A well tested library for joining and serving MIX channels and a set of integration tests that can be used to test against servers as they add support
| |
| * A simple component for hosting MIX channels
| |
|
| |
| === End-to-End Encryption ===
| |
|
| |
| ''Size:'' Large<br/>
| |
| ''Brief explanation:'' Add support for end-to-end (E2E) encryption using OMEMO, or MLS<br/>
| |
| ''Involved Technologies:'' Go, Go Subrepos, OMEMO or MLS<br/>
| |
| ''Relevant readings:'' [https://xmpp.org/extensions/xep-0384.html XEP-0384: OMEMO Encryption], [https://datatracker.ietf.org/doc/draft-ietf-mls-protocol/ The Messaging Layer Security (MLS) Protocol (draft-ietf-mls-protocol)]<br />
| |
| ''Deliverables / Expected Results:''<br/>
| |
| * If using MLS, an XEP describing behavior and how MLS should be integrated with XMPP
| |
| * A well-designed API and well-tested library for encrypting messages with OMEMO or MLS
| |
| * Changes to the Go standard library and sub-repositories to add any missing cryptographic primitives or expose operations that are currently internal only.
| |
|
| |
|
| |
| === Internationalize Communique ===
| |
|
| |
| ''Size:'' Small<br/>
| |
| ''Brief explanation:'' Add multi-language support to the [https://github.com/mellium/communique-tui Communiqué] client including the UI and sending/receiving messages<br/>
| |
| ''Involved Technologies:'' Go, [Go Text subrepos https://pkg.go.dev/golang.org/x/text]<br/>
| |
| ''Deliverables / Expected Results:''<br/>
| |
| * Translate the UI into at least one language (or one pigin or dummy language as an example if English is the users only spoken language)
| |
| * An XEP detailing best practices for multi-language communicatio
| |
| * Support for better displaying multi-language error messages, message bodies, etc.
| |
|
| |
|
| = Psi = | | = Psi = |