Add the soju.im/no-implicit-names extension
References: https://github.com/ircv3/ircv3-ideas/issues/87
This commit is contained in:
parent
128aefcc50
commit
43371bf347
@ -37,8 +37,10 @@ func forwardChannel(ctx context.Context, dc *downstreamConn, ch *upstreamChannel
|
||||
}
|
||||
}
|
||||
|
||||
if !dc.caps.IsEnabled("soju.im/no-implicit-names") {
|
||||
sendNames(dc, ch)
|
||||
}
|
||||
}
|
||||
|
||||
func sendTopic(dc *downstreamConn, ch *upstreamChannel) {
|
||||
downstreamName := dc.marshalEntity(ch.conn.network, ch.Name)
|
||||
|
13
doc/ext/no-implicit-names.md
Normal file
13
doc/ext/no-implicit-names.md
Normal file
@ -0,0 +1,13 @@
|
||||
# no-implicit-names
|
||||
|
||||
This is a work-in-progress specification.
|
||||
|
||||
## Description
|
||||
|
||||
This document describes the `no-implicit-names` extension. This allows clients to opt-out from the implicit `NAMES` reply servers send after `JOIN` messages.
|
||||
|
||||
Some clients don't need to query the list of channel members for all joined channels. Omitting this information can reduce the time taken to connect to the server, especially on mobile devices and when a large number of channels are joined.
|
||||
|
||||
## Implementation
|
||||
|
||||
The `no-implicit-names` extension introduces the `soju.im/no-implicit-names` capability. When negotiated, servers MUST NOT send an implicit `NAMES` reply after sending a `JOIN` message. Servers MUST reply to explicit `NAMES` commands sent by the client as usual.
|
@ -231,6 +231,7 @@ var permanentDownstreamCaps = map[string]string{
|
||||
|
||||
"soju.im/bouncer-networks": "",
|
||||
"soju.im/bouncer-networks-notify": "",
|
||||
"soju.im/no-implicit-names": "",
|
||||
"soju.im/read": "",
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user