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
Previously only handled ticket_created. Now handles:
- status_changed: shows old → new status with actor name
- comment_added: shows author + 200-char preview (opt-in via MATRIX_NOTIFY_COMMENTS)
- mention: targeted notification when @username used in comment
- assigned: shows new assignee + actor (opt-in via MATRIX_NOTIFY_ASSIGNMENTS)
Unknown events fall back to a debug line rather than being silently dropped.
Avatar updated to ticket emoji via Synapse admin API (mxc already applied live).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>