Hubert Chathi

10 posts tagged with "Hubert Chathi" (See all Author)

This Week in Matrix 2023-08-25

25.08.2023 00:00 — This Week in Matrix Hubert Chathi

Dept of Spec 📜

TravisR announces

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:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Accepted MSCs:

Merged MSCs:

Matrix 1.8 is here!

If you haven't yet seen the blog post, check it out. Room version 11 is new in this release, and we've already got an idea for what Matrix 1.9 looks like :)

New MSCs in detail

In this new segment, we aim to give a bit more context as to why an MSC was opened, beyond what is available in the MSC's introduction.

MSC4049 is highly experimental investigative work into what it would take to support making messages as appearing to be sent by a room or server instead of a user. There are some use cases highlighted in the MSC itself, but the primary driving factor is a point of relatively minor feedback from the MIMI working group: "does sender really need to be a user ID?". The spike-shaped experiment overlaps heavily with both crypto IDs and pseudo IDs by accident, but might help inform those two projects via MSC4047 and MSC4046. Currently there is not a plan to push any of the 3 MSCs towards FCP, though feedback is very much welcome on how the stack feels.

MSC4048 is part of the crypto team's mission to improve encryption across all of Matrix, with this particular MSC looking to improve the trustworthiness of key backups. Watch this space for updates as the MSC progresses, and please provide feedback on the proposal itself.

Dept of Servers 🏢

Synapse (website)

Synapse is a Matrix homeserver implementation developed by the matrix.org core team

Shay announces

This week we released 1.91.0rc1. Highlights include:

  • Implements an admin API to lock an user without deactivating them. Based on MSC3939
  • Fix performance of state resolutions for large, old rooms that did not have the full auth chain persisted
  • Fix a bug introduced in 1.87 where synapse would send an excessive amount of federation requests to servers which have been offline for a long time
  • Allow customising the IdP display name, icon, and brand for SAML and CAS providers (in addition to OIDC provider)

and 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.

Dendrite (website)

Second generation Matrix homeserver

Devon Dmytro announces

This week we released v0.13.2. Here are a few of the highlights:

Features:

  • Further improvements and fixes for MSC4014: Pseudonymous Identities
  • Space summaries (MSC2946) have been moved from MSC to being natively supported
  • The default room version to use when creating rooms can now be configured using room_server.default_room_version

Fixes:

  • Migrations in SQLite are now prepared on the correct context (transaction or database)
  • Event size checks are more in line with Synapse
  • Getting local members to notify has been optimized, which should significantly reduce memory allocation and cache usage
  • Background federated joins should now be fixed and not timeout after a short time
  • Database connections are now correctly re-used

...and a whole lot more. Check out the release notes for the full set of changes! As always, feel free to stop by #dendrite:matrix.org to join in on the discussion and if you encounter a bug make sure to report it here.

Dept of Clients 📱

Neochat (website)

A client for matrix, the decentralized communication protocol

Carl Schwan announces

This week we released a new major version for NeoChat as part of the KDE Gear 23.08 release. This will be likely the last version using Qt5.

NeoChat received a full visual overhaul of its user interface, which should make it looks a lot cleaner. The timeline bubbles use nicer shadows, we revamped the room list style and improved the notification images to display both the user and the room avatar at the same time. Read markers from the other participants in the room will be displayed in the timeline. The right sidebar which displays the list of participants and the room information now has a special look for direct chats and the whole sidebar is scrollable now instead of just the participants list.

Apart from a visual overhaul, NeoChat can now display location events and also a map with the location of all the users currently broadcasting their location using Itinerary's Matrix integration. Great for locating where your friends are.

We also made it possible to send stickers and the existing custom emoji editor now lets you add new custom stickers too. Finally, we improved our development tools, which allow users to inspect the state of a room and fixed a lot of stability issues all other the place.

https://kde.org/announcements/gear/23.08.0/

Ement.el (website)

Matrix client for Emacs

alphapapa reports

Ement.el, a Matrix client for the GNU Emacs text editor and Lisp environment, has been released at v0.11. Changes since the last version include:

Additions

  • Commands ement-room-image-show and ement-room-image-scale (bound to RET and M-RET when point is at an image) view and scale images. (Thanks to Steven Allen for these and other image-related improvements.)
  • Command ement-room-image-show-mouse is used to show an image with the mouse.

Changes

  • Enable image-mode when showing images in a new buffer. (Thanks to Steven Allen.)
  • Command ement-room-image-show is not used for mouse events.
  • Show useful message in SSO login page.

