--- title: "New Sprint, new goodies" date: 2019-07-17 12:45:49 +0200 +0200 permalink: https://bouah.net/2019/07/new-sprint-new-goodies/index.md htmlPermalink: https://bouah.net/2019/07/new-sprint-new-goodies/ tags: [ "XMPP", "Sprint" ] lang: en --- *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!
Bastille day fireworks by olek_impek.
[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 didn’t 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