blog.bouah.net/content/posts/sprint-lyon.md

133 lines
6 KiB
Markdown
Raw Normal View History

---
title: "New Sprint, new goodies"
date: 2019-07-17T12:45:49+02:00
aliases:
- "/2019/07/sprint-lyon"
tags: [XMPP, Sprint]
---
*Une traduction française est disponible [sur le blog de
JabberFR][FR_Translation].*
On this weekend of [Bastille day][Bastille_Day] some of us gathered and worked
around some interesting new features in XMPP implementations.
[Wisolv][Wisolv] -- tailor-made software development company -- generously
sponsored the venue and provided us with their office in Villeurbanne (next to
Lyon).
I think most of us are 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!
<figure>
<img src="../sprint-lyon-fireworks.jpg" style="max-width: 800px;" />
<figcaption>Bastille day fireworks by <a href="https://twitter.com/olek_impek">olek_impek</a>.</figcaption>
</figure>
[FR_Translation]: https://news.jabberfr.org/2019/07/nouveau-sprint-nouveau-goodies/
[Bastille_Day]: https://en.wikipedia.org/wiki/Bastille_Day
[Wisolv]: https://wisolv.com
### DOAP - Description Of A Project
[Lists][list1] [of][list2] [XMPP][list3] [software][list4] are not machine
readable and the information contained within them varies in quality. 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 bunch of XSLT
stylesheets][Clients_Table] to render such tables, 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]), and all
client authors present at the sprint wrote a DOAP file for their client.
[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_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][XEP_0367] specification. [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 sent to [the inbox][XEP-Reactions] this weekend!
Edhelas [reworked][Movim_Reactions_Commit] the Movim implementation using this
new specification, mathieui worked on an implementation in [Poezio][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.xml
[Dino]: https://dino.im
[XEP-Reactions]: https://xmpp.org/extensions/inbox/reactions.html
[Movim_Reactions_commit]: https://github.com/movim/movim/commit/24e4d5d18b36940f853a2fc18f316cb3c83f12a4
[Poezio]: https://poez.io
[Slix_Reactions]: https://lab.louiz.org/poezio/slixmpp/commit/b50bfb2f34a3ace3a70b1647f54ad6a0e761acf7
[Dino_Reactions]: https://github.com/dino/dino/tree/fiaxh/reactions
### Occupant-id
[Occupant-id][XEP-Occupant-id] is a protoXEP that was also submitted by larma
this weekend.
It mandates that [MUC][XEP_0045] components provide a stable and unique id
that is attributed per room per user (bare real JID). This is especially
useful 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
[XEP_0045]: https://xmpp.org/extensions/xep-0045.xml
[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.xml
[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 this weekend.
Next month 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 information about future events!
[FrosCon]: https://froscon.de/en/
[Camp]: https://wiki.xmpp.org/web/Camp2019
[Events]: https://xmpp.org/community/events.html