blog.bouah.net/content/posts/sprint-lyon.md
Maxime “pep” Buquet ed836931ba
New Post: Lyon Sprint
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-07-19 11:35:02 +02:00

122 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "New Sprint, new goodies"
date: 2019-07-17T12:45:49+02:00
draft: true
---
On the weekend of [Bastille day][Bastille_Day] some of us gathered and worked around some
interesting new features in XMPP implementations. [Wisolv][Wisolv] generously
sponsored the venue and provided us with their office in Villeurbanne (next to
Lyon).
I think most of us are quite happy with this sprint, we managed to get quite
some work done. On the agenda were DOAP, Message Reactions, Occupant-id,
various fixes and discussions, also including work on a Jabber client for Haiku!
[Bastille_Day]: https://en.wikipedia.org/wiki/Bastille_Day
[Wisolv]: https://wisolv.com
### DOAP - Description Of A Project
[There][list1] [are][list2] [many][list3] [different][list4] [lists][list5]
[of][list6] [XMPP software][list7], each listing the favourite features of the
author, being displayed in various ways, having specific highlights, being more
or less up to date and maintained, and generally not really usable by a
machine. The [DOAP project][DOAP_GH] provides a way for each project to host a
[semantic][Semantic_web] description of itself, which can then be used by
anyone to display information about XMPP software.
A few years ago, Link Mauve [submitted a proposal][DOAP_thread] to extend DOAP
with information most of these lists want to expose, but it didnt get much
interest… until this sprint! PulkoMandy wrote a [table for
clients][Clients_table], edhelas wrote a [DOAP file for Movim][DOAP_Movim]
(which can be seen rendered using the former [here][DOAP_Rendered]), and Link
Mauve wrote [a schema][DOAP_Schema] and [a JavaScript integration][DOAP_JS]
into the XEP pages (an example can be seen here for [Bookmarks][DOAP_Example]).
[list1]: https://xmpp.org/software/clients.html
[list2]: https://jabber.at/clients/
[list3]: https://en.wikipedia.org/wiki/Comparison_of_XMPP_clients
[list4]: https://fr.wikipedia.org/wiki/Clients_XMPP#Actifs
[list5]: https://nl.movim.eu/?about#caps_widget_tab
[list6]: https://wiki.jabberfr.org/Clients
[list7]: https://code.zash.se/xmpp-features/
[DOAP_GH]: https://github.com/ewilderj/doap/wiki
[Semantic_web]: https://en.wikipedia.org/wiki/Semantic_Web
[DOAP_thread]: https://mail.jabber.org/pipermail/standards/2017-August/033123.html
[Clients_table]: https://github.com/pulkomandy/xmpp-doap
[DOAP_Movim]: https://github.com/movim/movim/blob/master/doap.xml
[DOAP_Rendered]: https://pulkomandy.github.io/xmpp-doap/samples/movim.xml
[DOAP_Schema]: https://github.com/pulkomandy/xmpp-doap/blob/master/xmpp-doap.rdf
[DOAP_JS]: https://github.com/pulkomandy/xmpp-doap/blob/master/xmpp.org/doap.js
[DOAP_Example]: https://linkmauve.fr/extensions/xep-0048.xml
### Reactions
Some time ago, [Movim][Movim] [implemented reactions][Movim_Reactions] using the [Message
Attaching specification][XEP_0367]. [Dino][Dino] developers felt that the situation could
be improved, especially some issues with non-supporting clients, and started
working on a new specification a few weeks ago. The protoXEP has been submitted
[to the inbox][XEP-Reactions] this weekend!
Edhelas [reworked the Movim implementation][Movim_Reactions_Commit] using this new specification,
mathieui worked on an implementation in poezio (not yet merged, but [the
Slixmpp bits are][Slix_Reactions]), and fiaxh and larma started an [implementation in
dino][Dino_Reactions].
[Movim]: https://movim.eu
[Movim_Reactions]: https://nl.movim.eu/?node/pubsub.movim.eu/Movim/movim-is-the-first-xmpp-client-that-supports-message-reactions-Id7F5J
[XEP_0367]: https://xmpp.org/extensions/xep-0367.html
[Dino]: https://dino.im
[XEP-Reactions]: https://xmpp.org/extensions/inbox/reactions.html
[Movim_Reactions_commit]: https://github.com/movim/movim/commit/24e4d5d18b36940f853a2fc18f316cb3c83f12a4
[Slix_Reactions]: https://lab.louiz.org/poezio/slixmpp/commit/b50bfb2f34a3ace3a70b1647f54ad6a0e761acf7
[Dino_Reactions]: https://github.com/dino/dino/tree/fiaxh/reactions
### Occupant-id
[Occupand-id][XEP-Occupant-id] is a protoXEP that was also submitted by larma
this weekend.
It mandates that MUC components provide a stable and unique id that is
attributed per room per user (real JID). This can be used in semi-anonymous
rooms, where it is usually not possible to ensure messages are coming from the
same participant between rejoins.
Some clients are talking about requiring occupant-id for features like Last
Message Correction, or Reactions, in semi-anonymous rooms.
A [prosody module][Prosody-occupant-id] is now available and is usable with the
current release (0.11) or trunk.
[XEP-Occupant-id]: https://xmpp.org/extensions/inbox/occupant-id.html
[Prosody-occupant-id]: https://modules.prosody.im/mod_muc_occupant_id.html
### And more
PulkoMandy started porting [Jabber4Haiku][Jabber4Haiku] -- now renamed Renga
-- to gloox. Fiaxh worked on [stable and unique IDs][XEP_0359] in dino.
Slixmpp finally [uses non-predictable ids][Slix_predictable_ids]. Mathieui
and I worked around issues with asynchronous APIs in Poezio and Slixmpp.
xmpp-parsers got a new [release][xmpp-parsers-0.14], fixing
[documentation][xmpp-parsers-docs] on the way!
[Jabber4Haiku]: https://github.com/HaikuArchives/Jabber4Haiku
[XEP_0359]: https://xmpp.org/extensions/xep-0359.html
[Slix_predictable_ids]: https://lab.louiz.org/poezio/slixmpp/commit/b29bb30eb7bb46ce2b945efed55a265324e05383
[xmpp-parsers-0.14]: https://gitlab.com/xmpp-rs/xmpp-parsers/blob/fb71acd8d13db734d8a742e0b8b9604b171333c9/ChangeLog
[xmpp-parsers-docs]: https://docs.rs/xmpp-parsers
### What's next
I'd like to thank [Wisolv][Wisolv] again for hosting us.
In August, members of the community will be present at [FrosCon][FrosCon] at
the XMPP booth, and at [CCCamp2019][Camp]. See our [events page][Events] for
more events!
[FrosCon]: https://froscon.de/en/
[Camp]: https://wiki.xmpp.org/web/Camp2019
[Events]: https://xmpp.org/community/events.html