πMatrix Live
πDept of Status of Matrix π‘οΈ
πMatrix Community Year In Review 2022
Nico says
Since the last few official Matrix holiday updates didn't mention as many of the cool community projects as I would have liked, I tried to work with the community to publish a community side review of 2022 as well as possibly some small teasers of what 2023 will bring. There are a lot of very varied updates, since everyone seems to have tackled the challenge differently, but I hope you you enjoy the result as much as I did: https://blog.neko.dev/posts/matrix-year-in-review-2022.html
A few days later we also published the same blog post on matrix.org, with a few typo fixes and cleanups: https://matrix.org/blog/2023/01/03/matrix-community-year-in-review-2022
This was a bit shot notice, so I would like to extend my gratitude to everyone who contributed and took some time in probably one of the busiest periods in a year! For the same reason, I hope you can excuse if one of your favourite projects is missing. If you have anything that is sorely missing, feel free to reach out in #year-in-2022:neko.dev and maybe I can amend the blog post.
Have a great 2023 everyone!
πDept of Spec π
Andrew Morgan (anoa) says
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
New MSCs:
MSCs in Final Comment Period:
- MSC3904: Room version 10 as the default room version (merge)
- MSC3783: Fixed base64 for SAS verification (merge)
Accepted MSCs:
- MSC3938: Remove keyId from
/keys
endpoints (and merged below!)Merged MSCs:
- MSC3938: Remove keyId from
/keys
endpoints- MSC3706: Extensions to /_matrix/federation/v2/send_join/{roomId}/{eventId} for partial state
πSpec Updates
After a lull from the holiday period, work has continued on different parts of the spec. MSC3706 has merged, which furthers the spec side of the work to make joining rooms faster in Matrix (see MSC3902 for the overview).
MSC3938 has also been merged to the spec. The proposal removes a deprecated
keyId
field and cleans up the endpoint by disallowing trailing slashes.πRandom MSC of the Week
The random MSC of the week is... MSC3885: Sliding Sync Extension: To-Device messages!
Sliding Sync (MSC3575) is the next generation of sync - how Matrix clients receive new data from their homeserver. The spec side of the feature has been designed to be modular, with different extensions of spec provided different functionality. MSC3885 is one of those extensions, and defines how To-Device Messages (how different user devices talk directly to each other) would be requested by a Matrix client from the homeserver.
This proposal doesn't appear to have had too much review from the community yet - so feel free to check it out if faster Matrix clients appeal to you!
πDept of Clients π±
πNeochat (website)
A client for matrix, the decentralized communication protocol
nvrwhere reports
So the big new this week is that Neochat is now available on the Microsoft store! This version also has the new end-to-end encryption activated for anyone who wants to try it out.
Searching for messages in rooms was added and the room settings also gained missing features including modifying user permissions, setting the join rule to knock and upgrading the room version.
There was also a ton of smaller improvements to the UI including improving the room information drawer layout and a compact mode for the room list view.
πHydrogen (website)
Hydrogen is a lightweight matrix client with legacy and mobile browser support
Bruno says
We started working on group call support again this week! Here's a little preview of a call between Element Call and Hydrogen on desktop and Android, hoping we can release it soon.
πElement Web/Desktop (website)
Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!
FΠ΅nΠΈΠΊs says
Element-web client on IPFS
It has been a while since last time anyone announced their effort to host (and keep up to date) Element-web on IPFS. Since Element-web is a client-side static web application, it works just fine when accessed through local IPFS gateway (like kubo/go-ipfs, ipfs-companion browser addon makes it almost seamless).
Latest version (updated within 2 days of the release): /ipns/element.sibnsk.net (/ipns/k51qzi5uqu5dj43aqkofq4ggbd7nnpvg8j1ia79deab41bfe4zrp86xoht5w2j)
Versions archive: /ipns/elements.sibnsk.net (/ipns/k51qzi5uqu5dmc2sqzfh36v85ucddrw3vbd21erk77wc1pot16j5mqqjmwjyc3)
Note: those are unpacked release archives from github with
config.json
being a copy ofconfig.sample.json
.Files stored on IPFS benefit greatly from more people accessing, storing and sharing them, so everyone is invited to use and pin (periodically, as new versions are released).
Note: FΠ΅nΠΈΠΊs's efforts to host Element-web on IPFS are community efforts, this is not an official deployment of Element.
kittykat reports
- Weβre continued work on automating packaging
- Weβve also enabled more TypeScript strict checking
In labs (you can enable labs features in settings on develop.element.io or on Nightly):
- Still working on Favourite messages, we're going to get there very soon!
πElement iOS (website)
Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!
Θtefan announces
- Weβre now back in full force, squashing bugs and taking names. We have fixed problems in voice messages, navigation from replies, voice broadcasting, the new device manager, live location sharing and more
- ElementX is also quickly moving ahead:
- Instantly loading timelines through the power of sliding sync
- Better backpagination support
- A new session verification flow
- Support for stickers, invalid messages and in-timeline loading indicators
- And of course, tweaks here, tweaks there, tweaks everywhere
πDept of Non Chat Clients ποΈ
πmatrix-social (website)
matrix-social is a social media client powered by Matrix.
imbev reports
- There is now a per-post view that displays the post, replies, and a placeholder for sending replies.
- Bulma has been completely replaced by TailwindCSS, allowing greater flexibility with styling. This involved a rewrite of the navbar, post, login, and other components of the UI.
- Posts now display a comment count. There is also a "score", which can be incremented/decremented by thumbsup/thumbsdown reactions. There is currently progress on reacting from matrix-social.
- Login times are now significantly faster (~5-10x)
Preview matrix-social at https://imbev.codeberg.page/matrix-social/
All are welcome to join us at #matrix-social:matrix.org!
πEffektio (website)
The one mobile-first, decentralized community organizing app
ben announces
Earlier this week, we merged the core API for Tasks / ToDoList and Todos using matrix events into
main
. While connecting the flutter UI is ongoing (which has reverently been revamped to be more streamline and intuitive to use) this marks a major milestone in getting the proof of concept done. It shows that using stateful objects inside matrix spaces that can be collaborated upon with simple matrix events is feasible for regular end-user-style applications. The PR also brings with it integration tests and a TUI app show-casing live-updating tasks lists and tasks.Meanwhile many issues have been fixed around chat, the code has been updated to latest matrix-sdk and we are working hard on reactivating the integration test suite for better quality assurance. Which is increasingly important as we are sketching out the other generic stateful objects - like the comments system, news, pins and reactions.
Lastly, we have received a lot of positive feedback about the whitepaper we launched last month outlining what we are after when building this and how we intend this all to move forward. If you haven't read it yet, we are still curious to know what you think of it.
πDept of SDKs and Frameworks π§°
πTrinity
Matrix bots in Rust and WebAssembly. If you're interested to follow the project, feel free to join #trinity:delire.party or get the code on Github.
bnjbvr reports
Since the last time in November, there's been a bit of activity on Trinity:
- Support for end-to-end encryption has been fixed, so that the bots can now reliably answer in private chats and encrypted rooms. Thanks to the kind folks in the Matrix Rust SDK channel for the provided help! Hopefully next time we demo Trinity live, we won't embarrass ourselves with that bug ever again π
- The admin command is now always aware of the room it's applied to, thanks to a contribution by @ahal:mozilla.org.
- There's now an experimental OpenAI chatbot, that you can enable in conversation mode in a room (i.e. it'll answer every single message), or that you can trigger with a prefix
!ai
.
πTrixnity (website)
Multiplatform Kotlin SDK for Matrix
Benedict reports
Trixnity 3.1.0 has been released:
- new
Timeline
abstraction for better developer experience- β breaking change:
getTimelineEventsAround
is ordered naturally (to be consistent with the newTimeline
)- new helper function
canSetPowerLevelTo
- split password and token in login
πDept of Bots π€
πmatrix-translation-bot
z says
As my first real project written in Rust, I present a translation bot that uses the DeepL translation API to easily translate conversations between participants in a room. The bot has source language detection, so you can type in your native language and it'll translate to anything you'd like right inside of your Matrix client. I've released the source code under the MIT license, so feel free to expand and improve on it: https://github.com/du64/scripts/tree/main/matrix-translation-bot
πDept of Events and Talks π£οΈ
πMatrix Community Summit Berlin Podcast
jaller94 announces
English Episode
Meet Sumner Evans, who talked to Yan about his way into the Matrix community and career as a developer. Alongside other wisdoms, he recommends newcomers to run their own home server to get familiar with Matrix.
In general, this episode contains a lot of tips for people who want to get started and more involved with Matrix.
Episode link: https://anchor.fm/matrix-podcast0/episodes/Sumner-English-episode---Matrix-Community-Summit-2022-e1sbg16 Mastodon post: https://mastodontech.de/@jaller94/109603245886080934
Next week marks the end of the Matrix Community Summit 2022 series. We're planning on continuing the podcast feed in the future. Stay tuned for a final (German) episode next Friday!
jaller94 reports
German Episode
Meet Janonym, who describes how Matrix is used at the University of Graz. He and I talked about how Matrix, Etherpad and Jitsi allow students to collaborate, how Moodle has become an important tool in digital education and how the Maths faculty enjoys Element's Labs feature for LaTeX messages.
Episode link: https://anchor.fm/matrix-podcast0/episodes/Jan---Universitt-Graz--Matrix-Community-Summit-2022-e1sbfvg Mastodon post: https://mastodontech.de/@jaller94/109603226240566623
jaller94 reports
German Episode
Meet Alex and Valentin who compete for the lowest ping statistics with their Matrix server. We talked about their ideas for Matrix, university and more.
Episode: https://anchor.fm/matrix-podcast0/episodes/Alex-und-Valentin---Matrix-Community-Summit-2022-e1sbg1vβ Mastodon post: https://mastodontech.de/@jaller94/109642891653368048
While this concludes the 8 podcast episodes we recorded at the Matrix Community Summit in Berlin, I did another recording with Kim (HarHarLinks) this week, so there will be a 9th episode next Friday.
πFOSDEM23 Matrix Community Meetup
HarHarLinks reports
There is a large interest in FOSDEM from the Matrix community, and we are very excited to see not just a stand, not just an online track, but the first ever in person Matrix devroom happening this year! The officially allotted time for the Matrix devroom at FOSDEM however is only half a day. Some friends and matrix enthusiasts who met at the first Matrix Community Summit Berlin in 2022 feel there is more to discuss and want more time to meet more of this amazing community we are part of, without taking away from the FOSDEM experience itself.
We are happy to announce the FOSDEM23 Matrix Community Meetup at Hackerspace Brussels (HSBXL)! The meetup is set to begin on Friday 03 February around 13:00 local time (CET) and will go into the evening. See https://hsbxl.be/contact/ for multiple well documented ways how to find us. Thank you HSBXL for providing a location for this! There is no definite schedule, instead we want to give the space for discussions to develop organically BarCamp style. If you have a certain interest to learn about something or you want to present something in particular, we want to hear about it! Furthermore, be aware that HSBXL is hosting more events in the FOSDEM "fringe", such as a beer tasting on Friday right after our Matrix Meetup, and also the bytenight party on Saturday. Find us at #fosdem23-community-meetup:matrix.org for more info, program suggestions, to follow the process, and general discussion.
See you in Brussels!
πDept of Interesting Projects π°οΈ
πmatrix-art (website)
An image gallery for Matrix
MTRNord announces
Yes, you are reading correct. This is about Matrix Art ^^
After quite some while, I started to work on it again. I merged the new design into main, updated the UI, and it is available at https://art.midnightthoughts.space/ again.
Current goals are to add the User and Post pages again and implement of the new storage system. The new system uses Spaces as FS at its core for the timeline.
Specifically, Matrix Art is basically a big Space containing a Folder for each User, similar to a Room Directory. In that, there are Timeline spaces which act as the Public Feed. This allows Matrix Art to provide a way of having invite only feeds as well, using normal room permissions.
In practice, the tree is like this (thanks to Travis for designing this many months ago):
+ π Matrix Art User Dir (public, m.space) + π User A (public, m.space) + π Timeline (m.space) - π Image A = Room A (invite protected, <no type>) - π Image B (counted as under the timeline) + π User B (public, m.space) + π Timeline (m.space) - π Image C = Room B (invite protected, <no type>) - π Image D (counted as under the timeline)
Feel free to join #matrix-art:midnightthoughts.space or watch the Repo at https://github.com/MTRNord/matrix-art
πDept of Guides π§
πCustom event type directory
Bram announces
Quick update on the matrix.directory website: we've added the custom event type
io.element.functional_members
. As you may know, many projects within Matrix don't use any custom event types at all. This can make it difficult to find custom event types, which is (ironically) why I created the matrix.directory website in the first place.You can find the source code for the website on GitHub. I encourage you to check it out and contribute any custom event types you may have. Your contributions will help make the website a valuable resource for the Matrix community.
Thanks for your support!
πDept of Ping
Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by pingbot, a maubot that you can host on your own server.
π#ping:maunium.net
Join #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 | maunium.net | 219 |
2 | nognu.de | 284.5 |
3 | matrix.chatpage.de | 319 |
4 | maescool.be | 352 |
5 | alemann.dev | 354 |
6 | kakise.tech | 387 |
7 | fosil.eu | 408 |
8 | dendrite.babel.sh | 412 |
9 | koyax.org | 416 |
10 | trygve.me | 421 |
π#ping-no-synapse:maunium.net
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Rank | Hostname | Median MS |
---|---|---|
1 | babel.sh | 156 |
2 | dendrite.babel.sh | 182 |
3 | wcore.org | 238 |
4 | kumma.juttu.asia | 245 |
5 | rustybever.be | 293.5 |
6 | matrix.org | 439.5 |
7 | anontier.nl | 501 |
8 | dendrite.kootstra.frl | 527 |
9 | cringe.chat | 567 |
10 | grin.hu | 1197 |
πThat's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!
The Foundation needs you
The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.
It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.
Support us