Fixes

  • Allow editing of already-edited events.
  • Push rules' actions may be listed in any order. (Fixes compatibility with v1.7 of the spec. Thanks to Steven Allen.)
  • Call external browser for SSO login page. (JavaScript is usually required, which EWW doesn't support, and loading the page twice seems to change state on the server that causes the SSO login to fail, so it's best to load the page in the external browser directly).
  • Clean up SSO server process after two minutes in case SSO login fails.
  • Don't stop syncing if an error is signaled while sending a notification.
  • Command ement-room-list-next-unread could enter an infinite loop. (Thanks to Visuwesh and @mrtnmrtn:matrix.org.)
  • Events in notifications buffer could appear out-of-order. (#191. Thanks to Phil Sainty.)

Internal

  • The ement-read-receipt-idle-timer could be duplicated when using multiple sessions. (#196. Thanks to Phil Sainty.)

Feel free to join us in the chat room: #ement.el:matrix.org!

Element X iOS (website)

A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.

Ștefan reports

  • This week we continued our foray into OIDC and we’re making very good progress, it won’t be long now
  • There’s a brand new user-defined notification settings screen 👏
  • We also built the underlying structure for what’s going to become mention pills
  • Deep dove into startup performance and made sure that the rooms load in 0.1 shakes of a lamb's tail
  • plus tackled a significant number of bugs, developer experience improvements and testing additions

Element X Android (website)

Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose

benoit announces

  • OIDC has been integrated into Element X Android. Users using a compatible server should be able to sign in using this solution. You can test it using the latest nightly build.
  • In the meantime we are still stabilising the application
  • Work on polls has made big steps, as well as integrating the Rich Text Editor.
  • Coming soon: Account setup screen, displayed the first time the user signs in to an account, since the very first sync performed by the sliding sync proxy may still take time for big accounts.
  • Regarding the release, we will make an update of the open testing version, and move it to production in the coming days if we’re happy with it.

Element Web/Desktop (website)

Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!

Johannes Marbach says

  • Progress on stuck notifications, sadly, slowed down a little this week as we've been busy with maintenance and infrastructure issues.
  • Our work around using Compound components in the room header continues. We've finished up the avatar component changes and dealt with some of the expected / unexpected fallout from making app-wide changes.
  • Finally, we also proceeded moving from Weblate to Localazy for our translations. We've reduced the number of source strings by using built-ins for language names and similar things and started realising string reuse with the Element X mobile apps.

Dept of Non Chat Clients 🎛️

KDE Itinerary

Carl Schwan reports

KDE Itinerary is a digital travel assistant that protects your privacy. It makes collecting all the information about your travel inside a single application easy and straightforward. KDE Itinerary is available for Plasma Mobile and Android. We release Itinerary at the same time as NeoChat, and in this release, apart of the integration of many more transport providers, it lets you connect your Matrix account with Itinerary to share your live location inside a Matrix room based on the on-board APIs from your train or flight.

Itinerary broadcasts the position, as specified in the relevant MSCs, and extends it with the direction the user is headed towards.

About this release: https://kde.org/announcements/gear/23.08.0/#itineraryhttpsappskdeorgitinerary More information about Itinerary: https://kde.org/for/travelers/#kde-itinerary

Dept of SDKs and Frameworks 🧰

Trixnity (website)

Multiplatform Kotlin SDK for Matrix

Benedict reports

Trixnity v3.10.3 has been released with some minor improvements and a fix of a long standing (March 2023) bug.

improvements:

  • move [Event] extensions from trixnity-client to trixnity-core
  • server discovery fallback when no .well-known exists

bugfixes:

  • fix wrong check of mac in sas verification (failed, when other client accepts emojis first)

Dept of Ops 🛠

matrix-docker-ansible-deploy (website)

Matrix server setup using Ansible and Docker

Slavi reports

Thanks to Johan Swetzén's efforts (who finished what was started by James Reilly and Shreyas Ajjarapu), matrix-docker-ansible-deploy now supports bridging to Android SMS and Apple iMessage via the mautrix-wsproxy service (in combination with a mautrix-imessage bridge running on your Mac or Android phone).

See our Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage documentation page for getting started.

Dept of Services 🚀

etke.cc (website)

Your matrix server on your conditions

Slavi reports

TLDR: Bring-your-own-server orders on etke.cc no longer incur a one-time setup fee ($50) as part of a pricing change experiment, thus making Matrix hosting with us more accessible and encouraging more people to host on their own server. Additional details are below.

At etke.cc, we're working on a new ordering form, new services and pricing changes to match. We're always trying to cut down costs and to make prices more fair - smaller/simpler setups costing less, while orders with many components (requiring more work to setup and to support) having a higher cost.

At the same time, we're working on automating more of the order-handling flow and of server maintenance, so that we can keep costs low for everyone.

While all these changes are still being worked on (coming soon!), we'd like to announce another change - the experimental removal of the $50 one-time setup fee that we used to charge for Bring-your-own-server orders. With this fee removed, we're aiming to encourage more people to try Matrix on their own server (on-premise or rented from any provider in any location), as opposed to renting Hetzner Cloud servers out through us via our Turnkey offering.

While our Turnkey offering (optionally combined with hosting on a domain of ours like YOU.etke.host or YOU.onmatrix.chat) is still the easiest way to get started, we'd like to promote our more-independent and vendor-lock-in-free Bring-your-own-server offering more.

Bring-your-own-server orders are more difficult/costly for us to process compared to hosting Turnkey servers that we are in complete control of, so removing the one-time setup fee may come back to bite us through an influx of many and difficult to process orders. For now, we've decided to take this risk and see how it goes. If you've been wishing to host Matrix via etke.cc but this fee was holding you back, now is your chance!

Dept of Bots 🤖

Dominik reports

MatrixJoinLink is bot that allows the creation of invite links to non-public rooms in matrix.

Two weeks ago, I've mentioned the bot the first time in TWIM. Since then, I've made several improvements regarding UX. Now I'm happy to announce the next (probably interesting) version of the bot has been released (Release 0.10.0). Additionally, I've added more pictures of the workflow & technical details to the README of the project; so take a look at it if you like :)

The most important change is the new link command and more detailed error responses to the users (e.g., if permissions are missing). It was not that easy to create an invite link for a space without using development tools in Element to send messages in the space room itself. Thus, I've extended the link command of the bot: You can now send a message like !join link !internal.roomId A fancy link name in order to create an invite link to the room with the mentioned internal id (actually, a matrix.to link will also work as long as it contains the internal id of the room).

So, feel free to test the bot and raise any issue using GitHub or using the development room that is mentioned in the project's README.

Dept of Events and Talks 🗣️

Matrix Community Summit 2023

HarHarLinks reports

The Matrix Community Summit 2023 🗻 is taking place September 21st through September 24th (in 4 weeks!!!) at the awesome hacker space station c-base! That time seems to be approaching quite fast, so we just published the first version of the schedule which you can view online here or import to your schedule consuming apps.

Join the event space #matrix-community-summit-berlin-2023:matrix.org for all related rooms including news and general discussion, car pools and room shares, etc. If you can and want to help out with the event organisation, join the Matrix Community Summit Orga!

Tickets 🎫 are now available! In order to be able to provide food and drinks for everyone during the whole event, we are counting on Matrix businesses and professionals to buy our supporter tickets. Specific sponsoring packages are also available. Beyond that, we are looking for a "Media Sponsor" to step up, which would enable us to produce media coverage of the event.

Similar to last year, T-Shirts 👕 commemorating the event will be available again and you can already pre-order them with your tickets, with more details following soon.

The call for participation 🗣️ ended last Sunday (August 20th), however if you missed it until now and just came up with the greatest new idea, don't hesitate to contact us at Matrix Community Summit Orga and we will see how we can squeeze you in.

See you soon in Berlin!

That's all I know

See you next week, and be sure to stop by #twim:matrix.org with your updates!

This Week in Matrix 2023-08-11

11.08.2023 00:00 — This Week in Matrix Hubert Chathi

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:

MSCs proposed for Final Comment Period:

MSCs in Final Comment Period:

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 rooms

and 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 and 1.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 mis-steps 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 fetching TimelineEvents.
  • 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:

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 a yourname.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!

This Week in Matrix 2023-07-21

21.07.2023 00:00 — This Week in Matrix Hubert Chathi

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://spec.matrix.org/proposals.

MSC Status

New MSCs:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Accepted MSCs:

Closed MSCs:

  • No MSCs were closed/rejected this week.

Spec Updates

This week we have been preparing for IETF117, Matrix 1.8, Matrix 1.9, and Messaging Layer Security (MLS) for Matrix. Most of our work on globally interoperable communications is ongoing through the More Instant Messaging Interoperability (MIMI) working group at the IETF, and will be making significant strides in the coming days as we head to the IETF117 hackathon and meetup.

Over the last few months we've been working on a version of Linearized Matrix which supports the simplicity of linear event history while being fully compatible with today's Matrix network, and while we think that the 03 draft we wrote up accomplishes a lot of this, there's further work to be done to make it cleaner and easier to use. We've also been writing implementations of it to prove the semantics (and find areas which need improvement), starting with our cleanroom eigen-server TypeScript implementation and interoperating it with a branch of Synapse. During IETF117 we expect more implementations to sprout and have their interoperability tested - watch this space for updates on how that goes.

Aside from IETF117, we're continuing to look at the previously-selected Matrix 1.8 MSCs for release in mid-late August 2023. This might be slow over the next couple of weeks while half of us are at IETF117, but expect more forward progress when we get back. Matrix 1.9 is scheduled to be released sometime in November 2023, and a few months ago we said we were aiming to plan ahead for releases a bit more deliberately. Starting this week, we're accepting submissions for ideas and specific MSCs which need our attention in Matrix 1.9. If you have an MSC (current or future) which will need Spec Core Team (SCT) attention between August 2023 and November 2023, let us know in the SCT Office room. Once Matrix 1.8 is released (exact date TBD) we will have limited availability to add things to the Matrix 1.9 target - please raise your MSCs & themes as soon as possible. The current set of MSCs up for consideration can be found on the SCT Intake Board.

If you've made it this far in our weekly update, congratulations, and thank you. We expect things will rapidly start to happen with IETF117 kicking off tomorrow (July 22, 2023), and we will do our best to keep folks updated. Next week's TWIM in particular will have a post-IETF117 debrief for your reading enjoyment :)

