Synapse 1.68 released

2022-09-27 — Releases — Brendan Abolivier

Hey everyone, it's time for a new Synapse release! Synapse 1.68 just dropped, let's have a look at what's inside.

Dependency changes

As announced in the Synapse 1.67 release announcement, Synapse 1.68 raises the minimum supported version of SQLite to version v3.27.0. This means that, if your installation of Synapse is using SQLite to manage its database, and the SQLite version used is lower than 3.27, you will need to upgrade to a more recent version before updating to Synapse 1.68. This change does not impact deployments using the matrixdotorg/synapse Docker image.

Synapse 1.68 also introduces the requirement of a Rust compiler for source checkouts. The minimum required version of Rust is 1.58.1. Installations that use pip install matrix-synapse, Debian packages from packages.matrix.org or the matrixdotorg/synapse Docker image to manage and run Synapse, are not impacted by this change.

See the upgrade notes for more information.

Admin API improvements

Synapse 1.68 introduces a new admin API which allows server administrators to query events in a given room that have been sent within a specific time window. This API mirrors the specification's /messages endpoint, and allows, among other things, paginating through a room's history. See the documentation for more information.

This version of Synapse also introduces a new admin API to help administrator of homeservers using an external authentication provider. This endpoint allows looking up a specific identifier on the authentication provider and resolving it into the identifier of the local user it's associated with, if any. See the documentation for more information.

The user admin API has also been updated to allow administrator of homeservers requiring agreement to the server's terms and conditions to view and edit the timestamp at which each user has provided their agreement.

Everything else

Synapse 1.68 greatly improves the validation of user input on most of the account management API endpoints.

This version of Synapse also adds a new request_id_header option to the configuration of HTTP listeners, which allows tracking the identifier Synapse generates for each request in that request's response. This can be helpful for correlating Synapse logs with reverse proxy logs. See the documentation for more information.

See the full changelog for a complete list of changes in this release. Also please have a look at the upgrade notes for this version.

Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including (in no particular order) Denis Kariakin, Dirk Klimpel and Beeper, as well as anyone helping us make Synapse better by sharing their feedback and reporting issues.

Announcing Third Room Tech Preview 1

2022-09-27 — Releases — Matthew Hodgson

We're excited to announce the first tech preview of Third Room, an open, standards-based, decentralised vision of the metaverse for the open Web, built entirely on Matrix… without cryptocurrencies, NFTs or walled gardens.

To see what it's all about, head over to https://thirdroom.io/preview - or come chat in #thirdroom-dev:matrix.org to learn more!

Pre-disclosure: upcoming critical security release of Matrix SDKs and clients

2022-09-23 — Security — Matrix Security

We will be releasing a security update to matrix-js-sdk, matrix-ios-sdk and matrix-android-sdk2 and clients which implement end-to-end encryption with these libraries, to patch critical security issues, on Wed, Sept 28th. The releases will be published in the afternoon, followed by the disclosure blog post around 16:00 UTC. The affected clients include Element Web, Desktop, iOS and Android. We will also be working with downstream packagers and forks over the coming days to ensure a synchronised release to address affected clients.

Clients using matrix-rust-sdk, hydrogen-sdk and matrix-nio are not affected by these critical issues. We are also auditing third-party client SDKs and clients in advance of the release, and will work with the projects if action is needed. So far we've confirmed that other popular SDK/clients including mtxclient (nheko), Matrix Dart SDK (FluffyChat), Trixnity (Timmy), Syphon, mautrix-go (Gomuks) and mautrix-python are not affected by the issues in question.

If you maintain or package a (potentially) affected E2EE-capable Matrix client and need to coordinate on the release, please contact [email protected].

We advise to upgrade as soon as possible after the patched versions are released.

Thank you for your patience while we work to resolve this issue.

This Week in Matrix 2022-09-23

2022-09-23 — This Week in Matrix — Thib

Matrix Live

Dept of Social Good 🙆

carla says

Carla Griggio, a researcher at the University of Aarhus, is conducting Human-Computer Interaction research on how messaging interoperability affects personal expression and privacy attitudes in online communication. The study consists of a short questionnaire and a 30-60 minute interview about experiences with cross-app messaging (for example, privacy concerns related to differences between clients). The results will contribute an interpersonal perspective to the design of messaging interoperability and potentially influence future policy making.

