From Nico (@deepbluev7:neko.dev), who is assisting with GSoC admin this year:
As already mentioned a few times, this year the Matrix organization is taking part in GSoC again. This is an amazing opportunity for students to take part in various Matrix-related projects and helping those projects implement awesome new features. Submission for this closes on April 13 this year (which is Monday on my clock)! If you want to take part in GSoC as a student, submit your final proposals now! You can find some examples here: http://matrix-org.github.io/gsoc. If you want to submit your own ideas, please contact a potential mentor before that. If you have questions, please check out the #gsoc:matrix.org room.
If you have already been writing a proposal, now is the time to put on the final polish and submit your proposal. If you are interested, now is the last opportunity this year to submit your proposal! We are excited to see, who will want to take part this year!
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.
MSCs in Final Comment Period:
- MSC2190: Allow appservice bots to use /sync (postpone)
- Pushing updates about Groups (Communities) to clients (close)
After a lot of work behind the scenes, we've now officially unfrozen the spec! 🧊 🔨
This means spec PRs that change the actual content of the spec can be made again, and made they certainly have been! Huge thanks to TravisR for writing all of those up (and others for reviewing!), and for the last push of removing all of the old spec toolchain from the matrix-doc repo.
With this out of the way, we move forward migrating the old spec pages over to the new site, as well as to the next release of the spec, which will feature a new global versioning scheme!
Synapse is a popular homeserver written in Python.
Ding dong the snake is dead! 🐍☠️
As part of that, we now have a formal deprecation policy that explicitly states our platform support strategy. Namely: we follow upstream lifecycles. Thus, we can say with confidence that we will drop support for Python 3.6 in December of this year. So when upgrading, please do ensure that your operating system of choice provides modern Python packages.
By the way: if you're looking to contribute to Synapse, now is a good time to start grepping for
stretchand seeing what cobwebs turn up which can finally be swept away. 🕸🧹
We're also experimenting with using GitHub Actions for CI, and would certainly appreciate reviews and pull requests from folks who are more knowledgeable in that area, especially around speeding up workflows and caching.
We'll be back next week with more details on the specific quarterly goals the team is committing itself to, but until then, 👋!
I don't know specific change helped, but 1.31 is a noticeable performance improvement for my Synapse, so thanks team!
timokoesters told us:
Fix media thumbnail generation
Fix appservice detection
Implement room account data endpoints
Big state resolution refactor to make it easier to understand
Use correct room versions
Submit bug reports to libraries and clients:
Thinking about the future of the sled database in Conduit: https://gitlab.com/famedly/conduit/-/issues/74
Investigating state resolution problems
Investigating why certain clients are not supported by Conduit
Motivations & Challenges:
Some state resolution bugs are (still) very nasty and hard to debug
A deadlock was causing the whole program to freeze. The cause was found.
Our #conduit room had a state reset (it's on room version 5), so we upgraded to version 6, which was annoying
Been a while since I last updated twim about matrix-registration.
Since then we added the possibility to localize the project and already got translations for
german, portuguese and chinese! https://l10n.dmnd.sh/engage/matrix-registration/
there has also been work on a nix package and module over here:
https://github.com/NixOS/nixpkgs/pull/107654 and a nur package to test it right now:
But here are the newest changes for the just released v0.9.0
- now uses alembic to up- or downgrade the database scheme
Please run the following after every update to make sure your database scheme is uptodate
alembic upgrade head
- instead of one time token you can now set arbitrary amounts of usage per token via
*m, --maximum INTEGER times token can be used
- new option in the config file to log IPs to the database
these are viewable by checking the status of individual token via the cli or web api
There have been a lot of changes to the config file and web api,
please refer to: https://github.com/ZerataX/matrix-registration/releases/tag/v0.9.0 and make sure to check the sample config for other changes you might have missed
and as always feel free to join #matrix-registration:dmnd.sh for support or w/e else!
Ananace told us:
Sending & receiving images
Sending Matrix stickers
Receiving LINE stickers
Receiving LINE emoji (via MSC2545: Emotes)
Rework message syncing so that receiving a message doesn't require "viewing" the LINE chat in the Puppeteer-controlled browser, which will make LINE send a read receipt even though you may not actually have read the message yourself.
I sent some messages between two Element web instances this week.
<@jboi:jboi.nl>: is that an iMessage bridge? 👀
yes, but there's no Mac involved
A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. https://github.com/vector-im/hydrogen-web/
After finishing push notifications last week, this week I've been getting on top of the bugs that had previously come in, before getting to more feature work. There were 3 releases with 7 bugs fixed, the last release being 0.1.45 just now.
Nheko is a desktop client using Qt, Boost.Asio and C++17. It supports E2EE and intends to be full featured and nice to look at
Nico (@deepbluev7:neko.dev) offered:
For people that use our Nightlies and Windows at the same time, we fixed our nightly builds for Windows now.
For people often going to the TWIM room, we fixed "TWIM" now actually finding the #thisweekinmatrix:matrix.org room. (We also fixed a lot of other small issues on the side, that are less interesting and hope we can tie a release soonish. :3)
Rather meta, that this fix relates so specifically to TWIM.
Tobias Fella offered:
In the last weeks, we have landed several smaller features:
Quick reply: Press Ctrl+Up to reply to the last message
Quick edit: Press Up to edit your last message
React with arbitrary texts using /react
We also fixed a lot of smaller issues, including joining rooms from the global room list, emotes, some commands and deletion of images and added lots of visual improvements. We're still investigating a bug that makes NeoChat get stuck on startup, and some fallout from our recent redesign of the timeline.
Updates provided by the teams.
elmussol let us know that Element Android 1.1.3 is already available on F-droid. I love getting a new Element Android update!
There is a new library in the wizarding world: Polyjuice Server, an Elixir library to help with writing Matrix homeservers. It is still in the very early stages, but it is starting to take form. Please note that this is just a library and not a homeserver implementation, as I don't want anyone to mistake this for something that's actually useful. (And now that I've scratched this itch, I should attend to my secret personal side-project that I've been neglecting...)
In 20 years, will we look at this small comment from uhoreg and say, that's the first hint of the project that would change the world?
I finally started writing some plugin development docs for maubot. It doesn't cover everything yet, but you can find it at https://docs.mau.fi/maubot/dev/getting-started.html. Setup docs were also moved from the GitHub wiki to docs.mau.fi and some of those docs have been improved (e.g. it now has instructions for enabling e2ee)
a_v_p told us:
I released Guile-Deck 0.2.0, a GNU Guile SDK for the Matrix network: https://github.com/artyom-poptsov/guile-deck/releases/tag/v0.2.0
libkazv is a sans-io C++ (gnu++17) client library
In the past 2 week we ("tusooa and her longcat," we hope someday we can
remove this annotation :P):
- Added Boost.Serialization support https://lily.kazv.moe/kazv/libkazv/-/merge_requests/4
This Ansible playbook is meant to easily let you run your own Matrix homeserver.
Additional details are available in our Setting up Mjolnir documentation.
For german speakers: my matrix talk from the Chemnitzer Linux Days is now online.
Asbjørn told us:
Cactus Comments is a federated comment system for the open web built on Matrix.
Web Client v0.7.0 released! This one includes two new configuration options.
New configuration option:
loginEnabledchanges the login button to be a matrix.to link, if set to false (default is true).
New configuration option:
guestPostingEnabledrequires users to log in using their Matrix account, if set to false (default is true).
Added HACKING.md, a guide to getting started with hacking on the client.
/ipns/latest.cactus.chat is updated to point to the latest release, so sites linking there should already be using the new version.
Come play with the demo: https://cactus.chat/demo
Join our Matrix room: #cactus:cactus.chat
Also, watch Matrix Live! If you've already done so, watch it again.
Nico (@deepbluev7:neko.dev) told us:
If anyone understands German and listens to podcasts, Krille Fear and I will be on the LinuxLounge on the 25th of April: https://social.tchncs.de/@theradiocc/106025736391026211
In fact there are dozens of people who understand German, and surely some subset of these listen to podcasts. With these conditions accepted, the LinuxLounge appearance will go ahead.
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
See you next week, and be sure to stop by #twim:matrix.org with your updates!