As always, if you have any questions or concerns about what we're working on, visit the SCT Office and let us know. We can't promise a prompt reply (particularly during IETF117), but we will take a look when we can.

Random MSC of the Week

The random MSC of the week is... MSC3105: Previewing UIA flows!

This MSC addresses a shortcoming in the current User-Interactive Authentication (UIA) mechanism where attempting to deduce the required authentication flows for an action will result in that action being carried out if it turns out no flows were required. This makes it tricky for a client to present a "are you sure you want to do X?" as a final step in completing an action that requires authentication.

The proposals aims to allow an OPTIONS pre-flight HTTP request to the same endpoint in order to retrieve the flows necessary, without actually carrying out the action. The proposal does note that using OPTIONS for this case is a bit non-standard though, and some clients may treat the typical 401 error code returned during User-Interactive Auth as a fatal error.

While this does address a flaw in the UIA system, it's worth noting that many other flaws exist! Matrix is planning to move over to an OpenID Connect-based authentication system in the not too distant future, which will likely have far fewer edge cases than our traditional, home-grown one. You can visit https://areweoidcyet.com/ for more information and to track the current progress on that front.

Dept of Servers 🏢

Synapse (website)

Synapse is a Matrix homeserver implementation developed by the matrix.org core team

Shay reports

This week we released 1.88.0. First, an announcement: Please note that this release

  • raises the minimum supported version of Python to 3.8, as Python 3.7 is now end-of-life and
  • removes deprecated config options related to worker deployment.

See the upgrade notes for more information. Now the highlights:

  • Remove deprecated worker_replication_host, worker_replication_http_port and worker_replication_http_tls configuration options.
  • Pin pydantic to ^=1.7.4 to avoid backwards-incompatible API changes from the 2.0.0 release
  • Correctly resize thumbnails with pillow version >=10
  • Add not_user_type param to the list accounts admin API
  • Use lower isolation level when cleaning old presence stream data to avoid serialization errors

and 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.

Dept of Bridges 🌉

mautrix-gmessages

tulir announces

There's a Google Messages bridge now for bridging RCS (and normal SMS/MMS too): https://github.com/mautrix/gmessages

Since Google's RCS is basically completely proprietary and doesn't have any real interoperability (despite what they want you to think), the only way to bridge it is to act as the Messages for Web app. It's also a much more reliable way of bridging SMS from an Android phone, because the Messages app on Android has access to all of Google's cheat codes to avoid being killed/limited by the OS.

Dept of Clients 📱

FluffyChat (website)

Krille-chan reports

FluffyChat took a little development break to migrate to Github. However I hope that this improves some flows after all and makes releases more stable in the future. Stay tuned ❤️

Element X iOS (website)

A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.

Ștefan says

We're continuing our bug fixing spree following the App Store release:

  • massive improvements to the timeline and message rendering
  • redaction is now supported for group moderators
  • fixed bugs around pasting media into the message composer
  • blocked members are now updated accordingly
  • improvements to how to exercise the sync loop
  • fixed thumbnails for portrait videos
  • fixed alert and dialog tint colors throughout the app
  • fixed tint colors in dark mode
  • fixed incorrect file reply icons
  • and we have promoted location sharing from behind a feature flag and made it available to all

Element X Android (website)

Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose

benoit says

  • We’re working with Google to get our first version of Element X published on the play store!
  • We’re making steady progress with push notifications, our current task is to be testing to ensure the best experience possible for users of the app.

Element Web/Desktop (website)

Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!

Danielle announces

  • Stuck notifications improvements are here! We’re making some significant improvements in the area of stuck notifications that some users have been experiencing. We aren’t taking our foot off the pedal though, we still have some pesky things to iron out and are continuing to work on these.
  • For our accessibility work, we’re making great progress on color this week. If you use our Develop or Nightly instances you’ll have seen the changes already. We’re increasing contrast throughout the app, improving legibility and reducing eye strain.

Dept of Encryption 🔐

Messaging Layer Security

uhoreg reports

Messaging Layer Security (MLS) is now RFC 9420! MLS is an IETF standard for end-to-end encryption in messaging systems. You can read the Matrix.org Foundation's blog post about the publication of MLS at https://matrix.org/blog/2023/07/a-giant-leap-with-mls/, and the IETF's blog post at https://www.ietf.org/blog/mls-protocol-published/. We've been working on integrating MLS into Matrix via a proof-of-concept implementation in Element Web. We have basic functionality working, and even key backup is working. You can read more about our progress and view demo videos at https://arewemlsyet.com.

Dept of SDKs and Frameworks 🧰

Trixnity (website)

Multiplatform Kotlin SDK for Matrix

Benedict announces

I fixed two bugs with Trixnity 3.7.1 and 3.7.2 and introduced RoomService::canSendEvent as easy power level check (e. g. matrixClient.room.canSendEvent<NameEventContent>(roomId)). Currently I'm working on matrix 1.7 compatibility.

Dept of Ops 🛠

matrix-docker-ansible-deploy (website)

Matrix server setup using Ansible and Docker

Slavi says

Thanks to Michael Hollister from FUTO, the creators of the Circles app, matrix-docker-ansible-deploy can now set up matrix-media-repo.

To learn more see our Storing Matrix media files using matrix-media-repo documentation page.

Slavi also announces

Thanks to Shreyas Ajjarapu's efforts, matrix-docker-ansible-deploy now supports bridging to Google Messages via the mautrix-gmessages bridge.

See our Setting up Mautrix Google Messages bridging documentation page for getting started.

Dept of Services 🚀

Matthew says

