Matrix notifications now send both a plain-text fallback and an
HTML formatted_body (org.matrix.custom.html) so Element and other
Matrix clients render rich, colored alerts:
- Down/failed/error → red (#E74C3C)
- Warning/expiring → yellow (#F39C12)
- Maintenance/paused → orange (#E67E22)
- Up/resolved → green (#2ECC71)
- Default/info → blue (#3498DB)
Detail lines from the plain-text message are rendered as a <ul>
bullet list beneath the colored heading. Plain Body is preserved
for clients without HTML support.
Also includes resource type (CPU/DISK/etc.) in fallback server
alert messages to improve context.
Implements native Matrix notification channel support, allowing users
to receive service alerts in any Matrix room via the Client-Server API.
Changes:
- server/service-operation/notification/matrix.go: new Matrix service
implementing the NotificationService interface (PUT /_matrix/client/v3/...)
- server/service-operation/notification/types.go: add MatrixHomeserver,
MatrixRoomID, MatrixAccessToken fields to AlertConfiguration
- server/service-operation/notification/manager.go: register MatrixService
- server/pb_migrations/1772200000_updated_alert_configurations_matrix.js:
PocketBase migration adding matrix fields and notification_type value
- application: Matrix option in channel dialog with homeserver/room/token
fields, tab filter, list display, type definitions and translations (en, km)
- application/public/upload/notification/matrix.png: Matrix channel icon