Interested in participating? Eligible participants should live within the EU and either: a) Have frequent conversations on a Matrix.org client with contacts that use different Matrix.org clients (such as Element-FluffyChat) or b) Frequently use bridges between Matrix.org and other platforms (for example, using Beeper, or Element with bridges to Telegram, IRC, etc.)

Reach out directly to @lalider:matrix.org for questions and arranging an interview. Thank you!

Dept of Spec 📜

Andrew Morgan (anoa) reports

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:

Merged MSCs:

Spec Updates

The next major release of the spec is now just around the corner! The Spec Core Team expects to release Matrix v1.4 next week, so be on the look out for the announcement and blog post then! Highlights for v1.4 include Threads and Message Edits!

Review this week from the Spec Core Team has once again mainly focused on Threads as we work towards getting it over the line (and to see client and homeserver implementations stablise). With fixes for notification issues and increased support for querying threads in a room for clients, we expect to see it land in v1.4!

In addition, MSC2676 has been merged to the spec (finally)! This means that it is now available in the unstable space and will be available in the next spec release. Congrats to all involved as it's been a particularly long-running MSC, and especially richvdh for pushing it over the line and writing up the spec bits, and TravisR for reviewing them.

Random MSC of the Week

The random MSC of the week is... MSC3265: Login and SSSS with a Single Password!

This MSC actually has a fairly detailed description right in the PR, so I encourage you to click through and see what it's all about!

Dept of GSoC 🎓️

matrix-cerberus

kuries announces

The Google Summer of Code 2022 has officially ended this week and I'm proud to present the matrix-cerberus!

It's an application that has the ability to delegate membership of a room based on a user’s interaction with other third-party services.

Some of the use cases could be:

  • If you have a "team" of developers under an organisation in GitHub and would like to create a room just for them. Then instead of sending manual invites or making the room public, you can just add the condition under a room in the matrix-cerberus admin panel and the app will invite all of them for you!
  • Managing memberships for rooms where patrons belonging to a particular tier in a campaign have access.

Note: Both of the cases would require the user to log in with matrix and the respective third-party service in our app.

The application is built using React (frontend), FastAPI (backend) and matrix-nio for the bot. The entire application is containerized with docker compose to reduce the effort required to set up all the services.

Currently, it has support for the following third-party services:

  • GitHub
  • Patreon

There's also an interesting feature in this app - Room External URL Invites. If you have one of these room external url invites you can just log in as a matrix user with our app and relevant invites will be issued.

You can find documentation related to the usage, installation and hosting over here. If you want to play around with the app and see how it works you can check out the demo version of the app hosted here: https://cerberus.cadair.dev/

And finally, if you have any queries and issues related to setting up or just want to discuss the app then feel free to join: https://matrix.to/#/#matrix-cerberus:cadair.com

Cadair adds

Worth noting that the demo version of the app should only be used for experimenting, I make 0 promises for how long it will stay online for!

Dept of Servers 🏢

Construct

Jason Volk reports

Construct 0.8 has been rolling out with a set of performance improvements courtesy of the new io_uring(7) backend added to Boost ASIO on Linux platforms. These improvements were not truly necessary since Construct is already backed by a custom aio(7) implementation on Linux, but there's still a significant all-around improvement with io_uring. Users building on systems with boost 1.78+ will benefit from io_uring replacing the core epoll(2) event loop and networking. This has a significant impact for certain operations like sending messages to large rooms with lots of servers by greatly reducing the number of system calls. Users with boost 1.79+ get the added benefit of some local filesystem operations using the io_uring rather than aio. If your distribution ships an older version of Boost, rebuild Construct with the option --with-included-boost=1.80.0 to ./configure so you too can enjoy these benefits.

For questions or support don't forget to idle and perform #construct:zemos.net

Synapse (website)

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

Brendan Abolivier reports

This week we've released not one, but two release candidates for Synapse 1.68. This Synapse version will be the first one to require a Rust compiler for installations from a source checkout. 1.68.0rc2 fixes an issue the previous RC had related to this change - so if you were bitten by Rust-related issues when trying out rc1, please try rc2! The minimum required version of Rust has also been set to 1.58 to make it easier for third-party packagers to package Synapse (it previously was 1.61).