wordpress is now running an official community Matrix server! https://make.wordpress.org/meta/2023/07/20/matrix-chat-summary-july-20-2023/

Dept of Bots 🤖

flip-matrix-bot (website)

A Matrix bot for the Friendly Linux Players community.

HER0 reports

The greeter function of the bot now takes a guess at whether a new room member is a guest and sends a different welcome message. This aims to explain that the session does not persist, and that they may create a new account if they want.

Dept of Events and Talks 🗣️

Matrix @ FrOSCon

HarHarLinks says

TLDR: Preliminary schedule of the whole conference, including our Matrix devroom (C120), is now online: Saturday / Sunday

On August 05-06 the annual Free and Open Source Conference (short FrOSCon) will take place at the German University of applied Sciences Bonn Rhine Sieg. A small team of volunteers from the community has gotten together to organize both a Devroom and a Booth/Stand.

There will be plenty of talks, presentations and workshops about Matrix and lots of surrounding things too, such as talks about open source in German public administration which often includes Matrix. Did you miss our CfP deadline but still have an idea for something you want to present? Get in touch with us at #FrOSCon:fiksel.info.

We might have some shop.matrix.org merch and other things available at the stand - contact us at #FrOSCon:fiksel.info for reservations.

You're attending and want to link up to other Matrix geeks or just other attendees in general? Also join us at #FrOSCon:fiksel.info!

Dept of Interesting Projects 🛰️

Matthew reports

cool use of Matrix for comms within a hacked Google Nest Mini: https://twitter.com/justLV/status/1681377298308820992

Dept of Guides 🧭

Matrix Client Tutorial

uhoreg reports

I've just posted the initial version of the Megolm encryption/decryption section of my Matrix client tutorial. The Megolm section alone is longer than the entirety of the current End-to-End Encryption implementation guide, which, depending on your point of view, could be either a good thing or a bad thing. The next section I'll be working on will be Olm encryption/decryption. The tutorial is available at https://uhoreg.gitlab.io/matrix-tutorial/index.html, and the Megolm section is at https://uhoreg.gitlab.io/matrix-tutorial/megolm.html. The source code is at https://gitlab.com/uhoreg/matrix-tutorial.

Matrix in the News 📰

HarHarLinks announces

BWI, maker of BwMessenger (for German armed forces) and BundesMessenger based on and in collaboration with Element, in an interview with German IT news heise https://www.heise.de/hintergrund/Interview-Ueber-den-Bundeswehr-Messenger-und-warum-Open-Source-wichtig-ist-9217085.html

Matthew reports

also an interview with me in Heise: https://www.heise.de/hintergrund/Sichere-Messenger-fuer-alle-Matrix-Gruender-im-Interview-9220484.html

That's all I know

See you next week, and be sure to stop by #twim:matrix.org with your updates!

A giant leap forwards for encryption with MLS

18.07.2023 14:00 — Encryption Matthew Hodgson

Hi all,

Given our commitment to open standards and interoperability, we’re delighted to see MLS be ratified by the IETF as RFC9420.

MLS is a new encryption standard defined by the IETF, the standards body that maintains much of what makes the internet work. In the same way that Transport Layer Security (TLS, another IETF standard) defines the way to provide encryption between users and servers, or between two different servers, MLS provides a standard way for users of a messaging service to communicate securely without servers being able to eavesdrop on their conversations.

Continue reading…

This Week in Matrix 2023-07-14

14.07.2023 00:00 — This Week in Matrix Hubert Chathi

Matrix Live

Dept of Spec 📜

Andrew Morgan (anoa) announces

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:

MSCs in Final Comment Period:

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

  • No MSCs were closed/rejected this week.

Spec Updates

Not a lot to say this week. The Spec Core Team is humming along with review, while we also wait for progress of various MSCs from their authors. The full list of what's in flight can be found in this week's Tuesday ping in the Office of the Spec Core Team room.

IETF and MIMI work is still continuing on in the background. Look out for a TWIM in the near future for an update to progress on that front!

Random MSC of the Week

The random MSC of the week is... MSC3192: Batch state endpoint!

This MSC defines an endpoint to send lots of state (max 50 at once) into a room in one go. This sounds useful for all sorts of tasks, and it's a wonder that it hasn't come up before.

If that sounds like an endpoint you'd like to go, give feedback on the MSC linked above!

Dept of Servers 🏢

Synapse (website)

Synapse is a Matrix homeserver implementation developed by the matrix.org core team

Shay announces

This week we released 1.88.0rc1. First, an announcement: Please note that this release

  • raises the minimum supported version of Python to 3.8, as Python 3.7 is now end-of-life and
  • removes deprecated config options related to worker deployment.

See the upgrade notes for more information. Now the highlights:

  • Remove deprecated worker_replication_host, worker_replication_http_port and worker_replication_http_tls configuration options.
  • Remove support for Python 3.7 and hence for Debian Buster.
  • Correctly resize thumbnails with pillow version >=10
  • Add not_user_type param to the list accounts admin API

and 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.

Dept of Clients 📱

iamb

ulyssa announces

iamb (website), a terminal-based Matrix client that uses Vim keybindings, had a new release this past week. Release v0.0.8 includes:

  • Pasting images from the "* clipboard register
  • A new :leave command to leave rooms
  • Configure how usernames are displayed
  • Configure an external command for opening downloads
  • Restore layout on restart, or from config.json
  • Completing Emoji shortcodes in the message bar

Quaternion (website)

A Qt5-based IM client for Matrix

kitsune reports

Quaternion 0.0.96 beta 3

One more iteration on the way to the final release is published. Two biggest changes are in dependencies: unlike the previous iteration that used Qt 5 and libQuotient 0.7.x, beta 3 requires Qt 6 and libQuotient 0.8.x. On top, AppImages for Linux are no more published, giving way to Flatpak. If you want Qt 5 or AppImages back, say so in #quaternion:matrix.org, otherwise the final release will cement these decisions!

Not many changes in the functionality otherwise; but you can now switch E2EE on or off per-account at runtime, rather than across the board at compile time. Check out the release notes at the usual place; and if you're on Linux and want a flatpak, it's already there in the beta channel at Flathub.

Element X iOS (website)

A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.

Doug reports

  • Notifications are cleared from Notification Centre when marked as read.
  • Room notification settings are starting to take shape.
  • Laying the groundwork to support animations in the timeline.
  • Adopting the latest and greatest features from the Rust SDK.
  • Much work has been put into improving the reliability of our Tests.
  • Bug fixes galore! Thanks for all your feedback following our App Store release.

Element X Android (website)

Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose

Jorge reports

  • This week we have been polishing the app, getting rid of lots of minor issues so the app is as stable as possible, improving the performance of the timeline, fixing bugs in notifications and improving the overall UX of the app.
  • There is now an Element X Android room where discussion is happening for those brave enough to either build their own versions of the app or download them from our CI! Just keep in mind that it's still a work in progress and the apks are built in debug mode so performance can be quite bad especially when scrolling, as they don't have any performance optimizations and contain lots of debug tooling.

