Thib

167 posts tagged with "Thib" (See all authors)

This Week in Matrix 2022-10-21

2022-10-21 โ€” This Week in Matrix โ€” Thib
Last update: 2022-10-21 19:20

๐Ÿ”—Matrix Live

This week

๐Ÿ”—Dept of Status of Matrix ๐ŸŒก๏ธ

Gwmngilfen reports

AnsibleFest 2022 happened this week, and the work the community has been doing with Matrix got quite some attention! We got a mention during the Day 1 Keynote (YouTube) and again during an interview with theCUBE.net. Both are worth watching ๐Ÿ™‚

Thanks to the shoutout from Adam in the Keynote, we've had 40 new people join the #social:ansible.com room ๐Ÿš€ and lots of interest in Matrix at the Fest Community Booth. Huge thanks to @maxamillion:one.ems.host and @cybette:ansible.im for their time! โค๏ธ

๐Ÿ”—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://matrix.org/docs/spec/proposals.

๐Ÿ”—MSC Status

New MSCs:

MSCs in Final Comment Period:

Closed MSCs:

Accepted MSCs:

  • No MSCs were accepted this week.

๐Ÿ”—Spec Updates

The Spec Core Team are continuing to work on spec maintenance in the run up to Matrix v1.5 (due next month!). Again, if you'd like to help out with small fixes and corrections to the spec, feel free to take a look at the list of open spec clarification issues. Thank you!

๐Ÿ”—Random MSC of the Week

The random MSC of the week is... MSC2700: Thumbnail requirements for the media repo!

This MSC has the goal of clarifying the mimetypes of media that a homeserver both MUST and SHOULD support thumbnailing for. The intention is to give clients a clearer picture of what file formats will receive a proper thumbnail before they are uploaded to the homeserver.

Comments on the MSC seem to suggest that the MSC as it stands does not completely solve the problem: while it does give clients an explicit list of supported mimetypes, the list is quite short. And the list of SHOULD mimetypes cannot be relied on.

The MSC also clarifies that encrypted media should always be uploaded with a mimetype of application/octet-stream, instead of the original media's mimetype, which seems like a welcome and uncontentious point. And finally, it defines 501 M_UNSUPPORTED to be returned instead of an internal server error on thumbnailing failure.

I believe the next step for this MSC is for the current threads to be incorporated into the text; so don't miss the threads when reading it!

๐Ÿ”—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.69! It comes with improved caching tools for third-party modules, and support for a bunch of experimental features, such as thread-aware read receipts (MSC3771) and an approval flow for new registrations (MSC3866). As part of this release, we've also laid out the removal schedule for the long-deprecated legacy Prometheus metric names, and the generate_short_term_login_token module API method. Read all about it on the matrix.org blog: https://matrix.org/blog/2022/10/17/synapse-1-69-released

Another big thing in Synapse 1.69 is experimental support for faster remote room joins! You can read more about it on the blog: https://matrix.org/blog/2022/10/18/testing-faster-remote-room-joins but briefly, we are ready for server admins to begin testing, with some caveats. If you've read the post and feel confident, turn it on, give it a spin and let us know how it goes!

Alongside 1.69, we're also disclosing a moderate severity vulnerability that we fixed back in Synapse 1.62. If your deployment runs a Synapse version older than 1.62, and is openly federating, please update to a more recent version of Synapse at your earliest convenience. More info on this in advisory GHSA-jhjh-776m-4765 and CVE-2022-31152.

This week we've also released the first release candidate for Synapse 1.70 (1.70.0rc1). This release will include experimental support for thread-aware notifications (MSC3773) and filtering (MSC3874), improved validation, advertising support for Matrix 1.3 and 1.4, and the usual load of bugfixes and internal improvements. We're very grateful to anyone helping us make Synapse more stable by testing and running release candidates, and reporting bugs to the issue tracker and general feedback to #synapse:matrix.org ๐Ÿ™‚

๐Ÿ”—Dendrite (website)

Second generation Matrix homeserver

neilalexander announces

This week we released Dendrite 0.10.4 which contains the following features and fixes:

  • Various tables belonging to the user API will be renamed so that they are namespaced with the userapi_ prefix
    • Note that, after upgrading to this version, you should not revert to an older version of Dendrite as the database changes will not be reverted automatically
  • The backoff and retry behaviour in the federation API has been refactored and improved
  • Private read receipt support is now advertised in the client /versions endpoint
  • Private read receipts will now clear notification counts properly
  • A bug where a false leave membership transition was inserted into the timeline after accepting an invite has been fixed
  • Some panics caused by concurrent map writes in the key server have been fixed
  • The sync API now calculates membership transitions from state deltas more accurately
  • Transaction IDs are now scoped to endpoints, which should fix some bugs where transaction ID reuse could cause nonsensical cached responses from some endpoints
  • The length of the type, sender, state_key and room_id fields in events are now verified by number of bytes rather than codepoints after a spec clarification, reverting a change made in Dendrite 0.9.6

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

๐Ÿ”—Dept of Bridges ๐ŸŒ‰

๐Ÿ”—matrix-hookshot (website)

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

Andrew F reports

matrix-hookshot 2.4.0 is here with yet more features!

Good news everyone. This release adds improved JIRA & GitHub event support. Here are some highlights:

  • Multiple JIRA connections may now be added to a single room (as well as across multiple rooms).
  • JIRA widgets now properly support adding listeners for issue creation -- a small bug prevented it from working last release.
  • JIRA widgets now support adding listeners for issue updates. This was technically already supported, but it wasn't shown in the widget -- now it's there for the world to see.
  • JIRA connections now support version events. So far, this includes version creation, updates, and releases.
  • GitHub connections now support workflow completion events.
  • The stability of GitHub login sessions has been improved overall.

