poezio-0.14 draft
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
This commit is contained in:
parent
4511504ba2
commit
cd5b0a8169
1 changed files with 116 additions and 0 deletions
116
content/posts/poezio-0.14.en.md
Normal file
116
content/posts/poezio-0.14.en.md
Normal file
|
@ -0,0 +1,116 @@
|
||||||
|
---
|
||||||
|
title: "Updates from the Poezio ecosystem"
|
||||||
|
date: 2022-04-02T12:00:00+09:00
|
||||||
|
translationKey: 'poezio-0.14'
|
||||||
|
tags: [XMPP, Poezio, Slixmpp, OMEMO]
|
||||||
|
draft: true
|
||||||
|
---
|
||||||
|
|
||||||
|
Releases have happened recently that revolve around [Poezio][poezio], a TUI
|
||||||
|
(Terminal UI) client for XMPP, including Poezio itself ([0.14][poezio014]),
|
||||||
|
its backend XMPP library [Slixmpp][slix], and also the
|
||||||
|
[poezio][poezio-omemo] and [slixmpp][slix-omemo] plugins for OMEMO.
|
||||||
|
|
||||||
|
# Many bug fixes and improvements
|
||||||
|
|
||||||
|
[Mathieui][mathieui] has already made a proper [release note for
|
||||||
|
Slixmpp][slix180] for it and I invite you to read it! It includes many
|
||||||
|
bugfixes of course, and internal changes around async handling, that may
|
||||||
|
reflect on some of the APIs you are using.
|
||||||
|
|
||||||
|
Poezio has also seen many improvements.
|
||||||
|
|
||||||
|
Internally, for one, our default branch has also been moved to "main", many
|
||||||
|
type hints have been added, implicit casts (safeJID) have been removed, lots
|
||||||
|
of event handlers and calls are now async, APIs from Slixmpp are being used
|
||||||
|
instead of redoing our own, many refactoring, various performance
|
||||||
|
improvements.
|
||||||
|
|
||||||
|
A big license change has happened, and poezio is now licensed under GPLv3+!
|
||||||
|
While I am not exactly in favour of intellectual property[^0], this is a
|
||||||
|
straightforward lever we have against capitalism[^1]. Poezio being a prime
|
||||||
|
resource for Slixmpp examples, GPL code should reasonably ensure that the 4
|
||||||
|
freedoms reach the end-users. In practice, this will in term allow for
|
||||||
|
poezio-omemo to be merged into Poezio. I am now personally hoping for Slixmpp
|
||||||
|
to change its license as well.
|
||||||
|
|
||||||
|
[^0]: TODO: write about this. A TL;DR would certainly be "abolish intellectual
|
||||||
|
property, and private property in general".
|
||||||
|
[^1]: When they don't decide to ignore it and give us the finger.
|
||||||
|
|
||||||
|
And others more visible to users! To name a few, quality of life improvements
|
||||||
|
such as `xmpp:...?join` URIs handling in `/join`, impromptu rooms creation is
|
||||||
|
now more reliable and creates rooms with shorter names. Read more [in the
|
||||||
|
changelog][poezio-changelog].
|
||||||
|
|
||||||
|
Plugins have also seen changes. A new `untrackme` plugin now replaces the
|
||||||
|
deprecated `remove_get_trackers`. [Link Mauve][linkmauve] has also developped
|
||||||
|
a sticker plugin, similar in essence to what [Movim][movim] has been doing for
|
||||||
|
ages. And again many fixes.
|
||||||
|
|
||||||
|
Many of these fixes have been realized by [mathieui][mathieui], who is by far
|
||||||
|
the biggest committer on the release, and in general probably the person with
|
||||||
|
the best understanding of the project. Thanks also to louiz for providing the
|
||||||
|
infrastructure all this time, and to eijebong, Ge0rG, Kaghav Gururajan,
|
||||||
|
kaliko, Thomas Hrnciar and southerntofu for the many patches.
|
||||||
|
|
||||||
|
# Encryption
|
||||||
|
|
||||||
|
The Poezio `E2EEPlugin` API has been improved to accomodate changes in
|
||||||
|
poezio-omemo, slixmpp-omemo and changes of the OMEMO backend library. Two
|
||||||
|
plugins which are also seeing changes!
|
||||||
|
|
||||||
|
Heartbeats are now supported. Heartbeats are meta-messages which transfer only
|
||||||
|
cryptographic key material (nothing else) and are used to strengthen OMEMO's
|
||||||
|
forward secrecy. This is particularly relevant on clients like Poezio that can
|
||||||
|
stay running in the back for some time, receiving messages without replying.
|
||||||
|
|
||||||
|
Some other changes include colored fingerprints using the [Consistent Color
|
||||||
|
Generation][XEP-0392] document -- such as specified in the current (0.8)
|
||||||
|
[OMEMO][XEP-0384] spec, and sending encrypted media (aesgcm URIs).
|
||||||
|
|
||||||
|
What hasn't changed is that this plugin lacks a UI and trust management.
|
||||||
|
Hopefully this should come next, with a little motivation to do UI work.
|
||||||
|
|
||||||
|
# What comes next
|
||||||
|
|
||||||
|
All in all, there aren't (m)any revolutionary changes, but with these releases
|
||||||
|
come many fixes for paper cuts that hopefully make users happier.
|
||||||
|
|
||||||
|
This makes me think that even though Poezio is far from being perfect, there
|
||||||
|
doesn't seem to be many important things missing. There are however changes
|
||||||
|
that would require a lot of refactoring, such as a multi-account feature.
|
||||||
|
|
||||||
|
We have decided to start migrating Poezio to Rust, in part to be able to
|
||||||
|
refactor the project more easily, but also because it's a language we've come
|
||||||
|
to appreciate over the years over multiple projects, but more specifically
|
||||||
|
with [xmpp-rs][xmpp-rs].
|
||||||
|
|
||||||
|
All of this will happen right after the release, and we invite interested
|
||||||
|
people to join the effort!
|
||||||
|
|
||||||
|
[poezio]: https://lab.louiz.org/poezio/poezio
|
||||||
|
[slix]: https://lab.louiz.org/poezio/slixmpp
|
||||||
|
[poezio-omemo]: https://lab.louiz.org/poezio/poezio-omemo
|
||||||
|
[slix-omemo]: https://lab.louiz.org/poezio/slixmpp-omemo
|
||||||
|
[movim]: https://movim.eu
|
||||||
|
|
||||||
|
[mathieui]: https://mathieui.net
|
||||||
|
[linkmauve]: https://linkmauve.fr
|
||||||
|
|
||||||
|
[poezio014]: https://lab.louiz.org/poezio/poezio/-/tags/v0.14
|
||||||
|
[poezio-changelog]: https://lab.louiz.org/poezio/poezio/-/raw/v0.14/CHANGELOG
|
||||||
|
[slix180]: https://lab.louiz.org/poezio/slixmpp/-/tags/slix-1.8.0
|
||||||
|
[slix181]: https://lab.louiz.org/poezio/slixmpp/-/tags/slix-1.8.1
|
||||||
|
[slix182]: https://lab.louiz.org/poezio/slixmpp/-/tags/slix-1.8.2
|
||||||
|
[poezio-omemo050]: https://lab.louiz.org/poezio/poezio-omemo/-/tags/v0.5.0
|
||||||
|
[poezio-omemo051]: https://lab.louiz.org/poezio/poezio-omemo/-/tags/v0.5.1
|
||||||
|
[poezio-omemo060]: https://lab.louiz.org/poezio/poezio-omemo/-/tags/v0.6.0
|
||||||
|
[slix-omemo060]: https://lab.louiz.org/poezio/slixmpp-omemo/-/tags/v0.6.0
|
||||||
|
[slix-omemo061]: https://lab.louiz.org/poezio/slixmpp-omemo/-/tags/v0.6.1
|
||||||
|
[slix-omemo070]: https://lab.louiz.org/poezio/slixmpp-omemo/-/tags/v0.7.0
|
||||||
|
|
||||||
|
[XEP-0384]: https://xmpp.org/extensions/xep-0384.html
|
||||||
|
[XEP-0392]: https://xmpp.org/extensions/xep-0392.html
|
||||||
|
|
||||||
|
[xmpp-rs]: https://xmpp.rs
|
Loading…
Reference in a new issue