Element Web/Desktop (website)

Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!

Johannes Marbach says

  • We’re continuing to invest into fixing stuck notification issues. This week, we’ve landed a fix on develop that sends read receipts for thread roots on the main timeline rather than in the thread (which Synapse rejects). We’ve also opened another MSC to clarify what timeline we think thread roots belong in to to help with this problem in future.
  • Our notification settings work is set up for shipping in labs next week
  • On the Compound side we’ve made fix-ups around the typography update and landed a first version of accessible colour updates on develop. Meanwhile, we’ve started exploring the future of theming.
  • Last but not least, we merged the OIDC-native login functionality and have switched to a different OIDC library do help facilitate upcoming changes

Element iOS (website)

Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!

Doug says

This week we disabled the Share and Siri extensions along with replying from a notification to work around a bug where our current use of app extensions causes corruption in the Rust crypto layer. Sharing is still available from within the app and Siri can be invoked from the keyboard, but we are aware this isn’t ideal.

Dept of SDKs and Frameworks 🧰

Matrix-nio

Paarth Shah reports

matrix-nio 0.21.0 A new version of matrix-nio has been released, with some fantastic new features, and some breaking changes! Full details can be found in the changelog, but as for some highlights:

  • Adding support for Space Parent/Child Events
  • Adding support for knocking on rooms, and enabling room knocking on existing rooms
  • Switching from logbook to the standard library logging module
  • Dropping support for end-of-life python3.7

Trixnity (website)

Multiplatform Kotlin SDK for Matrix

Benedict announces

The next Trixnity version has been released. It includes some major performance and internal improvements as well as some cool new features.

performance improvements:

  • lots of performance improvements in the cache leading to faster sync processing and significant less RAM usage
  • prevent unnecessary reads from repository
  • small performance improvements for realm

features:

  • allow to forget rooms (delete room specific content from database and cache) -> rewrite of the cache to allow indexes
  • PowerLevelsEventContent with type safe "events"-field (e. g. allow content.events.get<MessageEventContent>() additionally to the old way content.events["m.room.message"])
  • Introduce module trixnity-crypto-core and replace native crypto algorithms using native APIs (CoreCrypto on apple and OpenSSL on linux/mingw targets)
  • Own SecureRandom implementation using native APIs
  • MatrixClient handles own CoroutineScope
  • upgrade logging (requires SLF4J 2)
  • unified test suite for repositories (it makes adding new repository implementations significantly less time-consuming, because no tests need to be written)

bugfixes:

  • rollback realm transactions on exceptions
  • fix possibly broken media files

Dept of Bots 🤖

flip-matrix-bot (website)

A Matrix bot for the Friendly Linux Players community.

HER0 says

The bot gained a bit more reliability, as in-room event reminders are now sent as expected, even if the bot was restarted just before the event reminder was supposed to be triggered. Before, reminder logic was calculated based on the current local time, not the time that the event was actually scheduled at, and that would prevent some notifications from being sent.

The GitLab project path was also changed, so that it now exists within the bots subgroup of the Friendly Linux Players group. The main reason for this was to create a separate documentation project that can live alongside the main project in the hierarchy. The documentation is not too interesting to look at yet, but there are plans to provide details within them on how to use the bot in Matrix, run the bot, and contribute to the bot and/or documentation.

On the website side, some server-side and client-side caching, related to events (scheduled by the bot), has been implemented/fixed. This results in load times that are potentially multiple orders of magnitude faster! I'm really glad that I got around to addressing this, as the site feels super snappy now, in comparison.

That's all I know

See you next week, and be sure to stop by #twim:matrix.org with your updates!

This Week in Matrix 2023-05-26

26.05.2023 20:49 — This Week in Matrix Hubert Chathi
Last update: 26.05.2023 20:24

Matrix Spec (website)

uhoreg announces

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:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

Spec Updates

We released version 1.7 of the Matrix Spec on Thursday. This release features media repository improvements and reactions. Thank you to all who contributed to this release, whether through writing or reviewing MSCs, writing spec PRs, or finding spec bugs. And congratulations to those who had their first MSC make it to the release. Read the blog post for the full details.

We're in the process of working out what Matrix 1.8 looks like and need to hear what people are working on. If you have an MSC or idea you're planning on looking at in the next 2 months, let us know in #sct-office:matrix.org so we can prioritize it accordingly.

Random MSC of the Week

The random MSC of the week is... MSC3184: Challenges Messages! This feature allows participants in a room to make decisions randomly by playing rock, paper, scissors; flipping a coin; or drawing straws.

Continue reading…

This Week in Matrix 2022-12-23

23.12.2022 19:38 — This Week in Matrix Hubert Chathi

Matrix Live

Matrix Live will be back in the new year.

Dept of Spec 📜

uhoreg 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://matrix.org/docs/spec/proposals.

MSC Status

Merged MSCs:

MSCs in Final Comment Period:

New MSCs:

  • There were no new MSCs this week.

Closed MSCs:

Spec Core Team

Some of the spec core team have been on holidays this week, but we still finished FCP on one MSC, and merged another to the spec. As mentioned in last week's update, progress will be slower over the holiday season, but we'll be back in the new year, working to make Matrix better.

Random MSC of the Week

The random MSC of the week is... MSC2783: Homeserver Migration Data Format! If you're running a homeserver using one implementation, it's currently impossible to switch to a different implementation without losing data. This MSC proposes a file format for exporting data from one implementation and importing it into another.

Dept of Servers 🏢

Conduit (website)

Conduit is a simple, fast and reliable chat server powered by Matrix

Timo on Conduit ⚡️ says

Conduit

If all you wanted for Christmas is a new Conduit release, then I have great news for you:

Conduit v0.5.0 just released and it contains almost everything you wanted:

  • Feature: Restricted room joining !398
  • Feature: Call sd-notify after init and before exit !426
  • Improvement: V9 as default room version !400
  • Improvement: More efficient E2EE key claiming !389
  • Fix: All E2EE problems !393
  • Fix: Infinite room loading !388
  • Fix: Wrong notification rules !405
  • Fix: Wrong notification counts !408
  • Fix: Can't rejoin rooms !399
  • Fix: Fluffychat login works again !391
  • Fix: Starting DMs with Synapse users !390
  • Fix: is_guest for appservices !401
  • Fix: Invites from Dendrite !416
  • Fix: Send unrecognized error for unknown endpoints !397
  • Refactor: Service layer !365

Conduit is getting a lot more usable with this release, the main missing feature is backfill over federation (loading room messages from before your server joined a room). To update conduit, simply stop it, replace the binary and start it again. Also feel free to join #conduit:fachschaften.org and ask questions there