As usual, feel free to join #hookshot:half-shot.uk for setup advice & feedback.

๐Ÿ”—Dept of Clients ๐Ÿ“ฑ

๐Ÿ”—Nheko (website)

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

red_sky (nheko.im) says

Nheko now has native builds for Apple silicon macs! No need for Rosetta! If you have an Apple silicon device, please check out the latest nheko nightlies so we can get feedback on how itโ€™s working!

๐Ÿ”—Element Web/Desktop (website)

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

Danielle reports

  • The new release candidate is available in staging ahead of the release early next week. Try it out!
    • The new WYSIWYG (What You See Is What You Get) composer is available in Labs soon; Itโ€™s in active development and weโ€™ll be adding more functionality soon.
  • Notifications research is near conclusion; We trawled hundreds of GitHub issues, discussions, looked at competitors and interviewed some users. Weโ€™re really excited to bring improvements to your experience.
  • Weโ€™re beginning work on integrating the Rust matrix_sdk_crypto into Element Web (to replace the existing libolm-based implementation of encryption)

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

  • Threads is making great progress and weโ€™re hoping youโ€™ll start seeing these improvements in the next few weeks! Keep your eyes open for updates.

๐Ÿ”—Element iOS (website)

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

Manu announces

  • Element-iOS RC 1.9.9 available on the public TestFlight with under labs settings:
  • New device manager
  • WYSIWYG editor
  • Voice Broadcast is on heavy development. We have recording and playback working.
  • ElementX work is resumed with full support of iOS16 and XCode14

๐Ÿ”—Element Android (website)

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

benoit announces

  • Release candidate 1.5.4 is available for the tester on the PlayStore. It includes a lot of new features, most of them behind lab flags: new device management, new WYSIWYG editor, Voice broadcast, etc. Also the application is now targeting Android 13 devices. Please refer to the full changelog for more details.
  • We are working to migrate from the Realm Java SDK to the Realm Kotlin SDK. This is a big change, which should simplify developers' lives, but also reduce the number of crashes related to Realm.

๐Ÿ”—Element (website)

Everything related to Element but not strictly bound to a client

Danielle reports

Community testing

  • Help us test the WYSIWYG editor and other new features at 4pm on Wednesday 26th Oct
  • For more info on our next testing sessions (sync or async), you can join us at #element-community-testing:matrix.org!

๐Ÿ”—Dept of Non Chat Clients ๐ŸŽ›๏ธ

๐Ÿ”—Populus Viewer (website)

A Social Annotation Tool Powered by Matrix

gleachkr says

It's been a little while since our last update, but Populus development continues! In addition to the usual bugfixes, we've made a number of ergonomics improvements suggested by the experiences of other users at my university. These include:

  1. Buttons for message actions (react, redact, reply, and so on) are now displayed in a way that doesn't overlap with sender names

  2. Avatar images for discussions can now up uploaded simultaneously with discussion creation.

  3. Older collections of discussions can be "archived" using m.lowpriority

  4. Moar tootips!

We've also made some minor graphical improvements: loading messages are now indicated with a nice low-contrast SVG hint, rather than the literal-minded "loading message" message. Some icons have been improved, and the bartab (lines in the margins) display logic has been improved. And, we're now on the latest JS-SDK version.

๐Ÿ”—Dept of VoIP ๐Ÿค™

๐Ÿ”—Element Call (website)

Native Decentralised End-to-end Encrypted Group Calls in Matrix, as a standalone web app

Florian Heese says

๐Ÿ‘‹ Hello form the VoIP team. This week we have a bunch of news. 1) We released Element Call version 0.3 with a lot of UX polishing including i18n (thx to the great community) and paving the way for a proper 2) integration into Element Web and Desktop. If you want to give it a try:

  • Use https://develop.element.io or Element Desktop Nightly
  • Enable in Settings -> Labs -> Calls
    • Element Call Videorooms
    • New group call experience
  • Now you can create
    • A new video room backed by Element Call or
    • Enable Calls in the Rooms settings of a room and just press the regular call button
  1. And by the way we also added screen-sharing with Element Desktop Nightly using the embedded Element Call.

๐Ÿ”—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

While the sliding sync extensions are being tested and bugs found during the tests reported and fixed, the FFI for the new timeline API has been approved and merged this week. The third big chunk that was merged this week, was a refactoring to Replace QR with SAS verification and the yet to be merged signaling for SAS verification.

While forcing the (not clearly spec'ed) sending of authentication tokens for get_profile and get_display_name, we've also noticed a bug where we sometimes, unintentionally include the access_token in debug output - and fixed that. We will be providing a patch release and RustSec about this soon.

Other than that, this week has seen many smaller fixes, like making the store-setters on client-builder actually adhere to the builder pattern or removing string from storerrors, and improvements like the API to set local trust or setting workspace wide dependencies for uniffi and others.

๐Ÿ‘‰ 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 ๐Ÿ—ฃ๏ธ

cos announces

Zoo 2022, a Commodore 64 Demoparty has decided to bridge it's various chat channels via Matrix. You can join via Matrix, Discord, IRC or Telegram and participate in the party programme. The actual party will be held 28.-30.10 in Orivesi, Finland. https://2022.zooparty.org/

๐Ÿ”—Matrix in the News ๐Ÿ“ฐ

Matthew says

our friends at Bluesky announced their application protocol for building decentralised social media called AT. While not based on Matrix, there are some parallels, and some stuff we may be able to steal get inspiration from around portable identity :) https://blueskyweb.xyz/blog/10-18-2022-the-at-protocol

