353 lines
19 KiB
Markdown
353 lines
19 KiB
Markdown
+++
|
||
title = "This Week in Matrix 2021-02-26"
|
||
path = "/blog/2021/02/26/this-week-in-matrix-2021-02-26"
|
||
|
||
[taxonomies]
|
||
author = ["Ben Parsons"]
|
||
category = ["This Week in Matrix"]
|
||
|
||
[extra]
|
||
image = "https://matrix.org/blog/img/2021-02-26-jJwf3-image.png"
|
||
+++
|
||
|
||
## Matrix Live 🎙
|
||
|
||
{{ youtube_player(video_id="hDNp2SGvPYY") }}
|
||
|
||
## Dept of *Status of Matrix* 🌡️
|
||
|
||
### Decentralized Systems and Network Services Research Group output
|
||
|
||
[Florian](https://matrix.to/#/@florian:dsn.tm.kit.edu) told us:
|
||
|
||
> The article of my research group [Decentralized Systems and Network Services Research Group](https://dsn.kastel.kit.edu) from the [KASTEL Institute of Information Security and Dependability](https://kastel.kit.edu/) and me, [Analysis of the Matrix Event Graph Replicated Data Type](https://doi.org/10.1109/ACCESS.2021.3058576), was published in the Open Access journal [IEEE Access](https://ieeeaccess.ieee.org/)! 📰 🥳 Open Access here means that the article is freely available for you to read, under [CC-BY](https://creativecommons.org/licenses/by/4.0/).
|
||
|
||
![2021-02-26-x72VR-MEG_with_Chat.png](/blog/img/2021-02-26-x72VR-MEG_with_Chat.png)
|
||
|
||
> In layman's terms, we showed that the Event Graph provides a strong form of eventual consistency even when new events are applied in arbitrary order. In addition, this consistency guarantee can still be provided even if all other servers in a room are malicious, which is unexpected compared to the honest majority required for the usual Distributed Ledger Technology. We also looked at the problem of “If servers randomly select at which parents at the bottom of the Event Graph they append new events, and the number of parents for an event is limited, how can you be sure that the Event Graph does not grow arbitrarily wide?“, which is something that puzzled me since the beginning of my Ph.D. two years ago. It is easy simulate a given setup and see that the width shrinks really fast, but it is also easy to see that arbitrary growth has a likelihood larger than zero. As this was astonishingly hard to grasp mathematically, we were very happy that we could recruit <a href="https://www.math.kit.edu/stoch/~henze/">Prof. Dr. Norbert Henze from the Institute of Stochastics</a> as co-author to provide evidence that you can expect the Event Graph to shrink to a normal width quite quickly.
|
||
>
|
||
> Let me quote parts of the abstract for some more technical details:
|
||
>
|
||
> > […] By comparison with traditional decentralized communication systems, Matrix replaces pure message passing with a replicated data structure. This data structure, which we extract and call the Matrix Event Graph (MEG), depicts the causal history of messages. We show that this MEG represents an interesting and important replicated data type for decentralized applications that are based on causal histories of publish-subscribe events: First, we prove that the MEG is a Conflict-Free Replicated Data Type for causal histories and, thus, provides Strong Eventual Consistency (SEC). With SEC being among the best known achievable trade-offs in the scope of the well-known CAP theorem, the MEG provides a powerful consistency guarantee while being available during network partition. Second, we discuss the implications of byzantine attackers on the data type’s properties. We note that the MEG, as it does not strive for consensus or strong consistency, can cope with n > f environments with n participants, of which f are byzantine. Furthermore, we analyze scalability: Using Markov chains, we study the number of forward extremities of the MEG over time and observe an almost optimal evolution. […] With the properties shown, a MEG represents a promising element in the set of data structures for decentralized applications, but with distinct trade-offs compared to traditional blockchains and distributed ledger technologies.
|
||
|
||
## Dept of Spec 📜
|
||
|
||
[anoa](https://matrix.to/#/@andrewm:amorgan.xyz) offered:
|
||
|
||
> Interrupting spec update!
|
||
>
|
||
> #### Spec
|
||
>
|
||
> Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals.
|
||
>
|
||
> #### MSC Status
|
||
>
|
||
> **Closed MSCs:**
|
||
>
|
||
> * [MSC3007: Forced insertion and room blocking by self-banning](https://github.com/matrix-org/matrix-doc/pull/3007)
|
||
>
|
||
> **MSCs in Final Comment Period:**
|
||
>
|
||
> * [MSC2998: Room Version 7](https://github.com/matrix-org/matrix-doc/pull/2998) (merge)
|
||
>
|
||
> **New MSCs:**
|
||
>
|
||
> * [MSC3032: Thoughts on updating presence](https://github.com/matrix-org/matrix-doc/pull/3032)
|
||
> * [MSC3030: Jump to date API endpoint](https://github.com/matrix-org/matrix-doc/pull/3030)
|
||
>
|
||
> * [MSC3026: "busy" presence state](https://github.com/matrix-org/matrix-doc/pull/3026)
|
||
> * [MSC3021: Limits API — Part 1: per-User limits](https://github.com/matrix-org/matrix-doc/pull/3021)
|
||
>
|
||
> * [MSC3020: WIP proposal for better supporting private federations](https://github.com/matrix-org/matrix-doc/pull/3020)
|
||
> #### Spec Core Team
|
||
>
|
||
> In terms of Spec Core Team MSC focus for this week, there's been activity from the core team on [MSC2516](https://github.com/matrix-org/matrix-doc/pull/2516) (voice messages), [MSC2312](https://github.com/matrix-org/matrix-doc/pull/2312) (matrix URI scheme) and [MSC3026](https://github.com/matrix-org/matrix-doc/pull/3026)/[MSC3032](https://github.com/matrix-org/matrix-doc/pull/3032) (presence improvements).
|
||
>
|
||
> #### New Spec Platform
|
||
>
|
||
> PR updates on matrix-doc has been refactored and straightened out, and is up for [review](https://github.com/matrix-org/matrix-doc/pull/3017). We're reviewing changes to our infrastructure on matrix.org in parallel which should result on spec.matrix.org hosting the unstable spec sometime early next week!
|
||
|
||
|
||
|
||
![2021-02-26-c2XcZ-stacked_area_chart.png](/blog/img/2021-02-26-c2XcZ-stacked_area_chart.png)
|
||
|
||
## Dept of Servers 🏢
|
||
|
||
### Synapse
|
||
|
||
Synapse is a popular homeserver written in Python.
|
||
|
||
[callahad](https://matrix.to/#/@callahad:matrix.org) announced:
|
||
|
||
> Hey, it's Friday!
|
||
>
|
||
> We [released Synapse 1.28 yesterday](https://matrix.org/blog/2021/02/25/synapse-1-28-0-released), with the bulk of effort going into stability improvements and bug fixes, and an emphasis on further improving social login.
|
||
>
|
||
> We're also working to more clearly communicate our prioritization of issues, starting with documenting our [triage and labeling process](https://github.com/matrix-org/synapse/issues/9460) for the core Synapse repository on GitHub.
|
||
>
|
||
> (Still very much a work in progress, but starting to shape up nicely.)
|
||
>
|
||
> We're also on track to maintain our fortnightly cadence of Release Candidates, with 1.29.0rc1 due out in just a few days. I look forward to telling you all about it next week!
|
||
|
||
## Homeserver Deployment 📥️
|
||
|
||
### Kubernetes
|
||
|
||
[Ananace](https://matrix.to/#/@ace:kittenface.studio) offered:
|
||
|
||
> Another week, another bump of the Kubernetes [chart](https://gitlab.com/ananace/charts) and [image](https://github.com/ananace/matrix-synapse) of Synapse (to 1.28.0), still haven't had time to fix it to be image agnostic - the Synapse team is just developing far too fast.
|
||
|
||
## Dept of Bridges 🌉
|
||
|
||
### Gitter
|
||
|
||
[Eric Eastwood](https://matrix.to/#/@madlittlemods:matrix.org) announced:
|
||
|
||
> We've added a "Chat via Matrix" button next to the join button in a Gitter room so you can jump straight into Matrix and start chatting that way. We've also added a Matrix.to link in the chat header so you can switch off to your favorite Matrix client at any time.
|
||
|
||
![2021-02-26-vvZtd-Photoshop_2021-02-25_18-52-05.png](/blog/img/2021-02-26-vvZtd-Photoshop_2021-02-25_18-52-05.png)
|
||
|
||
### New LINE messenger bridge
|
||
|
||
[fair](https://matrix.to/#/@fair:miscworks.net) offered:
|
||
|
||
> **matrix-appservice-line**: A bridge for [LINE messenger](https://line.me/en/) based on running LINE's Chrome extension in Puppeteer. Based on tulir 's [mautrix-amp](https://mau.dev/tulir/mautrix-amp/), as per Eric Migicovsky's suggestion 🙂
|
||
>
|
||
> Currently very rough around the edges, but message sending & receiving in 1:1 chats works, as does conversation syncing & backfilling.
|
||
>
|
||
> Repo: git://miscworks.net/matrix-appservice-line
|
||
> Discussion: [#matrix-appservice-line:miscworks.net](https://matrix.to/#/#matrix-appservice-line:miscworks.net)
|
||
|
||
## Dept of Clients 📱
|
||
|
||
### Neochat 1.1
|
||
|
||
[Carl Schwan](https://matrix.to/#/@carl:kde.org) announced:
|
||
|
||
> We released NeoChat 1.1 containing 2 months of new features and bugfixes. Most notably message editing, sticker events support, rewritten login screen, SSO support and more commands. Check it out at https://carlschwan.eu/2021/02/23/neochat-1.1/
|
||
|
||
![2021-02-26-jJwf3-image.png](/blog/img/2021-02-26-jJwf3-image.png)
|
||
|
||
> In addition to the 1.1 release from earlier, aa13q added support for fancy animation for the 🎆, 🎉 and 🌨️ emojis. This feature can be disabled.
|
||
|
||
![2021-02-26-euMEn-Screenshot_20210226_144943.png](/blog/img/2021-02-26-euMEn-Screenshot_20210226_144943.png)
|
||
|
||
[aa13q](https://matrix.to/#/@aa13q:matrix.org) shared this video too!
|
||
|
||
> neochat pinephone poorly recorded effects demo 🙂 https://i.imgur.com/Z9vF9px.mp4
|
||
|
||
### Nheko
|
||
|
||
[Nheko](https://github.com/Nheko-Reborn/nheko) is a desktop client using Qt, Boost.Asio and C++17. It supports E2EE and intends to be full featured and nice to look at
|
||
|
||
![2021-02-26-M_N-6-clipboard.png](/blog/img/2021-02-26-M_N-6-clipboard.png)
|
||
|
||
[Nico (@deepbluev7:neko.dev)](https://matrix.to/#/@deepbluev7:neko.dev) sent a teaser image first, then added:
|
||
|
||
> As seen from the image, you can now share your screen. This currently only works on X11, since there are no cross platform APIs for that, so look out for that, if you run into issues.
|
||
>
|
||
> Jedi18 also polished the UX a bit more and fixed bugs, so registration should now work properly again and leaving or joining rooms should place you in the right rooms after that. We also fixed some inconsistencies, where text could be misaligned, when writing long messages.
|
||
|
||
### Quaternion
|
||
|
||
[kitsune](https://matrix.to/#/@kitsune:matrix.org) reported:
|
||
|
||
> Version 0.0.95 beta4 is out, with significantly better Markdown support (code fences work now, and the overall formatting is better), further improvements to the shuttle dial and other smaller fixes. The release notes and some packages are at their [usual place at GitHub](https://github.com/quotient-im/Quaternion/releases/tag/0.0.95-beta4); the Flatpak is also coming real-soon-now.
|
||
>
|
||
> No (or almost no) changes in strings are expected before 0.0.95 from now, so translation contributions are very welcome at [Lokalise](https://app.lokalise.com/project/730769035bbc328c31e863.62506391). German, Polish and Spanish translations are quite advanced but need just a few more entries; the French translation is just about half-way; and there are many prominent languages not even started. You can help!
|
||
|
||
### Element Clients
|
||
|
||
Updates from the team:
|
||
|
||
**Delight**
|
||
|
||
|
||
|
||
* Social Login
|
||
* After shipping Social Login on matrix.org, we’re working on general stability to harden the feature, and get better visibility on stability.
|
||
* Spaces
|
||
* On Android, we’re making good progress on creating and managing spaces, first focusing on public space use cases. Otherwise, we’re also polishing implementations on web & iOS.
|
||
*
|
||
|
||
**Web**
|
||
|
||
|
||
|
||
* 1.7.22 RC on staging, includes
|
||
* Improved Jitsi conference names
|
||
* Disabled chat effects when reduced motion preferred
|
||
* 1.7.22 planned for release on Monday (1 Mar)
|
||
|
||
**iOS**
|
||
|
||
|
||
|
||
* 1.2.2 RC currently available in TestFlight
|
||
* 1.2.3 RC is coming
|
||
* Will be released on Monday:
|
||
* Mainly bug fixes around e2ee and VoIP
|
||
|
||
**Android**
|
||
|
||
|
||
|
||
* 1.1.0 released with a huge update on VoIP
|
||
* Initial sync is now more reliable for big accounts, consuming less RAM
|
||
|
||
### Watch The Matrix, for Apple Watch
|
||
|
||
[Doug](https://matrix.to/#/@doug:micdrop.uk) told us:
|
||
|
||
> Hey TWIM. I'd like to present Watch The Matrix, a matrix client for watchOS that I've been working on over the last few weeks. Currently can view rooms, receive new messages and react to them:
|
||
|
||
{{ youtube_player(video_id="Jh9iewrBdGQ") }}
|
||
|
||
Find the code: https://github.com/pixlwave/Watch-The-Matrix
|
||
|
||
## Dept of SDKs and Frameworks 🧰
|
||
|
||
### libQuotient
|
||
|
||
[kitsune](https://matrix.to/#/@kitsune:matrix.org) reported:
|
||
|
||
> [libQuotient 0.6.5](https://github.com/quotient-im/libQuotient/releases/tag/0.6.5) is out, featuring fixes in rich replies handling and the updated Matrix URIs support, as per the latest iteration of [MSC2312](https://github.com/matrix-org/matrix-doc/pull/2312), enabling shorter, nicer Reddit-style URIs such as `matrix:r/thisweekinmatrix:matrix.org`.
|
||
|
||
|
||
|
||
### libkazv (and the Kazv Project)
|
||
|
||
[tusooa](https://matrix.to/#/@tusooa:tusooa.xyz) offered:
|
||
|
||
> [libkazv](https://gitlab.com/kazv/libkazv) is a sans-io C++ (gnu++17) client library
|
||
>
|
||
> built upon [lager](https://github.com/arximboldi/lager). Along with it there is
|
||
> [kazv](https://gitlab.com/kazv/kazv), a kirigami/qml client, and a
|
||
>
|
||
> [forward bot](https://gitlab.com/kazv/matrix-tencent-forward-bot) between matrix and
|
||
> tencent qq. Talk to us on [#kazv:tusooa.xyz](https://matrix.to/#/#kazv:tusooa.xyz).
|
||
>
|
||
> #### Updates
|
||
>
|
||
> In the past (how many?) weeks we ("tusooa and her longcat," we hope someday we can
|
||
>
|
||
> remove this annotation :P):
|
||
>
|
||
> 1. Released [libkazv 0.1.0][libkazv-010] and [matrix-tencent-forward-bot 0.1.0][mtfb-010].
|
||
>
|
||
> Those are stable enough to run as daemon, at least for days.
|
||
>
|
||
> [libkazv-010]: https://gitlab.com/kazv/libkazv/-/tree/v0.1.0
|
||
>
|
||
> [mtfb-010]: https://gitlab.com/kazv/matrix-tencent-forward-bot/-/tree/v0.1.0
|
||
>
|
||
> 2. Added related ebuilds to [the overlay][tusooa-overlay].
|
||
>
|
||
> [tusooa-overlay]: https://gitlab.com/tusooa/tusooa-overlay
|
||
>
|
||
> 3. Implemented [streaming uploads for libkazv][stream-mr].
|
||
>
|
||
> [stream-mr]: https://gitlab.com/kazv/libkazv/-/merge_requests/1
|
||
>
|
||
> 4. Made matrix-tencent-forward-bot support [directly forwarding images][img-fwd]
|
||
>
|
||
> to the matrix room.
|
||
>
|
||
> [img-fwd]: https://gitlab.com/kazv/matrix-tencent-forward-bot/-/commit/a91c3a3c6a20034634db64ec97782e6e36cf5c77
|
||
|
||
### Opsdroid 0.21
|
||
|
||
[Cadair](https://matrix.to/#/@cadair:cadair.com) reported:
|
||
|
||
> [opsdroid](https://opsdroid.dev/) is an easy to use chatops framework with excellent matrix support.
|
||
>
|
||
> #### 0.21 Release
|
||
>
|
||
> This week opsdroid 0.21 has been released, it's an incremental release but includes a couple of nice matrix related features and fixes. The highlights are:
|
||
>
|
||
> * Support authorization by access token in addition to user name and password for the matrix connector. [#1707](https://github.com/opsdroid/opsdroid/pull/1707).
|
||
>
|
||
> * Fix parsing a sync response with more than one message in it. [#1715](https://github.com/opsdroid/opsdroid/pull/1715).
|
||
> * Minor fixes to the matrix documentation. Thanks to @anoadragon453 @xDiesel76 for these.
|
||
>
|
||
> For a full list of the other changes see the [release notes](https://github.com/opsdroid/opsdroid/releases/tag/v0.21.0).
|
||
>
|
||
> If you have any questions or want to get involved come say hi in [#opsdroid-general:matrix.org](https://matrix.to/#/#opsdroid-general:matrix.org), raise an issue on [GitHub](https://github.com/opsdroid/opsdroid) and checkout the [docs](https://docs.opsdroid.dev/en/stable/).
|
||
|
||
### Caridina, Crystal library for Matrix
|
||
|
||
[erdnaxeli](https://matrix.to/#/@erdnaxeli:cervoi.se) said:
|
||
|
||
> [Caridina](https://github.com/erdnaxeli/caridina), a [Crystal](https://crystal-lang.org/) library for Matrix, got some new releases, which bring it to v0.10.2. It now supports the last version of Crystal (0.36.1) and redacted events, which I discovered the hard way were making the lib crash. Internally a big part of the lib was rewritten using macros, which makes the code a lot clearer but the [API doc](https://erdnaxeli.github.io/caridina/Caridina/Events.html) too. Thanks to Ruma actually for giving me inspiration about implementing events using macros.
|
||
>
|
||
> Again, if you like Crystal and want to write some matrix bot, this library might interest you. Feel free to open issues about bugs or feature requests! There is now a room [#caridina:cervoi.se](https://matrix.to/#/#caridina:cervoi.se) to talk about it.
|
||
|
||
## Dept of Bots 🤖
|
||
|
||
### taavi
|
||
|
||
[select](https://matrix.to/#/@select:matrix.org) announced:
|
||
|
||
> So I had a minute to release my open q&a bot taavi.
|
||
>
|
||
> I always wanted to write a chatbot that does cool things, so checkmark for that one on the list. In addition to that I recently failed a job interview. For their technical skill test (I did not fail this :P), I got a task for which I learned how to use `puppeteer`, then saw a post on reddit about [Tuxi](https://www.reddit.com/r/linux/comments/lk1il3/no_need_of_alexa_siri_cortana_i_am_happy_with_my/) and together with my previous project that included Matrix ([Audius](https://github.com/select/audius)), I knew what I had to do: create Taavi.
|
||
>
|
||
> I have created this bot as a "weekend project", literally one day for the code and one day for documentation. Surely it's far from perfect but I don't have any big plans with it so far… If you think I should add some features, [create an issue](https://gitlab.com/s3lect/taavi-chat-bot/-/issues) and let me know. I could imagine adding other websites / services to it like last.fm, do you have any ideas?
|
||
>
|
||
> I gave my daughter the task to choose a name for a bot, that can answer any question in the world, and she came up with Taavi, nice!
|
||
>
|
||
> https://gitlab.com/s3lect/taavi-bot
|
||
|
||
### Ansible role for installing Maubot via Docker
|
||
|
||
[jaywink](https://matrix.to/#/@jaywink:federator.dev) said:
|
||
|
||
> I created an Ansible role for installing Maubot via Docker - https://git.feneas.org/jaywink/ansible-maubot . Currently it only supports an Sqlite database, but pull requests are welcome for more configuration. Supports a pre-created client account.
|
||
|
||
## Dept of Interesting Projects 🛰️
|
||
|
||
### Hummingbard
|
||
|
||
[ahq](https://matrix.to/#/@ahq:matrix.org) reported:
|
||
|
||
> I've written a post introducing Hummingbard. https://hummingbard.com/hummingbard/introducing-hummingbard
|
||
|
||
This looks really interesting!
|
||
|
||
## Final Thoughts 💭
|
||
|
||
[JCG](https://matrix.to/#/@jan.christian:gruenhage.xyz) said:
|
||
|
||
> Not sure if TWIM worthy, but here's [a nice article about the recent flood of people migrating away from whatsapp](https://www.republik.ch/2021/02/24/kill-the-messenger), and why people should've migrated to matrix instead of Signal.
|
||
|
||
(In German)
|
||
|
||
There is also [a sympathetic response](https://stuker.com/2021/whatsapp-and-most-alternatives-share-the-same-problem/) that has been [discussed on HN](https://news.ycombinator.com/item?id=26273594).
|
||
|
||
[Seirdy](https://matrix.to/#/@seirdy:envs.net) said:
|
||
|
||
> i've been getting some feedback from other matrix users on a blog post i wrote that outlined a few concerns I had about the Matrix ecosystem and steps for improvement. idk if it'd be relevant in TWIM, but I noticed that "Final Thoughts" sometimes linked blog posts so I thought I'd share: https://seirdy.one/2021/02/23/keeping-platforms-open.html
|
||
|
||
## Dept of Ping 🏓
|
||
|
||
Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by [pingbot](https://github.com/maubot/echo), a [maubot](https://github.com/maubot/maubot) that you can host on your own server. Join [#ping:maunium.net](https://matrix.to/#/#ping:maunium.net) to experience the fun live, and to find out how to add YOUR server to the game.
|
||
|
||
|Rank|Hostname|Median MS|
|
||
|:---:|:---:|:---:|
|
||
|1|rollyourown.xyz|420|
|
||
|2|neko.dev|465.5|
|
||
|3|maunium.net|480|
|
||
|4|phys.ethz.ch|481|
|
||
|5|envs.net|492.5|
|
||
|6|mailstation.de|738|
|
||
|7|blackline.xyz|891|
|
||
|8|kif.rocks|902|
|
||
|9|casavant.org|932|
|
||
|10|aria-net.org|1028|
|
||
|
||
## That's all I know 🏁
|
||
|
||
See you next week, and be sure to stop by [#twim:matrix.org] with your updates!
|
||
|
||
[#TWIM:matrix.org]: https://matrix.to/#/#TWIM:matrix.org
|