Dept of Clients 📱

Nheko (website)

Desktop client for Matrix using Qt and C++17.

Nico announces

Nheko

This week we sped up search in rooms with a lot of history. We now also don't block the UI during the search of local messages anymore.

Neochat (website)

A client for matrix, the decentralized communication protocol

Tobias Fella reports

Ho ho ho Matrix fans!

It's that time of year again, and we have a special gift for all of you just in time for the holidays: Neochat now supports end-to-end encryption! This is made possible thanks to the release of libQuotient 0.7.

While this feature is still somewhat experimental, it's a big step forward in ensuring the privacy and security of your conversations. Just keep in mind that if your only logged-in client is Neochat and something goes wrong, you might lose your messages.

If you're feeling adventurous and want to try out the new end-to-end encryption feature, you can already get it from Flathub and some distros. We're also working on supporting it in our Windows, Android, and macOS builds, so stay tuned for updates.

And in the spirit of the season, here's a Christmas joke: Why was the JavaScript developer's house cold? Because he left his closure open!

Merry Christmas and happy chatting, everyone!

Element Web/Desktop (website)

Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!

Danielle reports

Element Web/Desktop

Happy Holidays from us at Element! This is our last update for 2022, and it’s a good ‘un.

  • We’re still working on Notifications, reviewing how they work across platforms for new users, and planning the improvements we’re looking to make in the new year. While we look at this user experience holistically, we’re making some subtle changes to the product including removing the bold dot and ordering rooms by activity by default for new users.
  • We’re also continuing to improve the password reset flow so that user’s who can’t remember their passwords have a smoother experience regaining access to their account.
  • And, thanks to a contribution we now have the ability to multi-select members when changing users’ permissions in a room! Head to Room Settings > Roles & Permissions.

In labs (you can enable labs features in settings on develop.element.io or on Nightly):

  • Rich text editor improvements are still coming so be sure to check them out, including updates to emoji handling and inline code formatting.
  • Threads! Threads notifications and performance improvements are landing thick and fast. We’re nearly ready to enable the feature by default and we’ll be excited to do that in the new year.
    • Be sure to check that you’re still in the threads beta for this release as in fixing some bugs your setting may have been changed.

Element iOS (website)

Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!

Danielle says

Element iOS

For our last iOS update of 2022…

  • Element 1.9.14 has been released to the App Store. It enables threads by default for all users and adds a notifications badge to your spaces button.

    • As always, there’s some bug squashing in this release too.
  • ElementX has also seen a lot of improvements this week:

    • We now have support for timeline day separators and read markers
    • There’s an improved and simpler UI for playing videos
    • Connectivity indicators have been added, to show up when the network is offline
    • Along with many others…

In labs:

  • Voice broadcast and the rich text editor are seeing some improvements, be sure to test them out and keep us posted on your feedback.

Element Android (website)

Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!

Danielle announces

Element Android

Happy Holidays! Here’s what’s happened this week:

  • There’s been some bugs and crashes keeping us hard at work this week. Along with some exciting improvements to both Element and Element X. On Element:
    • There are updates to voice broadcast features and users can sign out of other sessions.
    • The colours for pills have been updated and work better in both light and dark mode.
    • Threads improvements have been made and we’re looking forward to enabling this feature by default for all users in the new year.
  • On ElementX we’re moving ahead fast and this week focused our efforts on the Settings pages and the bug reporting functionality (including rageshake detection and screenshot management)

Dept of SDKs and Frameworks 🧰

libQuotient (website)

A Qt5 library to write cross-platform clients for Matrix

kitsune reports

libQuotient 0.7

It took us (yes, us - there's more than one person actively working on the project!) a very long time but libQuotient 0.7.0 is out, with a huge wall of release notes. Big, big, BIG thanks to Carl Schwan and Tobias Fella for their contributions and early adoption of this release in NeoChat (NeoChat maintained compatibility with libQuotient's development branch, along with the stable branch, for quite some time by now). A short summary of most significant things:

  • Requirements: C++20, Qt 5.15 or 6.x
  • E2EE code is now in beta quality, features:
    • sending/receiving new messages
    • getting historical messages where Megolm keys are already loaded
    • encrypting/decrypting attachments
    • device verification (to-device flow only, no in-room verification yet)
  • Individual APIs for m.fully_read and m.read markers
  • Client-Server API backend uses Matrix 1.5 API definitions
  • A complete rewrite of the event types framework to make it truly extensible; you can now add both base classes and specific event types on the client side without touching the library code (the library still provides standard ones)
  • Account registry for multi-account usage; account access tokens and pickling keys are stored with Qt Keychain
  • Sticker events support
  • Pinned messages support
  • First-class support in Network Access Manager for mxc: URLs, to enable showing inline images in messages
  • A lot of code tightening, bug fixing, performance improvements

Merry Christmas and Happy New Year to those who observe those - and hopefully I'll get to my senses and release 0.8 sooner than in another year 🙂

Dept of Bots 🤖

MTRNord reports

Matrix Spam ML

As part of the efforts for working on detecting spam using ML I started to write a moderation bot.

This bot is written from scratch with some design decisions that hopefully will improve usability for both newcomers and seasoned admins.

These decisions are:

  • If an action can be done using a reaction, then it will be done using a reaction.
  • There is a private admin room and a public room for warnings, where admins issue actions. This is meant to serve as a human-readable ban list if admins want to provide this to their users.
  • The bot will at a later point be able to issue reports to server admins via email and matrix easily by allowing admins to just react after doing a ban. The bot will initially ask how to contact a server if it didn't issue a report to the server before. The bot will remember the setting supplied last time for a server and allows updating the settings if they change. These reports will contain a warning that it was issued from the bot and that replies are necessary for it to be properly relayed back to the admins for further questions. These replies will end up as threads in the admin room. Also, as part of the report, the event JSON for the report will be sent with the report to allow server admins to review the case themselves. (This is still WIP)

The warnings also contain a "false positive" action. This is meant to be used to feed back into the used model for further training and improving it.

All in all, I hope to simplify the process of moderation based on what I experienced as an admin. Feel free to chime in at #matrix-spam-ml:midnightthoughts.space to suggest ideas for the bot. At the time of writing, it is still very much a prototype/demo.

The code can be found at https://github.com/MTRNord/matrix-spam-ml/tree/main/bot

Documentation can be found at: https://mtrnord.github.io/matrix-spam-ml/bot

Dept of Ping

Dept of Ping will be back next week.

That's all I know

There will be no TWIM next week, but we'll be back in the new year. Be sure to stop by #twim:matrix.org with your updates!

This Week in Matrix 2022-12-16

16.12.2022 19:51 — This Week in Matrix Hubert Chathi

Matrix Live

Dept of Status of Matrix 🌡️

Matthew announces