Thanks a lot to everyone who help us by testing Synapse RCs and catching these issues early! Please report any feedback or bug in #synapse:matrix.org or the issue tracker, respectively 🙂

In other news, Synapse 1.68 will also be raising the minimum required version of SQLite to 3.27. If you're running a Synapse instance with SQLite, please make sure your environment is up to date!

Dendrite (website)

Second generation Matrix homeserver

neilalexander reports

This week we released Dendrite 0.9.9 which contains some bug fixes and performance improvements — if you are running Dendrite then it is recommended to upgrade! Changes include:

  • Dendrite will now try to keep HTTP connections open to remote federated servers for a few minutes after a request and attempt to reuse those connections where possible
    • This should reduce the amount of time spent on TLS handshakes and often speed up requests to remote servers
    • This new behaviour can be disabled with the federation_api.disable_http_keepalives option if needed
  • A number of dependencies have been updated
  • A bug where the roomserver did not correctly propagate rewritten room state to downstream components (like the federation API and sync API) has been fixed, which could cause issues when performing a federated join to a previously left room
  • Event auth now correctly parses the join_authorised_via_users_server field in the membership event content
  • Database migrations should no longer produce unique constraint errors at Dendrite startup
  • The origin of device list updates should now be populated correctly
  • Send-to-device messages will no longer be dropped if we fail to publish them to specific devices
  • The roomserver query to find state after events will now always resolve state if there are multiple prev events
  • The roomserver will now return no memberships if querying history visibility for an event which has no state snapshot
  • The device list updater will now mark a device list as stale if a requesting device ID is not known
  • Transactions sent to appservices should no longer have accidental duplicated transaction IDs (contributed by tak-hntlabs)

As always, please feel free to join us in #dendrite:matrix.org for more related discussion.

Dept of Bridges 🌉

Postmoogle (website)

An Email to Matrix bridge. 1 room = 1 mailbox.

Aine announces

Postfix Postmoogle v0.9.4

almost Postfix. The biggest change: you can use postmoogle to send emails from your apps, scripts and other tools using standard SMTP protocol (or Matrix Client Server API, if you wish so)

  • send emails in UTF-8 👋
  • fix options descriptions
  • add SMTP auth
  • allow sending emails from your apps and scripts using postmoogle as email provider

Source code, say hi in #postmoogle:etke.cc

PS: now I'm wondering - can you use postmoogle as SMTP server/relay in synapse? Send emails from matrix, using matrix backend, using matrix.... 😵‍💫

Dept of Clients 📱

Nheko (website)

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

Nico reports

We completely redesigned how you can modify the access rules in a room. You now have a list of toggles to allow public access to a room, knocking and/or joining via a different room. You can also now edit what rooms you can access the current room via. By default the parent communities are in that list and you can enable joining via those using a toggle button, but you can also add other rooms in. This is helpful when you have a welcome room in a private community, but you still want people to be able to join the other community rooms after you explained the rules in the main room. We are still working on restructuring the room settings though, so that the new rules UI doesn't seem as out of place between the other settings.

Nheko now also shows you what community a room is in and allows you to switch to that community or join it if you haven't yet. This should make it easier to discover communities and related rooms. In this case too, we built the feature, but I am not happy yet with how it looks, so it might change in the future.

q234rty also fixed sending messages using the Enter key, when an input method is active. We significantly shrunk our flatpak images (to almost a third) by using the upstream gstreamer again (which is recent enough in the recent runtimes now). Thanks to Forest users now have significantly more control over what Nheko logs when troubleshooting an issue and Hiers added an unread line to make it easier to find where you left off. (The blue line is the unread indicator, the names and avatars are just replaced with color boxes to protect the innocent.)

As you can see there were lots of new features that might need some time to figure out the UI, so feedback is welcome as always in #nheko:nheko.im.

Neochat (website)

A client for matrix, the decentralized communication protocol

Tobias Fella says

This week, Bharadwaj implemented showing link previews. While working on E2EE, support for showing stickers broke a while ago, which James now fixed. I (Tobias) finished the work on basic device verification; it will start working once libQuotient officially supports it. I also implemented support for reporting messages to the server admins.