๐Ÿ”—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.de351
2maescool.be453
3mindlesstux.com939
4kittenface.studio1079
5alemann.dev1251
6zemos.net1399
7rom4nik.pl1581
8kit.edu2082
9projectsegfau.lt2292
10valha.la2639

๐Ÿ”—#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
1dendrite.neilalexander.dev196
2dendrite.matrix.org223.5
3kumma.juttu.asia273.5
4rustybever.be496.5
5dendrite.s3cr3t.me655.5
6forlorn.day1297
7frai.se9140
8zemos.net15335

๐Ÿ”—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-07-29

2022-07-29 โ€” This Week in Matrix โ€” Thib

๐Ÿ”—Matrix Live ๐ŸŽ™

๐Ÿ”—Dept of Spec ๐Ÿ“œ

TravisR says

Hello everyone! For this week's spec update you get me, Travis, instead of anoa (sorry). The heart of Matrix is the specification, modified by Matrix Spec Change (MSC) proposals - learn more at https://spec.matrix.org/unstable/proposals/

Be sure to read the Spec Core Team (SCT) section in today's update for some exciting news about Matrix though - this has a good chance of affecting how the MSC process works in the future.

๐Ÿ”—MSC Status

Merged MSCs:

MSCs in Final Comment Period:

New MSCs:

๐Ÿ”—Spec Core Team

The SCT has been powering through MSCs for the second week in a row, using a new internal process to encourage activity and hopefully keep momentum going. If there's an MSC you think should be on the agenda, please visit the #sct-office:matrix.org and raise it for consideration ๐Ÿ™‚

We've also been at IETF 114 to talk about MIMI - an initiative to define a standard for messaging interoperability inspired by the DMA. Matrix appears to fit perfectly into this use-case, so we've been talking with various folks involved to ensure Matrix is on the radar, including preparing our own Internet-Draft to demonstrate how it could work. MIMI is not currently a working group within the IETF, but the expectation is that it will be soon - we look forward to this happening, and are eager to contribute to the process here - or proposing Matrix itself to IETF as an initiative in its own right.

Watch this space for updates, or visit #matrix-spec:matrix.org to ask questions ๐Ÿ™‚

๐Ÿ”—Random MSC of the Week

The random MSC of the week is... MSC3554: Extensible Events - Translatable Text!

This MSC covers an Extensible Events (MSC1767) schema definition for translatable text! This would allow a client to send a message in multiple languages, with the receiver able to choose which language they're prefer to see the message in (ideally falling back to a default or machine translation if their preferred language was not available).

Like other MSCs that rely on Extensible Events, MSC1767 will need to land before this MSC can. But until then, it's great to see all of the wonderful things this feature will allow Matrix to do!

๐Ÿ”—Dept of Servers ๐Ÿข

๐Ÿ”—Synapse (website)

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

Shay says

Greetings! We have been hard at work on Synapse this week. Work on faster room joins continues. In addition, Synapse 1.64.0rc2 was released. Notable features include:

  • support for room version 10
  • per-room rate limiting for room joins
  • support for Implicit TLS for sending emails and much more, as well as a number of bugfixes, improvements to the documentation, and other changes to make Synapse leaner, faster, and generally more awesome.

๐Ÿ”—Construct Server

Jason Volk reports

This week The Construct server runs on Alpine Linux using freshly cut docker images building on the 0.7 release announced last week. A few images are available for preview while a more complete matrix is filled out. I am proud to announce to TWIM that Construct offers the most compact docker image for a Matrix server at just under 15 MiB; the only caveat is that media thumbnailing won't be available.

There's still a lot of room for optimization and docker experts to critique! Feel free to join the discussion at #construct:zemos.net and check out https://github.com/matrix-construct/construct today!

๐Ÿ”—Dept of Clients ๐Ÿ“ฑ

๐Ÿ”—Element Web/Desktop (website)

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

Danielle announces

  • Itโ€™s holiday season but that wonโ€™t slow us down! Weโ€™ve been hard at work fixing defects and improving features.
  • Our recently released new search experience is continuing to be improved. This week weโ€™ve added more accessibility, so it can be helpful to all.
  • Weโ€™ve completely finished the migration of our tests.
  • Thereโ€™s a new โ€œuse caseโ€ screen for users who sign up, it asks folks who they'll talk to the most on Element and, in the future, that will help us to tailor the experience.

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

  • Video rooms continue to improve. Check it out!

๐Ÿ”—Element iOS (website)

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

ศ˜tefan reports

  • Itโ€™s an exciting week for both our mobile teams as weโ€™re ready to release our new authentication flow! If youโ€™ve been reading TWIM for a while youโ€™ll know that weโ€™ve been working hard, across all Element teams, to improve our onboarding experience. Part of this work on iOS was a new Create Account flow.
    • Weโ€™re rolling the changes out slowly, so donโ€™t panic if you donโ€™t see the new experience yet!
  • In even more exciting news, our test coverage has increased with a big bump. Weโ€™ve gone from 12% to 51%!
  • Weโ€™ve also continued to make updates and improvements to our location sharing feature.
  • On the ElementX front we have our first proof of concept for sliding sync (sync v3) working and weโ€™ve almost finished setting up snapshot and integration testing. We also have Rust logs, a new authentication service and performance tests incoming.
  • Finally, the account deactivation button has had a change of copy - this keeps us inline with Apple guidelines around deleting and deactivating accounts.

