mirror of
https://github.com/matrix-construct/construct
synced 2024-12-28 16:34:13 +01:00
doc/ts6-protocol: Document ETB message (EOPMOD capab).
This commit is contained in:
parent
8a4b837775
commit
a5de4edefd
1 changed files with 37 additions and 0 deletions
|
@ -267,6 +267,43 @@ Reports a (usually fatal) error with the connection.
|
|||
Error messages may contain IP addresses and have a negative effect on server
|
||||
IP hiding.
|
||||
|
||||
ETB
|
||||
capab: EOPMOD
|
||||
source: any
|
||||
propagation: broadcast
|
||||
parameters: channelTS, channel, topicTS, topic setter, opt. extensions, topic
|
||||
|
||||
Propagates a channel topic change or propagates a channel topic as part of a
|
||||
burst.
|
||||
|
||||
If the channel had no topic yet, the channelTS in the message is lower (older)
|
||||
than the current TS of the channel, or the channelTSes are equal and the
|
||||
topicTS in the message is newer than the topicTS of the current topic on the
|
||||
channel, set the topic with topicTS and topic setter, and propagate the
|
||||
message. Otherwise ignore the message and do not propagate it.
|
||||
|
||||
Unlike a TB message, an ETB message can change the topicTS without changing
|
||||
the topic text. In this case, the message should be propagated to servers but
|
||||
local users should not be notified.
|
||||
|
||||
Services can send a channelTS of 0 to force restoring an older topic (unless
|
||||
the channel's TS is 0). Therefore, the channelTS should be propagated as given
|
||||
and should not be replaced by the current TS of the channel.
|
||||
|
||||
An ETB message with a newer channelTS can still set a topic on a channel
|
||||
without topic. This corresponds to SJOIN not clearing the topic when lowering
|
||||
TS on a channel.
|
||||
|
||||
If ETB comes from a user, it can be propagated to non-EOPMOD servers using
|
||||
TOPIC, TB or a combination of TOPIC to clear the topic and TB to set a new
|
||||
topic with topicTS. However, this can be somewhat noisy. On the other hand, if
|
||||
ETB comes from a server, there is no way to force setting a newer topicTS. It
|
||||
is possible to set the topic text but the incorrect topicTS may lead to desync
|
||||
later on.
|
||||
|
||||
This document does not document the optional extensions between topic setter
|
||||
and topic.
|
||||
|
||||
ETRACE
|
||||
encap only
|
||||
encap target: single server
|
||||
|
|
Loading…
Reference in a new issue