protocol::message_body (protocol.rs:55-59) tests only for m.emote. Every other msgtype, m.notice included, becomes a plain message.
m.notice is what bots and bridges send - it exists precisely so a client can draw it more quietly than a person's message, which is what Element does. In a room with an active bridge the effect is that automated traffic is indistinguishable from people talking.
`protocol::message_body` (`protocol.rs:55-59`) tests only for `m.emote`. Every other msgtype, `m.notice` included, becomes a plain message.
`m.notice` is what bots and bridges send - it exists precisely so a client can draw it more quietly than a person's message, which is what Element does. In a room with an active bridge the effect is that automated traffic is indistinguishable from people talking.
message_kind names it and the three paths that store a message — live, threaded and backfilled — all ask. A notice stays a chat kind rather than becoming a system line: it has a sender, can be replied to and redacted, and belongs in the conversation. What changes is its weight — muted body, a rail down the edge that survives grouping, and the word "notice" on the byline, since a toned-down body can be mistaken for an unlucky one.
It also stops raising a mention while the account's own .m.rule.suppress_notices override says so, which is the state every homeserver ships. Read from the real rules rather than assumed: somebody who turned it off meant to.
Two places compared the kind to "chat" literally and greyed out every Matrix message in an HTML export; both now ask isChatKind.
Finished.
`message_kind` names it and the three paths that store a message — live, threaded and backfilled — all ask. A notice stays a chat kind rather than becoming a system line: it has a sender, can be replied to and redacted, and belongs in the conversation. What changes is its weight — muted body, a rail down the edge that survives grouping, and the word "notice" on the byline, since a toned-down body can be mistaken for an unlucky one.
It also stops raising a mention while the account's own `.m.rule.suppress_notices` override says so, which is the state every homeserver ships. Read from the real rules rather than assumed: somebody who turned it off meant to.
Two places compared the kind to `"chat"` literally and greyed out every Matrix message in an HTML export; both now ask `isChatKind`.
[7d2a04a](https://git.salastil.com/Salastil/nobilis/commit/7d2a04a), [3980f8e](https://git.salastil.com/Salastil/moho/commit/3980f8e)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
protocol::message_body(protocol.rs:55-59) tests only form.emote. Every other msgtype,m.noticeincluded, becomes a plain message.m.noticeis what bots and bridges send - it exists precisely so a client can draw it more quietly than a person's message, which is what Element does. In a room with an active bridge the effect is that automated traffic is indistinguishable from people talking.Finished.
message_kindnames it and the three paths that store a message — live, threaded and backfilled — all ask. A notice stays a chat kind rather than becoming a system line: it has a sender, can be replied to and redacted, and belongs in the conversation. What changes is its weight — muted body, a rail down the edge that survives grouping, and the word "notice" on the byline, since a toned-down body can be mistaken for an unlucky one.It also stops raising a mention while the account's own
.m.rule.suppress_noticesoverride says so, which is the state every homeserver ships. Read from the real rules rather than assumed: somebody who turned it off meant to.Two places compared the kind to
"chat"literally and greyed out every Matrix message in an HTML export; both now askisChatKind.7d2a04a, 3980f8e