Element (website)

Everything related to Element but not strictly bound to a client

Matthew announces

upcoming critical security update for matrix-{js,ios,android}-sdk on Wednesday Sept 28 at 16:00 UTC: https://matrix.org/blog/2022/09/23/pre-disclosure-upcoming-critical-security-release-of-matrix-sd-ks-and-clients

Element Web/Desktop (website)

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

Robin says

Hi 👋 It's just the VoIP team this week, but we're excited to share that Element Call is on its way into the app! We've added an experimental implementation of Element Call video rooms in Labs, which you can try out on develop.element.io and Nightly, and are working on bringing native group calls to text rooms as well. Thanks to everyone who contributed to last week's community testing session, and please keep the feedback coming.

Element iOS (website)

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

Ștefan reports

  • This was a busy week in iOS land. Version 1.9.6 is now available on the AppStore and brings with it a lot of significant improvements:
    • Crash fixes when logging out, previewing rooms or displaying the keyboard
    • New layout tweaks for when logging out and back in again
  • We also have made a lot of progress on ElementX:
    • We have successfully merged the sliding sync mechanism with the new timeline API
    • We have redesigned the home screen, the settings, the timeline bubbles, the message composer and more
    • We received support for local echoes
    • We have also had our first look at encryption working through sliding sync and the Rust SDK and it’s even more magical than expected

Element Android (website)

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

benoit reports

  • Element Android 1.5.0 will land on the stores soon. We finally decided to postpone the activation of the new App Layout by default, to give us some time to fix the remaining bugs. In this version there will be deferred DM creation on the first message, i.e. the DM will be created and the invite sent only when a first message is sent to the room.
  • We are working to fix our flaky tests. Some of them have been disabled in the past because they were not passing on the CI. It’s time to restore and update them, and ensure there is no regression on the app. Our priority is to make sure the releases we push to the stores have no regression and only working features!
  • The support for Android 12 has been merged on develop, it will be for the next release, with hopefully the new App Layout enabled by default!

Cinny (website)

Cinny is a Matrix client focused on simplicity, elegance and security

ajbura reports

Cinny v2.2.0

Features

  • Open image in lightbox
  • Update sidebar on room/space switch
  • Edit last message with up arrow key
  • Improve commands
    • Commands now works as they are sent
    • Add /plain text command
    • Add /myroomnick and /myroomavatar
    • Add /converttodm and /converttoroom
    • Add /me and /shrug
    • Add /help command
    • /startdm /ban /unban /kick /invite /disinvite /ignore /unignore /join now accept multiple targets
  • Notification settings
    • Add notification on favicon in browser tab
    • Add Global notification settings in user settings
    • Can manage notification keywords
  • Manage ignored users
  • Rework Markdown parsing
    • Fix Emojis rendering in code-blocks
    • Strip excessive whitespace in HTML formatted messages
    • Support sending spoilers with reason ||spoiler||(reason)
    • Fix everything between two $ rendering as TeX math
    • Fix Numbered lists are numbered wrongly
    • Preserve Markdown newlines
    • Send room address as matrix.to links
  • Delete notifications after messages have been read or deleted
  • Improve MIME type handling on File Upload and in Message Component
  • Cancel edit-message on Esc Key press
  • Cancel replyto on Esc key press
  • Add Clear cache and reload button

Bugs

  • Fix room not selecting with bad emoji data
  • Fix emojiboard icon background
  • Fix crash in manage device
  • Fix crash with unknown mime type
  • Fix wrong notification count
  • Copy Olm directly from node modules
  • Handle messages with invalid body
  • Ignore mimetype parameters in safety check
  • Change "Join public room" label to "Explore public rooms"
  • Fix grammar of read receipt text

Docker Image

  • Push Docker image to ghcr registry

Release: https://github.com/cinnyapp/cinny/releases/tag/v2.2.0 Full Changelog: https://github.com/cinnyapp/cinny/compare/v2.1.2...v2.2.0

Dept of SDKs and Frameworks 🧰

matrix-bot-sdk (website)

A TypeScript/JavaScript SDK for Matrix bots

TravisR reports