๐Ÿ”—Element Android (website)

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

Danielle says

  • Our new Nightly releases are now available and allowing us to catch any bugs or regressions even faster - exciting!

  • It will soon be easier than ever to create an account on Element, so if youโ€™ve been waiting for an update before you recommend us to others, itโ€™s nearly time! Weโ€™ll be rolling these changes out slowly over the next week or so.

    • Alongside the new create account flow will be an updated sign in and reset password experience. Check it out and let us know what you think.
  • Also in this release weโ€™ve added a โ€œmatch system settingsโ€ to the Font size screen.

๐Ÿ”—Dept of SDKs and Frameworks ๐Ÿงฐ

๐Ÿ”—Trixnity (website)

Multiplatform Kotlin SDK for Matrix

Benedict says

Trixnity 2.2.0 has been released.

  • Mac builds are enabled, which means, that olm is bundled into macOS and iOS builds too. So no need to build olm yourself anymore.
  • trixnity-crypto has been introduced, which contains the matrix e2e-encryption stuff and was previously located in trixnity-client. The relocation allows you to possibly use this in e. g. appservices. Key trust level calculation, key backup, key verification will be moved into it too.
  • client: basic event relation support has been added to be prepared for the next matrix spec
  • client: added server discovery
  • updated to kotlin 1.7
  • some bug fixes

๐Ÿ”—matrix-rust-sdk (website)

Matrix Client-Server SDK for Rust

ben reports

It's been a week of quite, constant progress on many fronts, most not that visible to the outside observer. For once, the progress on integration sliding sync into element-x for iOS has taken up speed, with many smaller bug fixes and additional features exposed through the FFI being added and performance optimisations. After the internal jack-in testing tool, this is the first actual trial of sliding sync for rust (and after the js-implementation, only the second client to actually use sliding sync overall)โ€”and it has been tremendous. Latest tests put the loading time to first view on the first 20-ish rooms at a 150ms range ๐ŸŽ‰.

More visible to the keen observers of the repository has been that we've updated the event_handler API to allow removing existing handlers, an important step towards implementing completion guaranteeing API calls, and that we've support for custom encrypted events now.

๐Ÿ‘‰๏ธ Wanna hack on matrix rust? Go check out our help wanted tagged issues and join our matrix channel at #matrix-rust-sdk:matrix.org.

๐Ÿ”—Dept of Ops ๐Ÿ› 

๐Ÿ”—matrix-docker-ansible-deploy (website)

Matrix server setup using Ansible and Docker

Slavi reports

Thanks to MdotAmaan's efforts, matrix-docker-ansible-deploy now supports bridging to Discord via the mautrix-discord bridge. See our Setting up Mautrix Discord bridging documentation page for getting started.

Note: this is a new Discord bridge. The playbook still retains Discord bridging via matrix-appservice-discord and mx-puppet-discord. You're free too use the bridge that serves you better, or even all three of them (for different users and use-cases).

Slavi reports

matrix-docker-ansible-deploy now supports bridging to Kakaotalk via matrix-appservice-kakaotalk - a bridge based on node-kakao (now unmaintained) and some mautrix-facebook code. Thanks to hnarjis for helping us add support for this!

See our Setting up Appservice Kakaotalk bridging documentation to get started.

๐Ÿ”—Dept of Events and Talks ๐Ÿ—ฃ๏ธ

๐Ÿ”—A New HOPE (NYC) concluded (website)

cel says

Thanks Element Matrix Services (EMS) for hosting our homeserver (hope.net)!

Previously: https://matrix.org/blog/2022/07/22/this-week-in-matrix-2022-07-22#hope-conference

See you in 2024, hopefully!

๐Ÿ”—May Container Hackers (MCH) concluded

https://mch2022.org/

MCH2022 in the Netherlands successfully occurred!

MCH2022 has an IRC-bridged Matrix room: https://matrix.to/#/#_oftc_#mch2022:matrix.org

HOPE and MCH had a bridge room/tent: https://wiki.mch2022.org/Hope#HOPE-MCH_Portal

See you in 2026 or so!

๐Ÿ”—Matrix Summit schedule

Yan says

By the end of last week we received a bunch of proposal for talks and workshops for the conference. It were all together 32 proposals and we accepted almost all of them.

We released already multiple versions of our schedule. The current version is 0.5 html json

There is even some space left for late comers. In case you decide spontaneously to come and want to talk let us know, we will find a way.

๐Ÿ”—Tickets

You now get tickets for the summit for the fantastic price of 0 euro. We like to know in advance how many people will come. If you have already a ticket and canโ€™t come please let us know. So we can give them to people on the waiting list.

๐Ÿ”—Sharing is caring

I case you have a room or ride to share or you are looking for transport or accommodation please visit our #matrix-summit-sharing:c-base.org.

ChristianP reports

If you'd rather listen to Yan and me talking about the Matrix Summit and its schedule, we recorded a podcast episode for you to get informed on the go.

https://fyyd.de/episode/9085227 (German)

๐Ÿ”—Dept of Interesting Projects ๐Ÿ›ฐ๏ธ

๐Ÿ”—Effektio (website)

ben reports

