Spootle

Home Blog Dienste Über Kontakt Folgen

Jabber Aktualisierung - Webchat nun auf Version 6.0 mit Twemoji-Integration und Update unter der Haube

Jeybe am 2020-01-14

## Aktualisierung des Webchats Der [Webchat](https://webchat.spootle.de) wurde auf [ConverseJS](https://conversejs.org) Version 6.0.0 aktualisiert. Dem Versionnsprung entsprechend gibt es so einige neue Funktionen: * Die Teilnehmerliste von Gruppenchats ist nun in der Größe veränderbar * Die Teilnehmerliste von Gruppenchats zeigt nun Profilbilder an * In Gruppenchats werden Erwähnungen von Personen nun automatisch vervollständigt und das Profilbild angezeigt * Die OMEMO-Fingerabdrücke können nun durchscrollt werden Daneben gab es noch einige große Änderungen im Hintergrund, die Unterstützung für zwei **experimentelle** Features und - wie immer - Fehlerbehebungen. Eine dieser experimentellen Funktionen ist, dass man gesendete Nachrichten im nachhinein löschen kann. Dazu einfach auf den Mülleimer klicken, der erscheint, wenn man mit der Maus über eine eigene Nachricht fährt. Beachten sollte man, dass das bisher nur mit ConverseJS funktioniert. Das heißt, wenn jemand mit dir über andere Wege wie bspw. Conversations oder Pix-Art Messenger chattet, kann er deine Nachricht trotzdem noch sehen. Das ist also noch mit Vorsicht zu genießen. Lieber erst denken, und dann tippen :-). Ein paar weitere, technischere Infos zum Update gibt es unter [Interna - für die IT-Interessierten](#interna-für-die-it-interessierten). Die restlichen Details können wie üblich im [ConverseJS Changelog](https://github.com/conversejs/converse.js/blob/master/CHANGES.md#600-2020-01-09) nachgelesen werden. ## Twemoji für den Webchat Der Webchat nutzt ab sofort die [Twemojis](https://twemoji.twitter.com/). Die Tewmojis sind das Emoji-Set von Twitter, das man auch aus den Twitter-Apps kennt. Bisher hat der Webchat die Emojis deines Browsers genutzt, was allerdings unschön sein konnte, wenn der Browser nicht alle Emojis unterstützt. Das Problem hat man nun nicht mehr, der Webchat hat nun alle benötigten Emojis direkt integriert. Damit kannst du die volle Palette an bunten Symbolen nutzen und ansehen. ## Umstellung der Software für den Chatdienst Unter der Haube wurde die Software für den Chatdienst ausgewechselt und angepasst. Das hat sowohl für mich als Admin, als auch für dich als NutzerIn vorteile, da ich mir dadurch einen stabileren, performanteren und zuverlässigeren Betrieb erhoffe und dass ich zukünftige (neue) Funktionen schneller anbieten kann. Es hat zwar schon bisher sehr zufriedenstellend funktioniert, aber dennoch gab es das ein oder andere was mich gestört hat. Das geht aber teilweise in die technischen Aspekte hinein, deswegen dazu mehr unter [Interna - für die IT-Interessierten](#interna-für-die-it-interessierten). ### Registrierung via App bleibt an Ende November letzten Jahres hatte ich in einem [Blogpost](https://spootle.de/post/jabber-test-registrierung-via-app/) bekanntgegeben, testweise die Registrierung via App bei Spootle zu erlauben. Das war bis jetzt so aktiv und hat zu keinen Problemen geführt. Zusätzlich habe ich vorbeugend Captchas für die Registrierung via App aktiviert. Die Registrierung via App ist also kein Test mehr, sondern wird aktiviert bleiben und ermöglicht neuen Jabber-Nutzern einen noch einfacheren Einstieg, fast so, wie man ihn von WhatsApp und Konsorten kennt. ## Interna - für die IT-Interessierten ### ConverseJS Version 6.0 ConverseJS entwickelt sich erstaunlich rasant weiter. Nicht nur, wenn es um die Implementierung schon vorhandener XEPs geht, sondern inzwischen auch mit dem Beitragen eigener XEPs zum XMPP-Ökosystem, um weiter zu zentralisierten Messengern aufzuholen. Gemeint sind folgende zwei XEPs des Hauptentwicklers JCBrand: [XEP-0424 Message Retraction](https://xmpp.org/extensions/xep-0424.html) und [XEP-0425 Message Moderation](https://xmpp.org/extensions/xep-0425.html). Beides sind noch im Experimental Status, aber zumindest bei XEP-0424 würde ich mich freuen, wenn das zu einem fertigen Standard gebracht werden kann und alle relevanten Clients die XEP implementieren. XEP-0424 umfasst nämlich das schon oben angeschnittene Löschen von gesendeten Nachrichten. Inzwischen ist das bei den zentralisierten Konsorten ein Quasi-Standard, denn so gut wie alle OttonormalnutzerInnen kennen es von WhatsApp oder zumindest Telegram. Zeit, dass das auch für Jabber kommt. Klar, es ist besser erst zu denken, und dann zu tippen, aber du weißt ja, wie das ist ;-). Die andere XEP mit der Nummer 0425 geht in eine änhliche Richtung und befasst sich mit der Moderation von Nachrichten in Gruppenchats. Dabei sollen Moderatoren bspw. Nachrichten aus Gruppenchats löschen, korrigieren oder als unangemessen kennzeichnen können. Was diese XEP betrifft, bin ich auch nicht ganz sicher was ich davon halten soll. Denn was nützt es nur einzelne Nachrichten von einem Nutzer zu moderieren? Entweder jemand hält sich an die Regeln oder er muss die Konsequenzen tragen. Lieber kickt / bannt der Moderator einen Nutzer / eine Nutzerin, anstatt fünf mal deren Nachrichten anzupassen. Für mich klingt das also eher ineffektiv mit Spielraum zu Missbrauch. XEP-0425 kannst du auch noch nicht ausprobieren, denn dafür muss der Server Unterstützung bereitstellen, was aktuell meines Wissens keine Serversoftware und also auch kein Serveranbieter, eingeschlossen Spootle, macht. Das kann aber noch kommen, also mal sehen, was daraus wird. Ansonsten hat ConverseJS in Version 6.0.0 auch Unterstützung für IndexedDB hinzugefügt. IndexedDB ist geeignet um auch größere Mengen und alle Arten von Daten im Brwoser zu speichern. Theoretisch könnte man ConverseJS damit auch offline funktionsfähig machen. Interessant wäre das auf jeden Fall, den inzwischen ist es ja recht einfach möglich, Progressive-Web-Apps aus dem Browser heraus nahezu wie eine native App in das eigene Smartphone zu integrieren. Damit hätte man dann einen plattformübergreifenden Jabber-Client, der Nahe an das Verhalten eines nativen Clients herankommt. Ob ConverseJS das alles auch praktisch implementiert hat, weiß ich nicht. Zugegebendermaßen habe ich es noch nie am Samrtphone verwendet. Aber immerhin: Die Unterstützung für IndexedDB scheint für mich als nicht-web-Entwickler lohnenswert zu sein. Aktiviert habe ich sie jedoch bei Spootle noch nicht, das werde ich zu gegebener Zeit nachholen, wenn ich weiß, wie groß der Vorteil aktuell im Vergleich zu der bisherigen Speichermethode ist. ### Umstellung zu ejabberd Bisher lief der Jabber-Server mit Prosody und hat damit auch **wunderbar funktioniert**. Als ich aber Ende November 2019 beschlossen habe, IBR zu aktivieren, hatte ich schon ein etwas laues Gefühl im Magen, damit prinzipiell Spammern ohne große Hürde Tür und Tor zu öffnen. Denn Prosody bietet leider kein Captcha für IBR an. Letztendlich wurde ich nicht von Spammern überollt, dennoch habe ich mir zu dem Zeitpunk nochmals ejabberd angesehen und wurde positiv überrascht: Einerseits bot es was ich gesucht habe, nämlich Captchas für IBR, aber andererseits hat es mich auch anderweitig angetan. Es hat alle wichtige Fuktionalität die man für einen Chatserver auf Basis von Jabber braucht von Haus aus dabei und neue Funktionen / wichtige XEPs scheinen zeitnah impementiert zu werden. Abgesehen von den Captchas kann man die Funktionalität, die ich brauche zwar auch bei Prosody umsetzen, aber man ist dafür auf Community-Module angewiesen. Irgendwann davor im Jahr wurde dann außerdem die Jabber-Instanz, die ich vor meinem eigenen Server genutzt habe ([trashserver.net](https://trashserver.net)) auf ejabberd migriert und der Admin (Thomas Leister) hat dazu einen [guten Blogbeitrag mit weiteren Gründen und einer klasse Anleitung zum Umstieg](https://thomas-leister.de/en/migrating-trashserver-prosody-ejabberd/) veröffentlicht. Daraufhin hat dann auch [dismail.de](https://dismail.de), ein weiterer populärer Jabber-Anbieter erfolgreich auf ejabberd migriert. Also habe ich ejabberd ausprobiert und war sehr angetan (das CLI Tool zum administrieren ist super!). Lange Rede kurzer Sinn: ejabberd gefällt mir in mancher Hinsicht besser als Prosody und ein Umstieg war offensichtlich mit angemessenem Aufwand machbar. Ergo, habe ich mich entschlossen, den Umzug zu machen und bingo, Stand heute läuft ejabberd als Jabber-Server bei Spootle. Prosody ist weiterhin ein klasse Jabber-Server und ich war in der Zeit, in der ich Prosody genutzt habe super zufrieden und das nicht nur mit der Software, sondern auch mit der Community. Die Entwickler haben auf Fragen immer schnell (wirklich schnell!) reagiert und hilfsbereit geantwortet. Nur mit der Zeit ändern sich die Anprüche an eine Software, und deswegen muss man manchmal auch von einer eigentlich guten Software Abschied nehmen. Letztendlich kann ich Prosody wirklich guten Gewissens weiterempfehlen. Nun wird sich zeigen, ob ejabberd meine Erwartungen erfüllen kann und ich irgendwann auch dafür eine Empfehlung aussprechen kann.