fix: explicit m.mentions for ticket notifications and roasts (ahead of Synapse 1.164)
Lint / Shell (shellcheck) (push) Successful in 11s
Lint / JS (eslint) (push) Successful in 12s
Lint / Landing page is rendered (matrix (push) Successful in 5s
Lint / No secrets in webhook configs (push) Successful in 5s
Lint / Python (ruff) (push) Successful in 7s
Lint / Secret scan (gitleaks) (push) Successful in 6s
Lint / Shell (shellcheck) (pull_request) Successful in 10s
Lint / JS (eslint) (pull_request) Successful in 9s
Lint / No secrets in webhook configs (pull_request) Successful in 5s
Lint / Python deps (pip-audit) (push) Successful in 43s
Lint / Landing page is rendered (matrix (pull_request) Successful in 4s
Lint / Python (ruff) (pull_request) Successful in 7s
Lint / Secret scan (gitleaks) (pull_request) Successful in 6s
Lint / Python deps (pip-audit) (pull_request) Successful in 39s

Synapse 1.164 turns on MSC4210 by default: the legacy push rules that
pinged when a user ID or display name appeared in the body are removed, so
a message only notifies the users listed in m.mentions.

- hookshot/tinker-tickets.js deliberately pings assignees/watchers
  (notify_users) with matrix.to links; those pings would stop. Return
  mentions: { user_ids: notifyUsers } (hookshot 7.3.2 v2 transforms
  support it).
- matrixbot: send_html takes optional mention_user_ids; !roast mentions the
  target when given as a full Matrix ID. Winner announcements stay without
  a ping (the player is already in the room).

No @room is sent anywhere. Lotus Chat already sends m.mentions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
This commit is contained in:
Lotus CI
2026-10-27 20:04:27 -04:00
co-authored by Claude Opus 5.5
parent 54bdada04d
commit e1b2c8575c
3 changed files with 28 additions and 9 deletions
+10 -1
View File
@@ -77,4 +77,13 @@ if (event === 'ticket_created') {
html = '[tinker-tickets] event: <code>' + event + '</code> ticket #' + id;
}
result = { version: 'v2', plain: plain, html: html, msgtype: 'm.text' };
// Explicit mentions (m.mentions): from Synapse 1.164 the legacy push rules
// that pinged on a user ID or display name in the body are off by default
// (MSC4210), so the people to notify must be listed here.
result = {
version: 'v2',
plain: plain,
html: html,
msgtype: 'm.text',
mentions: { user_ids: notifyUsers }
};