Skip to content

Ketesa v1.5.0

Latest

Choose a tag to compare

@aine-etke aine-etke released this 07 Sep 16:10
· 2 commits to main since this release
0502d18

Room deletion finally has the purge controls Synapse always had and Ketesa never showed you. MAS user filters work now, and not the "we promise it works" kind, the real kind. Two bugs that either hung the app or 404'd your media are dead. Smaller release, but if you run MAS or a plain-http deployment, a couple of these are worth upgrading for yesterday.

Room deletion gets its purge controls

Deleting a room through Synapse has always had two knobs Ketesa never showed you: whether to purge the room's data from the database, and whether to force purge when local users are still in the room. You got neither. Now the delete dialog has both.

  • Purge all room data from the database is on by default, same as before, so nothing changes if you just want a room gone.
  • Force purge even if local users are still in the room is off by default, sits behind a warning, and only unlocks once purge is checked. Use it when a normal delete refuses, and know the tradeoff: it can leave those users' clients in a confused state, which is exactly why it isn't the default.

Note: the toggles reset to clean defaults every time you open the dialog. This button survives selection changes, and we did not want force_purge riding in still-checked from the last room you looked at (e19e632).

MAS user filters that actually filter

If you run Matrix Authentication Service, the user filters were broken. Not "kinda off", broken. You filtered by status (active, locked, deactivated) or by admin, and got back a random subset or dead silence. The reason: a MAS user's true state is split across two systems, Synapse and MAS, and Synapse's own user endpoint can't filter on the half it doesn't own. The filter was asking the wrong system a question it couldn't answer.

Ketesa now does the merge itself: it pulls the full MAS user list, combines it with Synapse's view of each account, and filters on the actual state in memory. Active, locked, deactivated, and admin filters return what you actually asked for in MAS mode now (85da7bf). The locked filter stays inclusive by design: making the deactivated and admin filters exclusive at the Synapse level would silently drop MAS-only accounts.

Two bugs that just made things not work

Ketesa would hang against an http-only deployment. If you pinned Ketesa to a specific homeserver with restrictBaseUrl and that server runs plain http, Ketesa took the hostname from your URL and dial it over https anyway. An http-only server never answers an https request, so the app just sat there until it timed out. It carries the protocol through with the host now (a0c5228, fixes #1307).

Media downloads 404'd on a stray slash. The admin media download URL had a trailing slash sitting right before the query string (.../{mediaId}/?admin_unsafely_bypass_quarantine=true), and Synapse's media endpoint doesn't accept it. Gone now (b0f54e4, #1308), thanks to @dasha-uwu!

Support request attachments (etke.cc)

If you host with us, you know the pain: a file attached to a support request used to vanish into a black hole, visible to nobody and unreachable from the page. That hole is closed.

  • Attachments show up on the request now (2984f3b).
  • And you can download them straight from the browser (93865a9).

Nothing to configure, they just appear on the support request view.

What's Changed

New Contributors

Full Changelog: v1.4.0...v1.5.0