The team of effektio, the mobile-first organizing app build on matrix, is happy to announce the new website. Aside from the revamped team section, we are particularly excited about the new product progress page, as the questions "what are you building exactly, and how far are you with the progress" are commonplace. With the product page we hope to provide more clarity what we mean, in actual features, when we say "organize yourself, your friends, family, clubs and all other communities from the palm of your hand". Each feature also links right into the specific section of the Github project, so you can get an unobstructed view of the actual progress happeningโ€”and contribute, if you like.

๐Ÿ”—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
1maunium.net239.5
2babel.sh432
3trygve.me479
4envs.net555.5
5maximiliangaedig.com660.5
6alemann.dev674
7kittenface.studio752.5
8pikaviestin.fi798
9kootstra.frl881
10babel1.eu946.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
1babel.sh151.5
2kernel-error.com281
3babel1.eu303.5
4foxo.me447
5rustybever.be499
6grin.hu520.5
7cutema.re679.5
8zemos.net1179.5

๐Ÿ”—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-07-22

2022-07-22 โ€” This Week in Matrix โ€” Thib
Last update: 2022-07-22 18:39

๐Ÿ”—Matrix Live ๐ŸŽ™

An episode with the maintainers of Threematrix, the 100% Rust bridge between Matrix and Threema!

