20 KiB
+++ date = "2024-05-10" title = "This Week in Matrix 2024-05-10" path = "/blog/2024/05/10/this-week-in-matrix-2024-05-10"
[taxonomies] author = ["Thib"] category = ["This Week in Matrix"] +++
Matrix Live
{{ youtube_player(video_id="pAPTbo6JyhY") }}
Dept of elections 🗳️
Neil announces
Hi all, I am also standing for the Matrix Governing Board as the Element representative in the Platinum Member constituency. I wrote a short blog post explaining who I am and what I hope to achieve. Others have pointed at it already, but please do check out the Governing Board nominees campaigning bonfire
Gwmngilfen announces
I'm standing for the Matrix Foundation Governing Board elections in the Individual Members category! You can find my platform statement in the list of nominees but I've also written some more words on my thoughts & priorities. I'm always happy to debate further - please join us in #governing-board-nominee-campaigning-bonfire:matrix.org where some excellent discussion has already happened, but more is very welcome 🙂
Salt says
I'm standing for the Matrix Foundation Governing Board elections in the Individual Members category. I think my campaign statement in the list of nominees covers things pretty well but happy to answer any additional questions in #gbnc-individual:matrix.org . tl;dr: I have a ton of community board experience and want to bring the human-communication-facilitation skills I've developed to set this new governing board on an effective path.
Sumner Evans says
I am running as an Individual Member for the Matrix Governing Board and I do not feel like my positions were fully expressed in the soundbite-length platform statement allowed in the form submission. I've expanded on my position in a blog post: My Matrix Governing Board Platform. It includes details of my community involvement including many footones, a better-formatted platform, and a set of specific policies which I hope to advocate for.
In addition, I would like to endorse two Ecosystem Member candidates (see my endorsements blog post).
andybalaam announces
I'm standing for the Matrix Governing Board as an Individual Member. If you'd like to hear about my priorities, check out my blog post! Thank you to all the nominees for their great platform statements and discussion in the campaigning room, which you are welcome to join.
Dept of Servers 🏢
Synapse (website)
Synapse is a Matrix homeserver implementation developed by the Element
Matthew reports
On May 12th 2014, a bunch of developers converged in Rennes for a workshop to kick off the design of a new open source protocol for decentralised communication: Matrix. The first public release of Matrix was the public repository for Synapse, which was released on Aug 12th 2014 (prior to Matrix being announced on Sept 3rd) - but if you're curious as to what went on that summer between the original design workshop and the first public snapshot, we've released the pre-release repository
synapse-ancient
for archaeological interest: https://github.com/matrix-org/synapse-ancient. To avoid confusion: the whole Matrix project was originally codenamed Synapse, so most of the repository uses that name, until we settled on a final name just before the first public release.
Dept of Clients 📱
Commet
airyz says
Hello! Our first major update, v0.2 released this week featuring a bunch of new features and improvements!
Whats New?
- Push Notifications
- Experimental support for conversation bubbles on Android
- URL Previews
- Room Permissions Management
- Single Sign-on
- Support for Multiple Languages
- A bunch of bug fixes
- And a whole lot more!
Thanks to everyone who has already been using Commet and giving feedback!
Neochat (website)
A client for matrix, the decentralized communication protocol
Tobias Fella announces
Here's what happened in NeoChat since you last heard from us:
- It's now possible to load encryption keys from a backup. Better integration for this is coming soon, together with Cross-Signing support.
- We've added integration with purpose, Plasma's content sharing mechanism. This means that you can share content from apps that support it directly to a matrix room.
- NeoChat will now show captions for images and other media messages.
- It will now show a link preview for all links in a message, instead of just one.
- Room list filtering has been merged into the quick switcher.
- It's now possible to show a QR code for rooms and the local user and scan other people's QR codes from a built-in scanner.
- New DMs are now always encrypted.
- Our integration with itinerary data was improved, now supporting more types of data. Additionally, text documents and pdf files can now be previewed.
- We've done some internal restructuring, which makes NeoChat a lot more stable when leaving, joining, and switching rooms, spaces, and accounts.
- NeoChat now remembers which files have been downloaded before and shows them correctly.
- There's now an option to keep the previous behavior where all rooms are shown in the "Home" tab, instead of just the rooms that are not in any joined space.
- NeoChat's devtools have also seen some improvements: There's now an option to show all hidden events and it's now possible to change arbitrary room state
Element X iOS (website)
A total rewrite of Element-iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+.
Ștefan announces
Following last week's big changes we switched gears and focused on smaller bugs and tweaks:
- Invites are now shown in the room list by default (follow up to 2666)
- Automatically switch between the rich text composer and the plain one depending on whether formatting options are enabled or not
- Improve emoji reaction rendering for accessibility
- Better settings and user profile screen layouts
- Fixes for the new plain text composer 1, 2
- Universal link support for matrix.to
- Reordered the composer menu actions
- Reactions for timeline item context menus on the Mac
- Improved rich text link handling
- The app is now available in Portuguese and Simplified Chinese
- and more...
Element X Android (website)
Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
Jorge announces
This week the Android team continued working mainly in:
- 🔗 Permalinks: we expect to enable this feature soon for all users! In the meantime we fixed the last couple of reported bugs for this feature.
- OIDC login broke because we unexpectedly intercepted some Matrix Authentication Service URLs.
- Message notifications not navigating to the right screen when opened.
- 🔑 QR code login: we've been ironing out some bugs on the clients and improving the UX, but there's still some work ahead since this is a large effort involving lots of different projects.
- 🛠️ UX cleanup: we've improved the Settings, Room settings and User profile screens.
- 🙏 Thanks to tonkku107 for enabling per-app language settings on Android 13+!
- 🐞 Other bug fixes:
- Removed mandatory session verification for existing sessions.
- Fixed a selection issue with the text message composer on Android 14+.
- Better log uploads for bug reporting, enqueuing newest log files first and adding more useful info for debugging the issues.
Dept of Widgets 🧩
Milton Moura reports
Wow! How time flies by! A lot of new stuff has been popping up in NeoBoard, since it's 1.0.0 release last October!
NeoBoard is a whiteboard Matrix widget for realtime visual collaboration that can be embedded in Element Web. You can use it for presenting slides or draw vector graphics with your mates, while keeping the data safely stored in Matrix rooms.
Version 1.17.0 was released a couple of weeks ago and it's amazing!
Here's a glance over the features we have developed recently:
- New formatting options, such as bold, italic, color and alignment for text elements
- Multi-selection of shapes, both individually and by dragging a selection area
- Multi-selection actions, such as move, resize, copy/paste, delete, duplicate and all other formatting options
- Set your slides to full screen for a more immersive experience
- Slide duplication
- A brand new Arrow tool to connect things
If you're interested in more cutting edge features, you can enable image uploads, by setting the appropriate environment variable on your deployment and pimp up your presentations!
You can add NeoBoard as a widget to one of your rooms right now by following these instructions .
We invite you to try all of this and would love to get some feedback at #nordeck:matrix.org.
Milton Moura announces
The Matrix Widget Toolkit was recently updated to support React 18.x and the latest Redux 9.x / Redux Toolkit 2.x releases.
This means that the following packages saw new major releases:
- @matrix-widget-toolkit/react@2.0.0 - Provides Widget API integration for React apps
- @matrix-widget-toolkit/mui@2.0.0 - Provides Material UI based themes for widgets
and the MUI Matrix Example Widget was updated to reflect this.
We also have removed the deprecated @matrix-widget-toolkit/semantic-ui package from the repo, as it was no longer maintained.
At Nordeck, we use the Matrix Widget Toolkit as the basis for developing widgets as single-page web applications that run embedded within Element Web.
Checkout NeoBoard, an end-to-end encrypted realtime collaborative whiteboard, or NeoDateFix, a calendar-focused video conference solution for teams, and see what can be built with the toolkit and Matrix.
if you have any questions or feedback, you can reach us at #nordeck:matrix.org
Dept of SDKs and Frameworks 🧰
Ruma (website)
A set of Rust library crates for working with the Matrix protocol. Ruma’s approach to Matrix emphasizes correctness, security, stability and performance.
Kévin Commaille reports
It seems like we have hit the mark of 6 months without news from Ruma, so now is the time to fix that!
We just released Ruma 0.10.0 with a lot of improvements and bug fixes, including:
- Implement new features of Matrix 1.10, like media captions or multi-stream VoIP
- Improve the ruma-html crate to be able to navigate the HTML tree and parse supported elements
- Add support for manually marking rooms as unread (MSC2867)
- Fix some endpoints where the response is a redirect or a non-JSON response
- Bump the http crate to version 1
- Prepare the new features that should be available in Matrix 1.11
The full set of changes can be viewed in the corresponding crates' changelogs (or GitHub releases).
There is also exciting work in the pipelines, like initial support for logging in with a QR Code with OpenID Connect (MSC4108).
And maybe our next PR will be yours! If you are looking for inspiration, we have a few "help-wanted" issues to get you started.
Matrix Dart SDK (website)
Matrix SDK written in pure Dart.
td announces
meep quick update, matrix 0.29.0 released, here's a summary:
v0.29.0
Refactoring release which fixes a flickering of sent file events in the timeline. The State events in a room are no longer instances of
Event
butStrippedStateEvent
by default, which is a base class ofEvent
. Usually in join rooms the state events are actuallyEvent
and can be used as those after a type check if needed.Example:
// Before: final event = room.getState(EventTypes.RoomCreate); // After: final strippedStateEvent = room.getState(EventTypes.RoomCreate); final event = strippedStateEvent is Event ? strippedStateEvent : null;
Also be aware that
Event.remove()
has been renamed toEvent.cancelSend()
to make more clear that this is only to delete events from database and cache which have not been synced yet. They no longer appear in theClient.onEventUpdate
stream but on the newClient.onCancelSendEvent
stream.
- chore: more gh_release fixes (td)
- chore: reduce isValidMemEvent log level (td)
- ci: Add tests for database on web (Krille)
- refactor: delete not sent events without eventupdate stream workaround (Krille)
- refactor: Removes the behavior of deleting an event if the file is no longer cached (Krille)
- refactor: Use strippedstatevent as base for room state and user class (Krille)
That's it, see you soon bye byee
Elm SDK (website)
A more consistent alternative to the matrix-js-sdk, written in Elm.
Bram reports
Today, version 3.2.0 is out! This means that the
Vault
type has been defined completely.What this means, is that this might be the last beta release that does not offer functionality with the Matrix API directly. The codebase is ready to accept alterations from the Matrix API using
VaultUpdate
types, which means that the first actual clients written in (beta) Elm can be expected soon! 🎉
Dept of Events and Talks 🗣️
Matrix meetup @ devconf.cz
kitsune announces
Matrix goes to Brno! Well, in one way it's already there, as devconf.cz uses it as the chat platform - but this year the conference will also include a dedicated Matrix meetup. The list of things to discuss is open - let me (@kitsune:matrix.org) know if you want to speak on it or to discuss something specific. The full conference agenda is at https://www.devconf.info/cz/, the registration is open and completely free of charge. See you there!
Matrix Federation Stats
Aine announces
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
9467
Matrix federateable servers have been discovered by matrixrooms.info,2839
(30.0%
) of them are publishing their rooms directory over federation. The published directories contain159320
rooms.Stats timeline is available on MatrixRooms.info/stats
Dept of Ping
Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by pingbot, a maubot that you can host on your own server.
#ping:maunium.net
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Rank | Hostname | Median MS |
---|---|---|
1 | spritsail.io | 212 |
2 | doctoruwu.uk | 233 |
3 | maunium.net | 263 |
4 | aguiarvieira.pt | 283 |
5 | nerdhouse.io | 295 |
6 | girlboss.ceo | 306 |
7 | envs.net | 344.5 |
8 | chf.house | 368.5 |
9 | plocki.org | 379 |
10 | lewd.social | 392.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.
Rank | Hostname | Median MS |
---|---|---|
1 | doctoruwu.uk | 87 |
2 | spritsail.io | 95.5 |
3 | aguiarvieira.pt | 107 |
4 | matrix.its-tps.fr | 184.5 |
5 | girlboss.ceo | 187.5 |
6 | puppygock.gay | 254.5 |
7 | craftingcomrades.net | 270 |
8 | uwu.sulian.eu | 290 |
9 | transfem.dev | 303 |
10 | jpeg.city | 305 |
That's all I know
See you next week, and be sure to stop by #twim:matrix.org with your updates!