matrix-bot-sdk has just had a v0.6.2 release with mostly bug fixes this time around. Please give it a go, and if you run into issues please report bugs or visit #matrix-bot-sdk:t2bot.io 🙂

Also, check out the matrix.org guide to learn more about how to use this SDK.

Dept of Bots 🤖

HSL Matrix Notifier (website)

Jae (DN0) says

A very simple bot to notify rooms every 12h of HSL (Helsinki Regional Transports) disruptions (for instance, cancelled trains, metros, buses or trams).
For now, the bot is very barebones but more is planned:

  • Only new events shown (RSS-feed style)
  • Per-room language
  • More customizable transport methods (select from bus, train, metro, tram)

At some point will also be added more beautiful display of those events but for now the focus is on pure functionality.

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
1conduit.rs298
2nognu.de359.5
3babel.sh380.5
4alemann.dev526
5kittenface.studio774
6dendrite.babel.sh790.5
7kootstra.frl928.5
8almum.de1111.5
9kif.rocks1456
10aria-net.org1518

#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
1conduit.rs123
2babel.sh169
3dendrite.matrix.org201
4conduit.hazmat.jacksonchen666.com237.5
5dendrite.babel.sh260.5
6babel1.eu278
7joeth.uk305.5
8kumma.juttu.asia327
9dendrite.s3cr3t.me432.5
10matrix.awesomesheep48.me516

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 2022-09-16

2022-09-16 — This Week in Matrix — Thib

Matrix Live

Dept of Status of Matrix 🌡️

Thib reports

matrix.to links can now be opened with Thunderbird and Syphon!

Dept of Spec 📜

Andrew Morgan (anoa) reports

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.

Merged MSCs:

  • No MSCs were merged this week.

Spec Updates

This week has seen more review on threads from the Spec Core Team, as well as some further aggregations work. See the FCP list above! MSC3771 (Read Receipts for Threads) and MSC3856 (Threads List API) are also looking quite close to starting FCP.

In other news, yours truly has written up some words (adapted from some internal docs written by @erikjohnston) amounting to a simplified guide to writing MSCs. The hope is that it'll help spell out the process in a more succinct manner, as well as provide answers to common questions/edge cases.

The document's words are still in flux, and still only exist as a PR; so do feel free to leave some suggestions or feedback if you have some!

Random MSC of the Week

The random MSC of the week is... MSC3775: Markup Locations for Audiovisual Media!

I recommend looking at MSC3574 (marking up resources) first as MSC3775 builds upon it. But as for MSC3775 itself, the MSC adds support for annotating media - storing those annotations as events in a Matrix room!

This could be useful for building a decentralised app for marking up audio files. Collaborative audio editing anyone?

As far as I can tell, this MSC is currently waiting for MSC3574 to progress before it itself moves much further. But feel free to check out both in the meantime if you're interested.

Dept of Servers 🏢

Synapse (website)

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

Brendan Abolivier announces

This week we've released Synapse 1.67! This Synapse release is the first one to use Poetry 1.2, and also removes the long-deprecated TCP-based replication protocol. Synapse workers are now required to use the Redis-based protocol which we introduced back in 2020. If this isn't already the case for your deployment of Synapse, see the documentation for workers as well as the upgrade notes, to update your configuration.

In other news, Synapse 1.68 (which is due to release on the 27th of September) will introduce a couple of changes in dependencies. The minimum supported SQLite version will be raised to 3.26, meaning that Synapse 1.67 is the last version of Synapse supporting SQLite versions 3.22 to 3.26. In addition to this, a Rust compiler will be required for source checkouts, as we are starting to introduce Rust code in Synapse (as I mentioned last week). This latter change should not impact installations that use pip install matrix-synapse, Debian packages from packages.matrix.org or the matrixdotorg/synapse Docker image to manage and run Synapse. See the upgrade notes for more information about these two changes.

Homeserver Deployment 📥️

Helm Chart (website)

Matrix Kubernetes applications packaged into helm charts

Ananace announces

This week sees some of the usual updates to my Helm Charts, with element-web being updated to 1.11.5 and matrix-synapse to 1.67.0.

Dept of Bridges 🌉

Postmoogle (website)

