Difference between revisions of "Google Summer of Code 2022"

Jump to navigation Jump to search
m
Removing Mellium as a project since Google is deleting old workplace accounts and won't let us participate without signing up for a gmail or paying them to keep the old account active
m (Add another possible project)
m (Removing Mellium as a project since Google is deleting old workplace accounts and won't let us participate without signing up for a gmail or paying them to keep the old account active)
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 =
178

edits

Navigation menu