github etkecc/ketesa v1.2.0
Ketesa v1.2.0

15 hours ago

✨ New Features

Accessibility Overhaul (WCAG Compliance)
Ketesa underwent a comprehensive accessibility audit and remediation pass. All action buttons now carry proper ARIA labels, the application layout enforces a correct heading hierarchy, and a new semantic Datagrid component replaces the previous table markup throughout. Accessibility linting (eslint-plugin-jsx-a11y) and automated axe assertions (vitest-axe) are now part of the development cycle, preventing regressions from landing silently.

Reverse User Search
The user list search now accepts a !term exclusion prefix. Prefixing a query with ! returns all users whose relevant fields do not match the term. An hourglass indicator appears in the search field whenever reverse mode is active, so the current query polarity is always visible. See User Search documentation.

Well-Known Discovery Toggle
A new wellKnownDiscovery configuration option (boolean, default true) controls whether Ketesa rewrites the homeserver URL via /.well-known/matrix/client on login. Set it to false for VPN-only or otherwise restricted deployments where the well-known endpoint is unreachable from the browser. See Well-Known Discovery documentation.

Delete All Media
A new bulk action button lets admins delete all media associated with a user or room in one click. The action is available from media tabs and the bulk actions menu.

Room Type Chip on Room Detail
The room detail page now shows a type chip (Space or Room) alongside other room metadata, making room classification visible without navigating elsewhere.

Portuguese (PT) Locale
Portuguese is now a fully supported language, covering all eight translation namespaces. This is the first new locale added since the initial release.

Availability Page
A new documentation page lists all official and community distribution channels—hosted instance, Docker image, and static release archives—making it easier for new users to find the right deployment option. See Availability documentation.

Components Catalog (etke.cc)
etke.cc customers can now browse, enable, and disable services—bridges, bots, and add-ons—directly from the admin interface. The catalog shows real-time cost impact for staged changes and automatically opens a support ticket for the operator to act on. No manual email required. See Components documentation.

Support File Attachments & Request Closing (etke.cc)
The Support page gained two long-requested capabilities: file uploads (up to 5 files, 5 MB each, 10 MB total) can now accompany replies, and requests can be formally closed once resolved. Visual feedback after submitting a reply was also improved.

Billing Status Warnings (etke.cc)
The Billing page now surfaces subscription health at a glance. A new status badge appears when an upcoming payment issue is detected—expired card, failed charge, or past-due balance—so problems are caught before service is affected.


🐛 Bug Fixes

  • Consider /_matrix/client/v1/auth_metadata endpoint for OIDC/MAS login flows (#1125)
  • Add trailing slash to OIDC redirect URI to prevent unrecognized-endpoint errors (#1122)
  • Always use Synapse-first user list when MAS is enabled, fixing incorrect user filtering in hybrid deployments (#1118)
  • Introduce UI-only local-members filter in room member list for MAS deployments (#1117)
  • Fix MXID regex to accept IP-only homeserver addresses

🔧 Under the Hood

The data provider layer was modularized: the monolithic provider was split into focused modules (lifecycle.ts, mas-actions.ts, mas-utils.ts, scan.ts, synapse-actions.ts), improving testability and making MAS-specific code easier to reason about. Test coverage expanded substantially—over 1,100 new test lines covering date utilities, error formatting, logger behavior, MAS utilities, auth callback error flows, and MAS policy data rendering. All 11 locales were audited and updated for terminology consistency.

What's Changed

Full Changelog: v1.1.0...v1.2.0

Don't miss a new ketesa release

NewReleases is sending notifications on new releases.