BwMessenger (the German Armed Forces' branded version of Element) is expanding to cover the whole of Germany, as BundesMessenger: https://element.io/blog/bundesmessenger-is-a-milestone-in-germanys-ground-breaking-vision. Super exciting to see Matrix spreading throughout the German public sector (as well as Sweden! https://element.io/blog/dsam-och-esam-forordar-matrix-for-saker-och-federerad-kommunikation-inom-sveriges-offentliga-sektor/)

Kim Brose adds

homepage: https://messenger.bwi.de/bundesmessenger, sourcecode: https://gitlab.opencode.de/bwi/bundesmessenger/

Dept of Spec 📜

TravisR announces

The 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

New MSCs:

MSCs in Final Comment Period:

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

Spec Updates

With the year wrapping up, the Spec Core Team has been looking at getting some of the outstanding MSCs landed and ready for spec writing, as well as writing more spec itself. There's also plenty of work behind the scenes on Extensible Events: a mission to redefine how events work within the Matrix ecosystem. Check out MSC1767 and friends for an overview of what this actually entails.

SCT Holiday

We're coming up to some holiday time for the SCT: the spec progress might naturally slow as we all close our laptops, but we'll be back in our full capacity in the new year, working out the next version of Matrix in time for FOSDEM (hopefully) :)

Dept of Servers 🏢

Telodendria (website)

An open source Matrix homeserver implementation written from scratch in ANSI C and designed to be lightweight and simple, yet functional

Jordan Bancino reports

Telodendria

Telodendria v0.1.0 was released earlier this week. This is the very first tagged release, and it is a mostly symbolic release intended to signal that most of the elementary components necessary to construct a Matrix homeserver are now in place, and I'm ready to actually start implementing Matrix API endpoints. In fact, I've already started on the user-interactive authentication API and the registration endpoints, and am making good progress on them.

As always, I could use your help. If you like what's happening, then feel free to spread awareness about the project, come say hi in the Matrix rooms, or send a donation. Again, #telodendria-newsletter:bancino.net has the latest, and now that I'm actually versioning the project, you might be interested in #telodendria-releases:bancino.net, which is a low-traffic room that simply notifies of new releases.

Synapse (website)

Synapse is a Matrix homeserver implementation developed by the matrix.org core team

Shay says

Synapse

How is it Friday already (and the end of the year)?? While the holidays are almost upon us, the team behind Synapse has been hard at work and has released v1.74.0rc1 for your consideration. Some notable features and bugfixes include:

  • Improved user search for international display names
  • The addition of a new push.enabled config option to allow opting out of push notification calculation
  • Fixes for a long-standing bug where a device list update might not be sent to clients in certain circumstances
  • The addition of Single-Sign On setup instructions for Mastodon-based instances

and much, much more! You can take a look here: https://github.com/matrix-org/synapse/releases. A note about the end of the year: With the holiday season coming up we plan to release Synapse v1.74.0 as normal next Tuesday, December 20th, 2022 and then skip releases for the next two weeks, before resuming with v1.75.0rc1 on Tuesday, January 10th, 2023.

Dept of Bridges 🌉

Nico reports

Valheim Matrix Bridge

The bridge now avoids double bridging even with multiple users running the bridge client side. It also prevents historical messages from showing up in Valheim, so that starting the game is less confusing. Last but not least, red_sky (nheko.im) ported the user color algorithm from Nheko, so the colors should now look more familiar instead of being a generic blue.

Dept of Clients 📱

Nheko (website)

Desktop client for Matrix using Qt and C++17.

Nico reports

Nheko

Nheko now prompts you to join the upgraded room, deletes image files you haven't accessed in a month (which freed over 1GB of data on my system) and tries to focus the chat, when you start typing.

LorenDB also added support for confetti messages, although those seem to work only on systems, that are not mine! You can of course turn them off in the settings. :D

Element Web/Desktop (website)

Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org!

andybalaam announces

Element Web/Desktop

We have been working really hard on the 20th December release (with threads on by default! 🎉 🧵 🎉) this week:

  • We did lots of work on threads, and we're ready to turn it on by default!
  • All our code is now automatically formatted with prettier.
  • We made small fixes and improvements to voice broadcasts and device manager.
  • We are making progress on automating the Element Desktop release process.
  • We are investigating performance improvements in matrix-js-sdk.

And if you love to live on the edge, in labs (you can enable labs features in settings on develop.element.io or on Nightly):

  • The rich text editor can now create inline code.
  • Soon, we will have a Favourite Messages screen!

We will skip one release cycle while team members are on holiday, so after 20th December, the next release will be 17th January 2023.

Element iOS (website)

Secure and independent communication for iOS, connected via Matrix. Come talk with us in #element-ios:matrix.org!

Ștefan says

Element iOS

  • What’s this then? The last release of Element in 2022, that’s what! And to round out the year, we’re enabling Threads for everyone in the release planned for the 20th of December!
    • Threads: Enabled by default for everyone. Please let us know if you discover any issues as we get ready to make them permanently enabled.
    • Notifications: The Spaces button now shows a badge to indicate the number of unread conversations in other spaces so you won’t miss those important messages or invites anymore.
  • Things are quickly moving along on the ElementX side too
    • the new split iPad and macOS layout has been merged
    • the timeline has been refactored and scrolling is now smoother than ever
    • we have brought our code coverage to 45% and actively working on making it even better
    • and we’re also working on improved room list loading, a new room details screen and improving the developer experience and reliability

Element Android (website)

Secure and independent communication for Android, connected via Matrix. Come talk with us in #element-android:matrix.org!

benoit announces

Element Android

  • Element Android 1.5.12 is currently being released on the stores. It includes threads support, enabled by default.
  • We are currently working on finalising the session management screens, and we are fixing issues in polls. The composer is also getting some improvements, like support for links, code blocks, quotes, etc.
  • On ElementX, we are working to setup the project: dependency injection, continuous integration, and other similar tasks.

Dept of Non Chat Clients 🎛️

imbev says

matrix-social

matrix-social is a new Matrix "Social Media" client made using the Matrix Rust SDK and Yew. With a design inspired by Reddit, matrix-social's purpose is to be a social media client that integrates well with the rest of the Matrix ecosystem. At the moment, it is very early in development, and lacks crucial features such as sending messages, comments, reactions, and categories.

The source code is licensed AGPL and hosted at https://codeberg.org/imbev/matrix-social

If you have experience with Rust, WASM, or are otherwise interested, join us in https://matrix.to/#/#matrix-social:matrix.org

Matrix Wrench (website)

Matrix Wrench is a web client to tweak Matrix rooms.

jaller94 says

Matrix Wrench v0.9.0 🔧

