Matrix Live
Dept of Spec 📜
TravisR says
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://spec.matrix.org/proposals.
MSC Status
New MSCs:
- MSC4043: Presence Override API
- MSC4042: Disabled Presence State
- MSC4041: http header Retry-After for http code 429
MSCs proposed for Final Comment Period:
MSCs in Final Comment Period:
- MSC3958: Suppress notifications from message edits (merge)
- MSC3061: Sharing room keys for past messages (merge)
Accepted MSCs:
- No MSCs were accepted this week.
Closed MSCs:
- No MSCs were closed/rejected this week.
Spec Updates
We have a release date planned for Matrix 1.8! We're looking at Wednesday, August 23rd, 2023, and tracked as issue #1614. Currently the only release blocker is room version 11, which should land well in advance of August 23rd. If there's other things we should be considering please raise them ASAP in #sct-office:matrix.org.
August 23rd also begins the Matrix 1.9 cycle where we'll be sticking to our MSC review plan more strongly. Stay tuned to TWIM for news on the exact MSCs/features we'll be looking at for that cycle, and let us know in #sct-office:matrix.org if you think we should consider something in our planning.
The SCT has otherwise been thinking a lot about the MIMI working group at the IETF and how the protocol layering works there. About half of the SCT is going to take a break from MSC review over the next few weeks to ensure the protocol we're designing for MIMI will be fully compatible with Matrix - this will mean that some MSCs will move slower through FCP, sorry.
As always, if you have questions, concerns, complaints, etc then let us know in #sct-office:matrix.org 🙂
TravisR also announces
port 8448 has formally been registered by IANA 🎉
Dept of Servers 🏢
Synapse (website)
Synapse is a Matrix homeserver implementation developed by the matrix.org core team
Shay says
This week we released 1.90.0rc1. Highlights include:
- Fix a long-standing bug where purging history and paginating simultaneously could lead to database corruption when using workers.
- Scope transaction IDs to devices (implement MSC3970).
- Remove support for legacy application service paths
- Fix a long-standing bug where the
synapse_port_db
failed to configure sequences for application services and partial stated roomsand much more. If you'd like to take a deep dive into the changes, you can find the release notes here and as always, if you encounter a bug feel free to report it at https://github.com/matrix-org/synapse/issues/new/choose.
f0x notes
Recently added a Synapse worker to handle
~ ^/_matrix/federation/v1/send/
(which I apparently forgot back when I added all the other workers), and it resulted in huge performance improvements after my homeserver was getting absolutely trashed by incoming EDU's. Also now survived zfs trim running quite well, which I usually cancel halfway because it impacts disk so much Synapse becomes rather unusable.https://stats.pixie.town/d/synapse-new/synapse?orgId=1&from=1690544792772&to=1691752981336
Conduit (website)
Conduit is a simple, fast and reliable chat server powered by Matrix
Timo on Conduit ⚡️ announces
Announcing Conduit v0.6.0
Hey everyone, it's been a long time since the last stable Conduit release, but v0.6.0 has finally been released. It's the biggest update yet, adding support for threads, spaces, edit history, backfilling and much more, along with other improvements like automatic corruption recovery, check out https://conduit.rs/changelog for more information.
It's becoming harder and harder to notice missing features, the biggest one is being unable to join rooms with old room versions. You should give Conduit a try if you haven't already!
To update, simple replace the binary and restart. If it worked, you should receive a message in your admin room.
I currently work on Conduit in my free time, you can support me on https://liberapay.com/timokoesters
Dept of Clients 📱
Nheko (website)
Desktop client for Matrix using Qt and C++17.
Nico announces
I have been away travelling for so long, that I forgot what I last posted an update on, so I'll just summarize what happened recently!
Nheko now shows an indicator for moderators and admins in the timeline. Don't be confused if that mismatches the definition in Element, we don't hardcode specific powerlevels so our definition is slightly different. We also removed the last remnants of Qt Widgets in our code and are now relying only on Qml (apart from parts where Qt uses widgets as the fallback). Nheko now also compiles against {fmt} version 10 and the macOS intel nightlies should work again. You can now also mark a room as read from the room list, Nheko should not break on rooms without a creator anymore and reactions should render smoothly again.
Outside of that, people might have met me at FrOScon, where I popped up randomly and gave a surprise talk to everyone including me and I also stole some food at the Matrix User Meetup in Berlin. If you are attending the Chaos Camp, you might be able to catch me there soon or you can possibly also spot me at the Matrix summit in September. Let's see if I get to finish any code until then...
That's all and let's hope I can make my way through the backlog of open PRs soon!
FluffyChat (website)
Krille-chan says
That was some hard work in the last weeks. FluffyChat's migration to Github meant that I need to rewrite the whole CI/CD setup. And some blockers on the Linux version of FluffyChat didn't let me sleep last night. But at least the iOS version is now working and so I am proud to present FluffyChat v1.13.0 with some new features and minor design changes.
https://github.com/krille-chan/fluffychat/releases/tag/v1.13.0
ALL CHANGES:
- feat: option to not send typing notifications (Bnyro)
- feat: small performance tweaks for Message (gilice)
- feat: New onboarding screen with SSO as first class feature
- feat: Import/Export emoji packs from/to zip file
- fix: Set iOS badge (Krille)
- refactor: Switch the dev hosting platform from GitLab to GitHub
- design: New more compact chat bubble design and other design tweaks
- design: Login now shows SSO more prominent and deprecates in-app registration in favor of SSO registration
- Translated using Weblate (Arabic) (Rex_sa)
- Translated using Weblate (Chinese (Simplified)) (Poesty Li)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (German) (nautilusx)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
Element X iOS (website)
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
Ștefan reports
Exciting week for Element X iOS as release
1.2.2
went out and1.2.3
is hot on its heels. We have a lot of new features, improvements and bug fixes that will make the app (even more of) a joy to use. As always, you can check the full release notes here.This week we:
- Improved how responsive the timeline action menu is to toggle
- Started parsing the latest room message displayed in the room list and render it accordingly
- Re-enabled and simplified the background app refresh
- Re-enabled room list caching and offline support
- Fixed issues around modal presentations and deep linking from notifications
- Fixed crashes when trying to reply to media timeline items
- Made good progress on polls
- and more great fixes coming out of the SDK
Stay tuned, even more exciting times ahead!
Element X Android (website)
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
Jorge announces
This week on Android we've been focusing on ironing out several critical bugs:
- We had crashes in async Rust functions caused by a bug in the included Rust SDK version.
- Rust and Android logs weren't being properly formatted and sent in rageshakes.
- Fixed several stability issues around the sync process.
- Notifications should now be more reliable, and we also don't display fallback notifications anymore for events that couldn't be fetched by the Rust SDK.
In other news, we've also:
- Worked in standardising our design components following Compound, so you'll notice several UI and UX changes that should make Android, iOS and web look more consistent.
- Started bringing polls to EAX.
- Made the initial planning for integrating Element Call into the app.
Element Web/Desktop (website)
Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!
Danielle reports
- This week on Web… We’ve been making progress on our updates to the room header and right panel. Check out our changes by using the Labs flag from Element Nightly or Develop.
- We’re aiming to simplify our product in order to make it more accessible and user friendly overall. It’s an exciting time and evolution.
- We’re working on stuck notifications; this week turning our attention to the automated tests. Ensuring that tests are set up and clearly define the behaviour that we want means that it’ll be easier for us to identify missteps in the future.
Dept of VoIP 🤙
Element Call (website)
Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone web app
Florian Heese reports
Hello from the VoIP team
We have a new Element Call release v0.4.3. This time we concentrated mainly on bug fixes and polishing:
- fixing device selection bugs
- preventing devices from sleeping during calls
- Starting large calls auto-muted
Wait there is one more thing: We added the foundation for (media) end-to-end encryption which you can find and test in the developer settings. You can expect a major UX rework supporting proper end-to-end encryption handling soonTM.
Dept of SDKs and Frameworks 🧰
Trixnity (website)
Multiplatform Kotlin SDK for Matrix
Benedict reports
Trixnity v3.10.0 has been released.
features/improvements:
- Added
Room::createEventContent
to get some common information about the room like room version or room type- Added
Room::lastRelevantEventTimestamp
to sort rooms without fetchingTimelineEvent
s.- Removed async transactions. They were introduced, because realm only supports one transaction at a time. They led to some consistency issues, so they were removed. Another workaround for realm was found.
- Reworked the cache (now called
ObserveableCache
) to be way more memory efficient and therefore faster (a former rework in v3.7.0 still had some memory issues)
matrix-rust-sdk (website)
Next-gen crypto-included SDK for developing Clients, Bots and Appservices; written in Rust with bindings for Node, Swift and WASM
Jonas Platte announces
New features:
- Added support for MSC3814 - Dehydrated devices v2
- Added
RoomList::entries_with_dynamic_filter
- Get the user-defined notification mode for a room and all rooms for which a user-defined rule exists
- FFI: added an optional file layer for tracing
- FFI: Allow sending polls
Bug fixes:
Dimension (website)
An open source integration manager for matrix clients, like Element.
TravisR reports
Dimension is archived
Unfortunately, I haven't had time in the last 1-2 years to maintain Dimension, and so it's been archived. Community members may have been aware that it's not been receiving maintenance for quite a while now, but the last step was to formally archive the project.
For those not familiar, Dimension is (was) an integration manager: a UI for managing room-level integrations supported by Element. Typically available via "Add widgets, bridges & bots", the integration manager provides an easier way to configure such things, though the default one in Element does not support self-hosted bots & bridges at the moment.
With this news, it's strongly recommended to not deploy Dimension in your infrastructure: there's more than 1 year's worth of undiagnosed security issues, and the project doesn't even run in most cases. Unfortunately, there are no open source alternatives at the moment either. Others are welcome to start their own replacement project, and I'd suggest not using Dimension as a base to get away from years of bad code/technical debt (sorry).
Chances are you don't need an integration manager though:
- Widgets can be added to rooms with Element Web/Desktop with
/addwidget
- Self-hosted bots and bridges can be managed entirely by commands
- Stickers are best supported by https://github.com/maunium/stickerpicker and alternative clients like Nheko
If you have questions or concerns, #dimension:t2bot.io will live on as a room, but support will not be provided.
Dept of Services 🚀
etke.cc (website)
Your matrix server on your conditions
Aine announces
Hey TWIM, long time no see!
etke.cc service update is here.
A while ago, we started providing
etke.host
subdomains for free for new orders. You want a matrix server but don't have a domain name? Sure, get ayourname.etke.host
subdomain when you order a matrix server from us with no additional fee, works both for on-premises and cloud/hosting setups.Now we're extending that subdomain offering - the new
onmatrix.chat
domain is available for order for new customers. From now on, you can get a matrix server with MXIDs like@john:doe.onmatrix.chat
with no extra fee.Get your own matrix server and follow the #news:etke.cc for updates
Dept of Events and Talks 🗣️
Matrix Community Summit Berlin
Christian Paul (jaller94) says
With 6 weeks until the Summit in Berlin, get a ticket now. https://tickets.summit2023.matrixmeetup.de/matrix-salon/summit2023/
Looking for sponsors
Our expenses are mostly food and drinks. If the Summit is relevant to your work, please ask your employer to buy a ticket for you or to become a sponsor. Sponsors will allow us to pay for the drinks at the c-base bar, have a BBQ at c-base and invite everyone for dinner as a networking event. Furthermore, we're looking for a Media Sponsor to rent video and audio recording equipment for expert interviews, discussing projects presented at the event.
Call for participation (1 week left)
Also, we're still looking for people to give talks or workshops about their projects and Matrix use cases. Are you developing an interesting client, bot or library? Have you found ways to make hosting, monitoring or moderating Matrix servers easier? Please share your knowledge on the two conference days (Friday and Saturday)! Please submit proposals at https://summit2023.matrixmeetup.de/conference/
Summit overview
Thu, 21st Sep - Barcamp (= attendees suggest and vote for topics to discuss in the morning of the day; then we split up in groups according to our interests) Fri + Sat, 22nd and 23rd Sep - Conference Sun, 24th Sep - Open Door Day (c-base will be open for open discussions and collaboration)
Greetings from FrOSCon!
HarHarLinks reports
Last weekend (August 5-6), the Free and Open Source Conference took place at the University of applied Sciences Bonn Rhine Sieg.
We had an awesome time and it was great to see everybody in person!
There were a lot of spontaneous amendments to our programme, including a presentation streamed through Element Call! We thank everybody involved:
- Our own devroom VOC team, thanks to whom we will be able to provide video recordings of most sessions for anyone who could not attend in person! Slides are already mostly available and videos will be as soon️™️ as they are ready, watch this space!
- Everybody answering questions and selling
[matrix]
merch at the stand!- The whole FrOSCon crew for allowing us to be a part of this event!
- Of course, all of the speakers and presenters involved!
- Last but not least, everybody attending!
Join us in our FrOSCon Matrix room for discussion and see you next time: #FrOSCon:fiksel.info
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