An Email to Matrix bridge. 1 room = 1 mailbox.

Aine announces

Postmoogle v0.9.2

  • bugfixes
  • speed up email delivery
  • StartTLS enabled automatically if TLS cert and key are provided
  • set msgtype by attachment's mime-type (received image -> got rendered image in your matrix client; received audio -> got audio player in your matrix client; etc)

Source code, say hi in the #postmoogle:etke.cc room

matrix-hookshot (website)

A multi purpose multi platform bridge, formerly known as matrix-github

Half-Shot says

matrix-hookshot 2.2.0 arrives with fewer bugs and more features!

Hello gang. This week, another hookshot release. They do come fast!

We've fixed a bug which had the potential to cause crashes when JSON logging is enabled, and written a whole torture test for the logger to ensure it won't do that again. We've also made some quality of life improvements to the GitLab connection type :)

The highlights are:

  • Ready/draft state changes for GitLab merge requests are now reported. (#480)
  • Merge GitLab MR approvals and comments into one message. (#484)

You can get the latest release here


But I have a bit more for you this week, we're working on a few new features to hopefully improve the lives of developers out there building webhook integrations.

First, we are adding the ability to view requests and logging from within the widget UI. This means you can now debug why your webhooks might not be working without having to leave your client. This includes the ability to log debug messages and read them back later!

Secondly, we're adding some new sci-fi functions to the scripting environment. The first of which will allow you to embed images / videos into the message output, with a function to to create matrix content URLs from a regular URL.

Finally, and this is probably the most sci-fi. We're working on a feature for you to load scripts from other rooms for use in your webhook. This means developers will be able to build whole webhook handling libraries within rooms, and then share those libraries across the federation. At the moment, this looks a bit like:

const resultOfScript = await loadMatrixScript("matrix:r/my-room-alias:domain/$my-event-id");
// ... mutate the result
return = resultOfScript

We're still thinking about how to ensure it's both performant, and safe but the initial results are looking quite good.

That's all we have for you in bridging corner today, have a good weekend 👋

matrix-appservice-kakaotalk (website)

A Matrix-KakaoTalk puppeting bridge.

Fair announces

It has been brought to my attention that the KakaoTalk service has been updated to block older clients, and unfortunately this bridge is affected. As of this writing, using the bridge may get your KakaoTalk account banned! It has happened to both me and at least one other person, so this isn't just a hypothetical risk.

To be clear about this, I've updated the master branch to throw an error on startup, which must be manually removed from source code if you wish to continue using the bridge at your own risk.

It's currently unknown what it takes to log in safely, but discussion about it is ongoing (albeit intermittently) in the discussion channel (linked below).

Once the bridge is safe to use again, I'll post a TWIM update about it 🙂


Dept of Clients 📱

Quadrix (website)

A Minimal, simple, multi-platform chat client for the Matrix protocol.

JFA says

Quadrix v1.3.3 has been released! It's available for mobiles and desktops in the respective app stores. This release introduces:

1) a new menu structure making it easier to add new functions without affecting the main UI,

2) new page animations in the "wide" app layout (on desktops and tablets) when switching between rooms or going back to the home screen, and

3) for PinePhone enthusiasts, Wayland display on KDE and SXMO UI's (it was already available on Phosh).

Please leave feedback/comments at #quadrix:matrix.org or in the issues at https://github.com/alariej/quadrix (stars welcome :-)

Neochat (website)

A client for matrix, the decentralized communication protocol

Tobias Fella reports

  • Will now show you the exact time a message was sent at when hovering over a message's timestamp (Thanks to James Graham)
  • Context Menus will now open more reliably
  • You will also no longer see useless horizontal scrollbars
  • Thanks to the GSoC work by Snehit, NeoChat now has some support for spaces: at the top of the room list, you can select a space to make the room list only show rooms of that space
  • Audio playback has been fixed
  • A few problems relating to message input have been fixed, most notable that reply and edit texts will now only be visible in the correct room when multiple rooms are opened at the same time (Thanks to James Graham)
  • Quitting NeoChat now is less crashy
  • Adding custom emojis has been fixed (Thanks to Jan Bidler)
  • Links in spoilers will now be correctly hidden
  • You can now edit notification settings for each room (Thanks to James Graham)
  • NeoChat will now better follow Kirigami's style of progress indicator and the system's color for text selection (Thanks to Bharadwaj Raju)