In addition to that, Open Tech Will Save Us will be back on Wednesday 27 at 16:00 UTC! The topic will be "what makes a platform", or more specifically: "are Linux or the web platforms". There are many fascinating topics to discuss, such as "is it possible to create an app for Linux" (it's not as simple as it sounds), "why are some people against theming?", or "why do developers want to use platforms".

And to answer that, who other than the Linux desktop most advanced projects GNOME and KDE, and people working on Matrix, the protocol that wants to become as unmissable as the web itself, and more specifically on a deeper integration of widgets with Matrix clients?

You can join #otwsu:matrix.org to ask your questions on July 27 during the live show, and bookmark either https://stream.matrix.org or the YouTube stream.

๐Ÿ”—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://matrix.org/docs/spec/proposals.

๐Ÿ”—MSC Status

MSC status updates from the past week!

New MSCs:

MSCs in Final Comment Period:

Accepted MSCs:

Closed MSCs:

Merged MSCs:

  • No MSCs were merged to the spec this week.

๐Ÿ”—Spec Updates

Lots of MSCs moving through the pipeline in the last couple weeks! As always, be sure to take a look at those in Final Comment Period above - only a few days left to comment on them before they merge/close!

Otherwise the Spec Core Team is looking to try and get a handle on the current MSC backlog - this means taking a look at all of the open MSCs, triaging them and organising them into a loose priority queue. This is likely to take quite a while to do and may not ever be complete - but should give us and everyone else an idea of what's expected to land in upcoming Matrix spec versions.

๐Ÿ”—Random MSC of the Week

The random MSC of the week is... MSC3217: Soft kicks!

The idea this MSC proposes is to add a possible m.softkick field to room membership events of type "leave", which if present will inform clients that the user has only been kicked temporarily, and they are welcome to rejoin.

This helps with the IRC bridging use case laid out in the MSC.

ChristianP says

๐Ÿ”—Offline Matrix Spec for Dash and Zeal

I use Zeal โ€“ an offline documentation browser using the same docsets as Dash for MacOS. It allows me to browse MDN, ExpressJS docs, NodeJS docs and other languages and formats while not relying on the Internet when traveling. They have "208 awesome docsets", and I guess you know which one I'm missing โ€“ or used to miss, until I packaged it myself.

Introducing: The Matrix Spec for Dash and Zeal

If you use Dash or Zeal, give it a try. Let me know, if you find pages that are not working. I hope that Matrix will be included in their list of user-contributed docsets.

Note, this is not an official release distribution of the Matrix Spec. Enjoy at your own risk of this breaking or not getting updated.

๐Ÿ”—Dept of Servers ๐Ÿข

๐Ÿ”—Construct Server

Jason Volk says

Construct server has been refurbished to support the Ubuntu 22.04+ platform. I am happy to report that Construct performs faster and more reliably than ever before. It's been a long time since the last update due to COVID-related health problems, but development has picked up again. I'd like to thank @manu_kamath:matrix.org and @uis246 for their contributions, and of course Yan Minari for keeping things together over the past year. Additional work implementing the latest MSC's will continue in the coming weeks so I encourage everyone to show support in #construct:zemos.net and contribute if possible.

Several enhancements have taken place this release, so I'd just like to highlight one here: The media database has been eliminated and has been integrated into the main events database. Construct did always store media in rooms by splitting files into blocks, but it offloaded the content block to separate storage leaving just a hash of the content in the matrix event. Construct now stores blocks directly in event content via hardware-accelerated base64 encoding. The result performs better because there's only one database query instead of two, and the room can be shared between servers in a Construct Cluster.

Construct is a performant and robust Matrix Server and Natural Language Processor. Please be mindful of any laws in your country which require registering your instance for commercial use.

https://github.com/matrix-construct/construct

๐Ÿ”—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.63! This release includes a few features such as better rate limiting for invites, as well as experimental support for MSC3827 which allows filtering public room search results by room type. The latter will, once stabilised, allow for better discoverability of public spaces since it will allow clients to specifically look for them. Read all about this new release on the matrix.org blog: https://matrix.org/blog/2022/07/20/synapse-1-63-released

We've also spent some time clarifying documentation and prompts about the usage statistics Synapse automatically reports if configured with report_stats set to true. The new documentation page lists exactly what is reported and how this reporting works. This clarification work included removing the use of "anonymised" when referring to this feature to make it clearer that, even though Synapse does not report identifiable information about users and rooms, it does report the homeserver's name (i.e. the value of the server_name configuration setting).

๐Ÿ”—Homeserver Deployment ๐Ÿ“ฅ๏ธ

๐Ÿ”—Helm Chart (website)

Matrix Kubernetes applications packaged into helm charts

Ananace says

Since people seemed to like seeing updates on my Helm Charts; matrix-synapse got bumped to 1.63.0 and then 1.63.1, as well as receiving some expanded handling of workers - all worker instances now come with both startup- and liveness probes attached by default.

๐Ÿ”—Dept of Bridges ๐ŸŒ‰

๐Ÿ”—Threematrix (website)

A bridge to the Threema messenger

Moritz Stรผckler says

Say hello to a new bridge in Matrix universe (or rather fediverse): Threematrix. As you might've guessed from the name: It's a bridge between the Threema messenger and Matrix. Threema is a very popular messenger in europe, especially in German speaking countries (it's a swiss company). We've just released our very first alpha version โ€“ it's a very simple bot bridge for now, but we have quite a lot of improvements on our todo list. Currently, it only works with the (paid) Threema Gateway API product, but we're trying to talk to Threema to come up with a more affordable hobbyist pricing model for bridge use. Feel free to follow our releases in the GitHub repo, follow our Mastodon account and join our Matrix room to stay up to date or ask any questions.

P.S.: We're two freelance developers and we're being funded by the German Prototype Fund program. If you're an OSS developer in Germany, check them out!

๐Ÿ”—matrix-hookshot (website)

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

Andrew F says

Hookshot 1.8.1

Hello all -- since our last TWIM announcement, Hookshot has been updated from 1.7.2 to 1.8.1. Aside from usability fixes and documentation improvements, there have been some notable changes to generic webhook support:

  • XML webhook payloads are now decoded instead of being treated as blobs of text. This means they render more nicely as room messages, and more importantly, it allows them to work with custom JavaScript transformations. (#410)
  • GET requests for generic webhooks are no longer supported by default. For details, refer to the documentation. (#397)

As usual, visit #hookshot:half-shot.uk to follow the development in real-time.

๐Ÿ”—Dept of Clients ๐Ÿ“ฑ

๐Ÿ”—Quadrix (website)

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

JFA says

Quadrix v1.2.2 is now available for Linux (https://snapcraft.io/quadrix, https://flathub.org/apps/details/chat.quadrix.Quadrix) and Android (https://play.google.com/store/apps/details?id=chat.quadrix.android). Other platforms will soon follow.

New in this release:

  • Spanish translation!!!
  • Fix for the Jitsi Meet link displayed to non-Quadrix users (thanks to @alpabrz:matrix.org)

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

๐Ÿ”—Nheko (website)

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

Nico reports

I got a fantastic release for you to day and it won't fit inside a normal sized update so without further ado, here are the highlights:

  • Notification counts ๐Ÿ’ฏ (LorenDB, d42)
    • You can now see notification counts in more spaces, like your task bar or in the community sidebar.
    • For better work-life balance you can hide the notification counts on a per space basis.
    • For notification counts in the task bar your desktop environment needs to support the Unity protocol.
    • Notifications are also preserved across restarts now.
  • Moderation ๐Ÿ‘ฎโ€โ™€๏ธ
    • You can now change the permissions and aliases of a room.
    • Permissions are shown in the Memberlist
    • A new /redact command to redact an event or all messages by a user.
    • You can now provide a reason when inviting, knocking, kicking and banning users.
  • Faster startup โšก
    • On at least some systems startup should now be instant even with thousands of rooms.
  • Encryption improvements ๐Ÿ›ก๏ธ
    • Support for the most recent changes to Matrix E2EE including fallback keys, no longer relying on the sender_key.
    • Compatibility and stability improvements when dealing with different base64 encodings and when verifying users and devices.
    • Fetch the whole online key backup at the click of a button.
  • Integration with external apps ๐Ÿ—บ๏ธ (LorenDB)
    • Nheko now has a D-Bus API, which you can enable in the settings menu.
    • This allows applications like KRunner or Rofi to list and switch between rooms.

If you are reading this a bit early, the release builds might still be cooking, but they should be available in the next few hours. There about 40 more features and at least 30 bugfixes waiting for you, so checkout the release here: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.10.0 . I'd like to thank as always everyone who contributed to this release, it has been a pleasure to work with you folks and I hope I will see a few of you in the next release as well.

As you might be able to tell, moderation features were a big topic this release. But they are clearly not done yet and I expect more of those to land in the future now that Nheko is fairly mature. There are also a few other cool features planned, so while this release is exciting, there will always be more! Same bad client, same bad... wait, this is not my outro!

Please give this release a whirl and tell us how you like it in #nheko:nheko.im!

๐Ÿ”—Element Web/Desktop (website)

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

kittykat says

  • Weโ€™ve made more improvements to the new search
  • Added a new emoji effect for ๐Ÿ’ which you can also send with a /hearts command in the composer
  • CicadaCinema and luixxiul have submitted more layout polishes to the app
  • Frequently used emojis will appear at the top of the autocomplete suggestions in the composer
  • Meanwhile, work continues on message favouriting and live location sharing
  • Lazy Loading tests have now been migrated to Cypress. We are coming closer to finishing porting.
  • Code style guide is now in final commenting period
  • This weekโ€™s release (1.11.1) has been delayed until next Tuesday while we fix some last minute issues

๐Ÿ”—Element iOS (website)

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

ศ˜tefan announces

  • Version 1.8.23 (with in-app notifications!) is now available on the AppStore
  • The new first time user experience is getting very close to release
  • Good progress is continuing to be made on the new home screen layout
  • We can now silence unwanted push notifications, dare I say, finally!
  • We have started experimenting with adopting Sync V3 in ElementX
  • And, as always, we have fixed various bugs including edited messages not showing the right text

๐Ÿ”—Element Android (website)

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

benoit announces

  • Release 1.4.28 has been dropped, to give us time to fix the regression and performance issue added when key share history was worked on. The next RC 1.4.30 will be done next week as usual.
  • We have started to work on using the new Realm Kotlin SDK (we are using the legacy Java SDK at the moment): it should improve the stability of the app (and so the crash free session) and improve devX. Nearly all the possible blocking points have been handled. This will force us to use suspend methods, which will be useful for ElementX.
  • Latest tweaks on FTUE have been merged on develop. We will iterate on a few things, but we are close to releasing the feature! New wordings for FTUE are waiting for translations on Weblate. Thanks to all the contributors!
  • We have set up a nightly build using Firebase app distribution. We keep it internal for the moment, we will see in the future if we want to open it to the community.

๐Ÿ”—Open Super dApp (Android)

Brendan A. Miller reports

New project! open-super-dapp-android is a fully open source, open standard, decentralized "super app" including a secure, encrypted Matrix compatible messenger based off of the Element Messenger, and an Ethereum crypto wallet and web3 browser based off of Alpha Wallet. Our mission is to foster, and provide access to, a decentralized and secure digital commons for all. Github repo: https://github.com/2gatherproject/open-super-dapp-android

OSD is a downstream project of Element, aiming to provide the functionalities of a "super app" like WeChat, just as an open, distributed and not-for-profit app instead of a proprietary, closed and for-profit one.

This software is pre-alpha, actively seeking contributors, donors and maintainers/leaders. Get in on the ground floor and help build something amazing!

Currently, Open Super dApp builds and runs with full functionality of the Element messenger and Alpha Wallet in the same Android app, with all existing tests passing. Efforts to further integrate their functionalities are just beginning.

Next steps include:

  • Demonstrate easy to use person to person Ethereum payment functionality between Matrix users.
  • Provide a powerful and easy to use messaging and payment javascript API for use by web3 applications accessed through the Open Super dApp. Produce sample web dApps using this API.
  • Centralize cryptographic secrets between the wallet and the messenger.
  • Build a parallel iOS version for iPhones using Element iOS and Alpha Wallet iOS.

๐Ÿ”—Dept of SDKs and Frameworks ๐Ÿงฐ

tusooa says

We released 0.2.0 of libkazv. Change log is as follows:

  • Support streaming uploads. https://gitlab.com/kazv/libkazv/-/merge_requests/1
  • Fix ctx.dispatch() returning promises resolving to empty EffectStatus. https://gitlab.com/kazv/libkazv/-/commit/c7796a6ab8325773bf47fe83254a377204d6abcf
  • Prevent leaking full file path when uploading to matrix server by using only basename for the request.
  • Deal with timeline gaps properly. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/1
  • Record state events in timeline. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/2
  • Add support for streaming download. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/3
  • Add support for Boost.Serialization. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/4
  • Support encrypted attachments. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/5
  • Allow custom random generator with crypto. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/6
  • Support auto-discovery. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/12
  • Support profile API. https://lily.kazv.moe/kazv/libkazv/-/merge_requests/13
  • Support kick/ban API. https://lily-is.land/kazv/libkazv/-/merge_requests/15
  • Support room heroes. https://lily-is.land/kazv/libkazv/-/merge_requests/16
  • Add coverage report. https://lily-is.land/kazv/libkazv/-/merge_requests/17

๐Ÿ”—Deprecated

  • makeDefaultEncryptedSdk() is now deprecated. Use makeDefaultSdkWithCryptoRandom() instead.

๐Ÿ”—matrix-rust-sdk (website)

Matrix Client-Server SDK for Rust

ben says

This week has seen an merges of many minor, partially longer-pending PRs into the mainline code base: among them a fix for a longer pending CI problem with Apply builds, an update to latest ruma and many minor fixes and style improvements. We've also gotten the Crypto-bindings for the JS in web using WASM a lot further, the only thing remaining for a release are some last minute PRs and fixes in the release infrastructure. But the most changes to the code base this week have been coming from the appservice department, who've submitted, reviewed and merged a whopping seven PRs this week, fixing various problems and adding a bunch of appservice specific features.

Beyond purely code changes this week has seen a lot of project starts, too: For ones, with the help of the rust team, the iOS Team has started integrating the Sliding-Sync/Sync V3 into the upcoming Element-X-Series; the team has put up the first PR to add integration tests against an actual synapse server (some issues pending); a workshop set out the first ideas for the new upcoming timeline API; and a very interesting draft PR was brought in from community member docweirdo proposing a new API on top of the existing SDK to have futures wait for actual completion - no more sending a message and observing sync for the appropriate response yourself.

๐Ÿ‘‰๏ธ Wanna hack on matrix rust? Go check out our help wanted tagged issues and join our matrix channel at #matrix-rust-sdk:matrix.org.

๐Ÿ”—Dept of Ops ๐Ÿ› 

๐Ÿ”—Synatainer (website)

Synapse Maintenance Container โ€“ Docker container with tools for synapse & postgres database maintenance

saces reports

Synatainer v0.4.1-RC1

Synapse Maintenance Container โ€“ Docker container with tools for synapse & postgres database maintenance

A lot of things added and changed, and I'm sure I missed something, so I will go with a release candidate this time

New in v0.4.1-RC1

  • enable PGPASSFILE support for better database password handling
  • add tools to detect and maybe fix synapse issue 12507 and 13026 (No state group for unknown or outlier event)
  • internal: added an extension for mautrix-go to serve synapse admin api requests
  • lots of iternal changes

stui is a typical golang binary, it's also available as stand alone version from the release page

Tools for No state group for unknown or outlier event

[docker run -it --rm registry.gitlab.com/mb-saces/synatainer:0.4.1-RC1] stui 12507 --help
[docker run -it --rm registry.gitlab.com/mb-saces/synatainer:0.4.1-RC1] stui 13026 --help

The tools scan the database for the issues and tells you which rooms are affected. Adding the --fix option, it destroys your databasedeletes the bogus extremeties. Use at your own risc. And make a backup.

The doc have still a lot of space for improvementsโ€ฆ


Start the container without command and let do its magic :)

What it does by default:

  • daily:
    • purge all rooms without local members
    • run the state autocompressor (500/100)
  • weekly:
    • delete old remote media (>90 days)
    • delete old message history from public joinable rooms (>180 days)
  • monthly:
    • vacuum the database

Source: https://gitlab.com/mb-saces/synatainer

Room: #synatainer:c-base.org

๐Ÿ”—matrix-docker-ansible-deploy (website)

Matrix server setup using Ansible and Docker

Slavi reports

Thanks to Stuart Mumford (@Cadair) for starting (PR #373 and PR #622) and to Julian-Samuel Gebรผhr (@moan0s) for finishing up (in PR #1894), matrix-docker-ansible-deploy can now help you set up maubot - a plugin-based Matrix bot system.

See our Setting up maubot documentation to get started.

๐Ÿ”—Dept of Bots ๐Ÿค–

๐Ÿ”—Auto-reply maubot plugin

Brendan Abolivier says

Because I don't like having to change my display name to tell coworkers when I'm away, I've written a maubot plugin for an auto-responder bot.

It allows me to signal when I'm away, at which point anyone who sends a message in an existing DM will be sent an automated reply so they know that I'm away, when I'll be back, and how to reach out to me in case of emergencies (it does this once per DM until I come back). When I'm back, I just need to tell the bot and it will automatically turn off the auto-responder and give me a summary of the DMs in which I've missed messages while I was away.

The source code and package for this plugin are available right here: https://github.com/babolivier/maubot-autoreply ๐Ÿ™‚

๐Ÿ”—MSC Bot

minecraftchest1 says

I just created a simple bot that generates a MSC url from the specified MSC id. The source code for the project can be found at https://mau.dev/minecraftchest1/mscbot/. And example instance can be found at @maubottest1:synapse1.arsrobotics.org Demo and use the bot in #msc-bot:synapse1.arsrobotics.org

Cat reminds us

This feature is already in the MSC bot used in #matrix-spec or atleast in one of those bots.

๐Ÿ”—Matrix Release Tracker (website)

A release tracker that posts updates into Matrix rooms

Ananace announces

My release tracking bot received a bunch more work since the last update. It now supports tracking repos, groups, and user stars on GitHub, GitLab (both .com and self-hosted), as well as Gitea (though Gitea requires a token for reading stars). And also tracking "releases" - a.k.a. tags - on bare Git repos, at least as long as they don't require SSH key authorization. Things are getting ever closer to a 1.0 release, with only really some missing bang commands and error reporting being the remaining pieces.

๐Ÿ”—Dept of Events and Talks ๐Ÿ—ฃ๏ธ

๐Ÿ”—HOPE conference

cel reports

HOPE conference (today/tomorrow/Sunday) is using Matrix https://hope.net/

๐Ÿ”—End of Matrix Summit 2022 CfP

ChristianP announces

The Matrix Summit 2022 is a community event taking place Thu, 25th to Sun, 28th Aug at c-base in Berlin. Today's the last day to propose presentations and workshop. The exact deadline is 22:22 (Europe/Berlin).

Will you be in Berlin and have a Matrix project to talk about? Can you organise a workshop about how to use Matrix? How does your community or workplace use Matrix? Submit your proposal now!

https://cfp.summit2022.matrixmeetup.de

๐Ÿ”—Matrix-DevRoom at FrOSCon

ChristianP reports

FrOSCon is a conference that takes place in Siegburg/Bonn, Germany on 21st and 22nd August. Most presentations will be German, but there are some in English as well. It's all about free, open source software.

And, best of all, we'll have an entire DevRoom track for a day โ€“ full of Matrix. Furthermore, you can come by the Matrix stand for that famous hallway track. โœจ I know I'll be there. ๐Ÿ‘‹

https://programm.froscon.org/2021/events.html#matrix%20track

๐Ÿ”—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
1envs.net309
2babel.sh392
3keks.club473
4rom4nik.pl641
5babel1.eu750.5
6alemann.dev793
7mindlesstux.com892
8kittenface.studio989
9roeckx.be1063
10supersandro.de1110

๐Ÿ”—#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
1babel.sh172.5
2dendrite.matrix.org275
3joeth.uk294
4babel1.eu302
5dendrite.babel.sh509.5
6rustybever.be708

๐Ÿ”—That's all I know ๐Ÿ

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