membershipparams as per MSC1227 (#3568)
summaryblock in /sync response as per MSC688 (#3574)
accumulates Russian translates of Matrix FAQ and manuals, and other info about Matrix in Russian. Also we starts a public Matrix Synapse server for Russian users with free open registration
Russian Matrix users: feel free to add and complement articles in our wiki to make Matrix more friendly for Russian users.
Seaglass now has support for creating, joining and leaving rooms, and accepting/rejecting room invites, redacting messages, improvements to the room settings pages, timestamps, some visual tweaks, lots of bug fixes, early support for detecting failed message sends, scrolling improvements
Typing notification and desktop notification of Matrique are working, plus other improvementsSee the latest commits here.
It allows external systems (which know the shared secret) to easily obtain access tokens for any user hosted on the homeserver. This is incredibly useful for all sorts of automation (no more pre-generated access tokens or plain-text passwords).With this tool, you can pass a mxid, and get back an access_token for that user. With this, you can do whatever actions would normally be done with a token. For example, you for a new starter at a company, you could join a set of rooms known to be needed by new starters.
Support room for Shared Secret Auth: #matrix-synapse-shared-secret-auth:devture.com
Next, he has released Matrix Corporal, reconciliator and gateway for a managed Matrix server:
It's a way to take control of Matrix (Synapse) in a corporate (or other such) environment.Support room for Matrix Corporal: #matrix-corporal:devture.com
Based on a configuration policy (generated by an external system, like your intranet), it can auto-create and auto-disable users, keep their profile and authentication details to date, auto-join/leave users to communities and rooms, etc.
It's also meant to sit in front of the Matrix Synapse Client API, inspecting and allowing/denying requests, in accordance with the configuration policy (preventing people from leaving certain rooms/communities, preventing them from messing around with their profile details, etc.)
Note that Slavi also maintains matrix-docker-ansible-deploy, which can deploy these projects along with Synapse itself.
Why? Because why not. Source available on github: https://github.com/turt2live/matrix-hashtag-bot
Just pushed out matrix-appservice-irc 0.11.0-rc3 which contains a lot of nice things. The full changelog is there, hoping to get some of this tested and running on the matrix.org servers soon, but initial testing looks good :)
Released matrix-appservice-bridge 1.6.0 which contains mostly things I was writing for the irc bridge and factored out instead. There's a couple of goodies like automatic caching of profiles/events, and getEvent as a way to fetch events from the homeserver without fiddling with context.Full changelog: https://github.com/matrix-org/matrix-appservice-bridge/blob/1.6.0/CHANGES.md
Intentoperations now cache requests that would otherwise fall through to the homeserver which can be expensive. This is configurable for
Intents via the
sizeoptions. AgeCounters now allow you to set your own time period buckets. Added a new function
Intent.getEventwhich will fetch events from the homeserver without any context information, which should be quick.
MembershipCacheis now exposed to let folks read and write to the cache while also letting the bridge access it.
arelease: Fix issue where
brelease: Fix issue where we were calling this.intent inside intent like fools!
crelease: Fix issue where some stole js-sdk code was not checked thoroughly.
It uses the go-whatsapp library to talk with the WhatsApp Web API. Using the web API means that you'll still need WhatsApp on your phone connected to the internet, but it also means you won't get banned for using the bridge.To come chat about the WhatsApp bridge: #whatsapp:maunium.net.
The bridge is still very alpha, but basic message bridging and some advanced features already work. There's a features & roadmap document about that.
There were two releases last week:
0.4.6 with additional commands (follow, unfollow, mute, unmute, block, unblock users, show followers and followings of the specified user) and a little bugfix.0.4.7 is out now, which increases the length of messages to 4000 characters.
the Construct has advanced to fully asynchronous disk IO in a single-threaded environment.
RocksDB is a highly configurable and customizable database with a very large callback surface to support many different environments, which is good to connect it with something like AIO.
Normally RocksDB gets its performance from concurrent standard POSIX system calls (blocking IO) with multiple threads. The callback surface and its internals are not specifically suited for deviating from the pthread model. However I hacked RocksDB and tricked it into believing that my userspace contexts, which mimic the
std::thread/pthreadinterface, are threads.
This is an example of a RocksDB callback to read from a file, it expects this callback to return immediately (i.e as soon as the kernel returns from a blocking read(2).) Except, where I call
fs::read()that is actually a stack-suspension which makes a request to linux AIO where the stack resumes after AIO has called back with the data (see: https://github.com/jevolk/charybdis/blob/master/ircd/aio.cc)
No modifications to the internals of RocksDB were necessary. The Construct is being developed here: https://github.com/jevolk/charybdis.
Presentations from Ben and Half-Shot seemed to go down well, we all chatted with Open Source fans and generally flew the flag for Matrix.