Ement.el (website)

Matrix client for Emacs

alphapapa announces

Ement.el, a Matrix client for GNU Emacs, has finally been published on the official GNU ELPA package repository. Now the current stable release can be installed by any Emacs user by simply using the command M-x package-install RET ement RET. More improvements to come. Feel free to join us in #ement.el:matrix.org.

Element Web/Desktop (website)

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

Danielle reports

  • On Web we’ve been working on perfecting the app and fixing bugs
  • Also in the roadmap and currently in development:
    • Updates to the composer. We’re working on improving the composer and creating a WYSIWYG version (What You See Is What You Get). Keep your eyes peeled for more info in the coming weeks!
    • There are also improvements to the ‘forgot password’ flow on their way. We made these same improvements to the mobile apps some weeks ago and received great feedback.

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

  • Threads work continues as 2 of our 3 MSCs make their way into their FCP (Final Comment Period). We’re excited to bring improvements to you and will be dropping them straight into the product as soon as they’re ready.

Element iOS (website)

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

Ștefan reports

  • Following this week’s release of the new app layout we’re heads down reading feedback and looking for improvements. We hope you’re enjoying it as much as we are - use the Feedback button in the top-left to let us know!
  • The team is also making improvements on the next generation of the Element app for iOS (Element X).
    • We’re experimenting with merging together the sliding sync mechanism and the new timeline API.
    • We’ve added support for reactions, redactions, permalinks and replying, we have a new log out mechanism and soft logout, and we’ve also overhauled the UI.

Element Android (website)

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

Danielle reports

  • Not only are we hard at work smashing bugs but we’re also working on 2 big updates for the coming releases:

    • The new app layout! While you can currently access this via Labs, we’re closing bugs and addressing feedback that will allow us to make it the default layout for all users. Check out more info here
    • Also coming up, starting a DM when the first message is sent. No more waiting around for the room to be created before you say hi to the recipients - your invite and message will be received together. Yey! :ta_da:
  • We’re also working on a fix for the bug that’s making verifying others difficult.

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 reports

Major Milestone: yesterday Sliding Sync was merged into main, now available behind the sliding-sync-feature flag and enabled by default for matrix-sdk-ffi for your convenience. This, too, means the jack-in sliding sync-test client is merged and part of our labs section - go out and have a try! Furthermore the key verification for crypto-js has been merged, as well as support for logging out, including tracking the soft-logout state in FFI, and support for sending markdown from FFI,

Similarly the new Timeline API, is making big leaps forward, we expecting it to land, too. It will also be available behind a feature-flag replacing the previous experimental-timeline-feature. If you were using that, please pay close attention to what is going on, as it will replace most of if not all of the previous API and data store.

Both will be available, also together, in the upcoming release 0.6 of matrix-sdk, which we expect to land before the end of the month. It was slightly pushed back as the sync event changes turned out to be more of a rabbit hole than anticipated.

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

Dept of Ops 🛠

matrix-docker-ansible-deploy (website)

Matrix server setup using Ansible and Docker

Slavi announces

matrix-docker-ansible-deploy now has much-improved Synapse worker support:

  • we've added support for Stream writer workers
  • we've added support for running multiple federation sender workers (until now, we only supported 1 at most)
  • we've added support for running multiple pusher workers (until now, we only supported 1 at most)
  • we've added support for running background tasks on a worker
  • we've restored support for appservice workers (we had removed support for these after Synapse v1.59.0 deprecated them and redid how this type of worker is meant to be spawned)
  • we've restored support for user_dir workers (we had removed support for these after Synapse v1.59.0 deprecated them and redid how this type of worker is meant to be spawned)
  • we've made it possible to reliably use more than 1 media_repository worker (until now, using more than 1 could have caused issues due to us not correctly restricting where media background tasks run)

Some backward incompatible changes were made, which could affect some people.

People who are using some reocmmendation configuration like matrix_synapse_workers_preset: one-of-each will now get 9 additional worker processes by default.

To learn more, see our changelog entry

Dept of Services 🚀

etke.cc (website)

