Thanks Erik, Jorik and Oliver!
Note that there is a audio hiccup around 2m30 - video is ok otherwise.
Dendrite continues marching forward! As more attention is turned towards our fairly lengthy PR list, contributors who have not done so already are reminded to merge Dendrite's master branch into their PRs, as converting the project to go modules caused a lot of conflicts. A tag has been added to each PR that needs forward merging, visible here.
Our GSoC student cnly has been working away on implementing profile retrieval over federation as well as updating his various other PRs and would likely have a lot more if they were getting more reviews, but worry not as things look on track for that next week.
We've also got plans now! Plans for how to properly ship this thing over the coming months so look out for that soon!
This week we shipped v1.1.0, which provides an overhaul of docker configuration, more authentication options and improved db io. It’s worth noting that v1.1.0 is the first Synapse release to drop support for Python 2 (and Postgres 9.4), this paves the way for using Python 3 only functionality.
We’ve been working on supporting soft logout, more edits and reactions support, open tracing support not to mention a complete rewrite of the push server Sygnal. We’ll be rolling out new Sygnal gradually over the next week or two.
Finally, aided by dropping Python 2 support, we’ve been putting in a bunch of work to improve Synapse in resource constrained environments. This will be a constant theme over the coming months.
A Python module meant to act as a base class for a Matrix bot.
The MatrixBot class will connect to the Matrix server, start a listener on each joined room, and listen for room invites from other users. It also includes helper methods you can use to extend the functionality. It is built on the Matrix Python SDK which can be directly accessed via MatrixBot.client
koma got some improvements, based on what's learned developing Continuum, which is a desktop client based on it.
- Make api calls suspendable functions (which are like Kotlin's flavor of async). This way, the caller don't need to worry about forgetting to call await or a coroutine being left unstarted.
- Borrowing from functional programming, model the outcome of a call as a discriminated union, which can be either a success or a failure. The successful case is optimized with inline classes, an experimental feature in Kotlin 1.3, and wrapping is avoided.
- Make MatrixError a subclass of HttpError, because the http status code can be handy
Just released version 1.2.1 of the Ruby SDK, fixing an error in the media download URL generation
Half-Shot was seen to exist IRL this week, he also found time for a new release:
Today we have a new matrix-appservice-bridge release 1.9.0. The bigname feature this week is a new store for mapping matrix events to remote ones, so bridges can handle changes made to sent events like reactions/threading/edits/redactions :). The reason for this feature appearing suddenly will become clear very soon.. 😈
Another week, which means more work on the mx-puppet-bridge ecosystem! A new > bridge has been added, mx-puppet-discord. Soru finally added license files > (Apache-2-0) and some readmes.
- implement optional double-puppeting (also logging into your matrix acc)
- relate remote event IDs to matrix event IDs
- handle edits in both directions
- handle redactions in both directions
- initiating conversations from matrix! Invite a ghost for 1:1 or follow a > room alias for rooms
- bot provisioning: list users and rooms
- add linting
- map channels and slack pills
- handle message edits
- handle message deletions
- properly handle /me messages
- handle ghost invites
- handle room joins via alias
- add linting
- improve bootstrapping
- improve file transfers
- handle ghost invites
This is the new puppeting bridge! The idea is that, in the long run, this will > be run in conjunction with matrix-appservice-discord Half-Shot/matrix-appservice-discord), where mx-puppet-discord handles DM > puppeting and matrix-appservice-discord the remaining. For this, the message > parsing was split in a new repository, matrix-discord-parser. The idea is that, in the > future, when inviting a ghost on matrix-appservice-discord it'll initiate > conversation within mx-puppet-discord
- basic text messages
- handle files
- handle edits, deletes
mx-puppet-discord does only DMs, for non-DMs please use matrix-appservice-discord
We've got a dedicated room for slack bridge development over at #matrix_appservice_slack:cadair.com, since it's picked up in terms of community PRs and general interest. It's not currently being used as a support room, however.
warning may contain ranting about the codebase
But that could be any room, so it seems ok to me.
WARNING: LATE ADDITION
The headline features are:
- Implement message deletion.
- Add support for edits.
- Add support for reactions.
- Add support for threading (using replies).
- Support displayname and avatar lookups for Slack bots.
- Replace channel mentions with canonical aliases for bridged rooms.
- Support for slack attachments (Thanks @umitalp for the initial groundwork and @Cadair for the cleanup)
The new release is having very final minute checks, and will be available at https://github.com/matrix-org/matrix-appservice-slack/releases shortly.
After an internal release, we are working on improving the performance, especially for initial sync and for navigation between rooms.
Also we are fighting bugs.
A new version of Pattle has been pushed to F-droid and TestFlight!
- Fix the infamous
FormatException: Not a valid url:error!
- Room upgrades are now handled!
- Upgraded rooms are now hidden from the overview
- To access older messages from the previous room, simply scroll up: the timeline is seamless
- Improve performance of loading the overview. Opening the app should be a lot quicker now!
- Improve performance of loading a chat
- Add ability to swipe through images in a chat (thanks to Nathan van Beelen!) See preview here!
Get Pattle from F-droid for Android by adding this repo:
APK also in assets of this release.
For iOS: join TestFlight here
Follow development in #app:pattle.im!
I've invested a lot of money in making Pattle happen on iOS: MacBook, Apple Developer Program, and an iPhone. Pretty costly, so any donations will be greatly appreciated!
What to expect in the next release:
- Fix timeline jump issues
- Remove redundant state messages when a room is upgraded
- Start work on chat details screen (members, change name, etc.)
to push things forward on Matrix URIs front, Quaternion master branch now supports matrix:user/userid, matrix:room/roomalias and matrix:roomid/roomid URIs. For example, Quotient/Quaternion room can be opened by a link matrix:room/quotient:matrix.org.
This will be so much easier to use! Also:
Quaternion has got a new contributor, Roland Pallai (https://github.com/rpallai), who added colouring of messages sent by the local user and support of drag-n-drop of text and images on Quaternion, along with general improvements on the timeline. Many thanks!
Windows builds of Quaternion (CI and future releases) come with Qt Keychain enabled, storing your access tokens in Windows secure storage.
A lot of improvements have been added to Spectral last week.
- Spectral uses QtKeychain now. Access tokens are stored in system keychain instead of in plain text.
- Room list's filter has a better UX(aka TabBar). Switching between rooms and DMs is now as easy as switching between, well, tabs.
- Notification count in system tray icon, implementation modified from nheko.
- Display initial sync progress. Some people have been complaining about not knowing the progress of initial sync so I added an indicator.
- A better room setting page. Specifically displaying aliases and changing room avatar are working.
- Big emojis.
- Typing indicator UI is tweaked and looks better.
- Reactions in e2e rooms
- “Show all” button when there are too many reactions
- Support edition of emotes and replies
- Edits history (even in e2e rooms)
- Fix joining new upgraded room through federation
- Use via parameters to join a new room (useful in case of federation)
- Allow resending edits, reactions and redactions through context menu, also better visualization of send errors.
- Allow redacting and viewing source of edits in edit history dialog
Bumped the K8s optimized Docker image to 1.1.0, with the same dropping of Python 2 and Postgres 9.4 support as the official image.
NB: The upstream docker configuration changes do not affect the K8s-optimized image, no configuration change is necessary to upgrade from 1.0.0 to 1.1.0
As announced last week, with the release of synapse 1.1.0 the avhost/docker-matrix image switched to running synapse with jemalloc by default
modular.im are making the much-asked-for SMALL instances available. This service is rolling out starting with people who have previously enquired about availability, which I gather is a lot of people. Go sign up if you're interested!
The wait is almost over ... We're now rolling out our trial of Small Hosted Homeservers for Matrix. Have you got your golden ticket yet? 😀🎟️ pic.twitter.com/iUkAIHW9MY— Modular (@ModularIM) July 3, 2019
we've been working on a v1 admin dashboard for managing your Synapse instances through Modular. This is now live on the site and provides a basic suite of functionality including:
- Viewing users of your synapse homeserver(s)
- Creating users
- Deleting users
- Resetting user passwords
- Viewing user profile and server access / activity
- Sending messages to all system users as the system alerts user
- Information about the synapse instance versions
Somehow I had a tab open with a maubot for Urban Dictionary.
See you next week, and be sure to stop by #twim:matrix.org with your updates!