Source: https://gitlab.com/jaller94/matrix-wrench/

  • Added: Password login
  • Added: Create and mutate users using the Synapse API.
  • And, together with the team of the #matrix-berlin:matrix.org, I've added (hidden URLs so far) pages for people to analyse their Matrix usage (How many of my DM contacts are in a given room? How many homeservers are joined to a given room? Which of my DM contacts do I share the most rooms with?). For a preview or to bring in your ideas, please join us in #matrix-dashboard:matrix.org.

Dept of Widgets 🧩

Oliver Sand announces

Going towards Christmas we from Nordeck can announce that we made another of our widgets Open Source: matrix-barcamp.

The matrix-barcamp widget allows to perform agile Barcamps in Matrix spaces. You can create a space, add the widget to a Lobby room and use it to collaboratively create your Barcamp agenda. Once you set up your sessions, the widget can take care of creating the individual discussion rooms inside the space. The widget was created in collaboration with the ZIT SH from the German public sector. Like the matrix-poll widget, this widget is built using TypeScript, React, our matrix-widget-toolkit, and the matrix-widget-api. Our remaining widgets will follow soon, we keep you updated here.

If you have any questions, reach out to us at #nordeck:matrix.org.

Dept of SDKs and Frameworks 🧰

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

ben announces

Matrix Rust SDK

With the last fixes ported over from the demo branch and the growing-full-sync-window support added, we turned our head back to debugging a few remaining deserialization and decryption bugs in Sliding Sync when we were hit by a new tokio-thread-panic on Element-X at the end of the week. A quick debugging revealed that it was caused by out of bound indizes supplied by the server. We are still looking into making our code more defensive for these circumstances, too.

Async Uniffi is progressing nicely meanwhile, with now both Swift and Kotlin being able to run and execute a Rust created future. We now have fallible function support implemented on the proc-frontend and further work is coming up to support &str and &[u8].

This week also saw the first experimentation in replacing the default Sled database backend. A first PoC attempt was made with sanakirja (pijul is based on), but after learning that its API is unsound and can lead to UB, the team agreed that this requires quit a bit more work (especially in terms of safety guards) than we have time for in the short term. Thus, offering a sqlite-backend for mobile in the short term at least for the crypto store has been agreed upon.

👉️ Wanna hack on matrix rust? Go check out our help wanted tagged issues and join our matrix channel at Matrix Rust SDK.

Dept of Events and Talks 🗣️

ChristianP reports

Matrix Community Summit Berlin 2022 Podcast (German)

Meet ben, Rust developer and Co-Founder at EFFEKTIO. He and I spoke about Social Organising and how his app tries to enable people to participate more directly in their community, political party or neighbourhood.

Same website and RSS feed as last week.

Mastodon toot: https://mastodontech.de/@jaller94/109523913828753926

I hope you enjoy this week's interview and learn what other people in the community are up to. Stay tuned for a second English episode in two weeks!

Thib announces

Very good news for FOSDEM: we managed to make some room for all of the proposals we got! We thank everyone participating in our CfP for submitting such high quality proposals. Our in-person devroom is going to be on Sunday 5 morning, between 09:00 and 13:00 CET. It was difficult to make a choice, but we had to put some talks in the virtual devroom only in the afternoon. We will follow-up with speakers individually.

We will also have a stand at FOSDEM, and will be happy to see you there, talk about what we're doing, what's next and just generally have a nice chat together.

Nik | Klampfradler 🎸🚴🏻 announces

Professional Matrix courses at Linuxhotel

From June 19th to 23rd 2023, the, in Germany, well-known Open Source training center Linuxhotel will be offering two courses on Matrix (in German):

  1. Matrix: Server operation, usage and federation
  2. Matrix: Development and IoT

If you want to learn hands-on how to establish Matrix and Element for your company or team, how to operate it, or how to make small IoT components operatable via Matrix – or know someone who wants to know – and speak German, don't forget to get seats while they're available 🤓!

Dept of Interesting Projects 🛰️

Florian Heese reports

https://forgejo.org/2022-12-15-hello-forgejo/

Forgejo’s code base is of course hosted on Codeberg, and by using Woodpecker CI instead of Drone and Matrix instead of Discord, we exclusively rely on Free Software tools.

Dept of Guides 🧭

Bram says

Introducing the Matrix Events Directory

Are you a client developer working with custom event types in the Matrix ecosystem? It can be tough to keep track of all the different events that are being used, and even harder to interoperate with other developers' clients and bots. That's why I've built the Matrix Events Directory, a website where you can look up and register custom event types.

Here are just a few ways the Matrix Events Directory can help you:

  1. If you come across an event type that you're not familiar with, you can use the directory to find out more about it and decide if you want to do anything with it.
  2. If you're working on implementing a new feature in your client, you can use the directory to see if anyone else has already done it and potentially interoperate with their work.

I hope that the Matrix Events Directory will improve interoperability and make it easier for the community to define and use their own custom events, while still being able to build on top of the Matrix spec.

Please check out the repository and the website at https://matrix.directory. Contributions are welcome!

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.

RankHostnameMedian MS
1keks.club541.5
2catvibers.me662
3nognu.de714
4alemann.dev741
5matrix.nicfab.it788.5
6willian.wang851
7kittenface.studio894
8anontier.nl1175.5
9grmml.de1444
10mailstation.de2786.5

#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.

RankHostnameMedian MS
1matrix.sum7.eu192
2frai.se272
3dendrite.neilalexander.dev307
4cringe.chat320
5willian.wang567
6forlorn.day661
7grin.hu4507.5

That's all I know

See you next week, and be sure to stop by #twim:matrix.org with your updates!

Olm 3.0.0 released!

25.10.2018 00:00 — Tech Hubert Chathi

Olm 3.0.0 has been released, which features several big changes. It can be downloaded from https://git.matrix.org/git/olm/. The npm package for JavaScript can be downloaded from https://matrix.org/packages/npm/olm/olm-3.0.0.tgz

Python

The biggest change is the merge of poljar's improved Python bindings. These bindings should be much easier to use for Python programmers, and are used by Zil0's E2E support in the Matrix Python SDK.

Since the binding API has changed, existing Python code will need to be rewritten in order to work with this release.

poljar has also included comprehensive documentation for the new API.

CMake

mujx contributed support for building olm using CMake. This should allow for easier building on different platforms. Currently the library can be built using either make or CMake. In the future, make support may be removed.

JavaScript

The JavaScript bindings now use WebAssembly by default. WebAssembly is much faster than the previous asm.js build, and is supported by recent versions of the most popular browsers. For compatibility with browsers that do not support WebAssembly, the asm.js version is still provided.

Due to adding support for WebAssembly, the API had to be changed slightly. There is now an init function that must be called before the library can be used. This function will return a promise that will resolve once the library is ready to be used. The matrix-js-sdk has not yet been updated to do this, so users of matrix-js-sdk should continue using olm 2.x until it has been updated.

Key backups

The public key API has been updated to support the proposal for server-side key backups. More details on how to use these functions will be published in the future.