Your matrix server on your conditions

Aine announces

@twim:cadair.com We're happy to announce that the etke.cc Matrix hosting service is now better prepared to serve German customers!

Besides having completely localized the website (see etke.cc in German here) and Matrix server ordering flow, we're now also able to offer customer support in German.

If you're in Germany and would like to get a managed self-hosted Matrix server, neither self-hosting difficulties nor the language barrier is getting in the way anymore.

Dept of Bots 🤖

use @progserega:rsprim.ru says

New bot to help admins of large rooms. Capabilities:

  1. The admin can add a reaction signature to the user, which will be added by the bot to each message from this user, for example: "spammer"
  2. The admin can fix violations of the rules of the room by the user. The counter of violations is also displayed as a reaction under each user message in the form: "N ❗️", where N is the number of violations.
  3. The bot captures who added the signature or violation, when it happened and for what reason (description). All this can be asked from the bot by any member of the room
  4. The user can add his own description, which the bot will report to any member of the room on the appropriate request.
  5. The moderator can switch the language that the bot speaks in this room. Message translations are stored in standard po files.

Anybody can try bot by invite @react-sig-bot:sibnsk.net to his room.

Source code for the bot: https://github.com/progserega/matrix-reaction-signature-bot

Dept of Events and Talks 🗣️

W3C TPAC 2022

cel reports

World Wide Web Consortium (W3C)'s TPAC (Technical Plenary and Advisory Committee, i.e. "Annual W3C Conference") takes place, 12-16 September, Vancouver, BC, Canada: https://www.w3.org/2022/09/TPAC/

W3C Matrix Space

W3C now has a public Matrix space: #w3.org:matrix.org

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
1nognu.de346
2jameskitt616.one366.5
3alemann.dev598
4kittenface.studio824
5matrix.nicfab.it1443
6quyo.de1501
7helderferreira.io1547
8cutema.re1693
9rom4nik.pl1763.5
10jacksonchen666.com1824

#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
1conduit.hazmat.jacksonchen666.com231
2sspaeth.de322
3joeth.uk326
4dendrite.matrix.org371
5dendrite.neilalexander.dev539
6rustybever.be627
7kumma.juttu.asia711
8matrix.awesomesheep48.me967
9forlorn.day1611

That's all I know

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

Synapse 1.67 released

2022-09-14 — Releases — Brendan Abolivier

It's that time again - Synapse release time! Synapse 1.67 is fresh out of the oven, let's have a look at what's inside.

Removal of TCP replication

As announced in the Synapse 1.66 release announcement, Synapse 1.67 removes support for the legacy TCP replication protocol.

As a reminder, Synapse can be configured to use workers to spread its load over multiple processes, or even multiple machines. These workers communicate between each other (and with the main Synapse process) using something we call "replication".

Synapse 1.18 deprecated its TCP-based replication protocol, and replaced it with a brand new one using Redis. As of Synapse 1.67, this Redis-based protocol is now the only protocol that can be used.

See the upgrade notes for more information.

Changes for installations using a source checkout

Server admins who installed Synapse using a source checkout might already be familiar with Poetry. This is a tool we use to better manage dependencies within Synapse. As of this version, we have updated Synapse's dependency on Poetry to require Poetry 1.2, which was recently released.

It is also worth noting that Synapse 1.68, which is due to release on the 27th of September, will require a Rust compiler when installed from a source checkout. This is because we are in the process of introducing Rust in Synapse's code base, in order to make some hot code paths more efficient. See the upgrade notes for more information.

These two changes should not impact installations that use pip install matrix-synapse, Debian packages from packages.matrix.org or the matrixdotorg/synapse Docker image to manage and run Synapse.

Everything else

Synapse 1.68 (due on the 27th of September) will also require SQLite v3.27.0 or higher when run with SQLite. Synapse 1.67 is the last version of Synapse to support SQLite versions 3.22 to 3.26. See the upgrade notes for more information.

See the full changelog for a complete list of changes in this release. Also please have a look at the upgrade notes for this version.

Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including (in no particular order) Dirk Klimpel, Beeper and Jacek Kuśnierz, as well as anyone helping us make Synapse better by sharing their feedback and reporting issues.

NextPage 2