diff --git a/containers/118-elementsynapse.md b/containers/118-elementsynapse.md index ecbd0be..c1c9bbb 100644 --- a/containers/118-elementsynapse.md +++ b/containers/118-elementsynapse.md @@ -53,7 +53,14 @@ Fix (after stopping Synapse and backing up `homeserver.db`): - `DELETE FROM event_push_actions WHERE event_id IN (SELECT event_id FROM events WHERE type='m.room.redaction')` — removes redaction-driven notifications. - Rebuild `event_push_summary` from the remaining rows (preserve `thread_id='main'` to satisfy the NOT-NULL check constraint). -Result: 125 → 4 (legitimate WhatsApp unreads). If this recurs, the durable fix is a push-rule to suppress `m.room.redaction` notifications (account data, per-user) or upstream a custom rule in `homeserver.yaml`. +Result: 125 → 4 (legitimate WhatsApp unreads). + +Then, to stop this recurring, an **override push-rule** was installed for `@admin` via the client API: +``` +PUT /_matrix/client/v3/pushrules/global/override/suppress_redactions +{ "actions": [], "conditions": [{ "kind": "event_match", "key": "type", "pattern": "m.room.redaction" }] } +``` +With empty `actions`, all `m.room.redaction` events are silently ignored by the push system. Inspect/remove via the same endpoint. (Note: rule ids beginning with `.` are reserved for server defaults — custom ids cannot start with a dot.) ### 2026-05-15 — disk-full incident, rootfs grown to 16 GiB, bridges restarted Element/Synapse was unreliable for ~2 days: messages dropping, sync requests stalling, mautrix bridges (slack/signal/meta/linkedin/whatsapp) all exited around 2026-05-13. Root cause: rootfs reached 100% (19 MB free of 7.8 G); Synapse logs showed `OSError: [Errno 28] No space left on device` during flush. Fix: `pct resize 118 rootfs +8G` (host `pve` VG had plenty of headroom), `journalctl --vacuum-size=50M` to recover ~200 M, `systemctl restart matrix-synapse`, then `docker compose up -d` in each `/root/mautrix-*` directory. Also expanded this wiki page to document the bridges, synapse-admin, and the actual DB backend (Postgres, not the SQLite leftover).