~emersion/soju-dev

Return an empty CHATHISTORY TARGETS batch when in multi-upstream v1 APPLIED

delthas: 1
 Return an empty CHATHISTORY TARGETS batch when in multi-upstream

 1 files changed, 6 insertions(+), 0 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~emersion/soju-dev/patches/26530/mbox | git am -3
Learn more about email & git
View this thread in the archives

[PATCH] Return an empty CHATHISTORY TARGETS batch when in multi-upstream Export this patch

When on an unbound bouncer network downstream, we should return no
targets (there are none, because there are no upstreams at all).

When on a multi-upstream downstream, we should return no targets as we
don't support multi-upstream CHATHISTORY TARGETS.

Before this patch, we returned a misleading error message:
:example.com 403 :Missing network suffix in name
---
 downstream.go | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/downstream.go b/downstream.go
index 16e8413..39ecd6e 100644
--- a/downstream.go
+++ b/downstream.go
@@ -2359,6 +2359,12 @@ func (dc *downstreamConn) handleMessageRegistered(msg *irc.Message) error {
				return err
			}
		case "TARGETS":
			if dc.network == nil {
				// Either an unbound bouncer network, in which case we should return no targets,
				// or a multi-upstream downstream, but we don't support CHATHISTORY TARGETS for those yet.
				dc.SendBatch("draft/chathistory-targets", nil, nil, func(batchRef irc.TagValue) {})
				return nil
			}
			if err := parseMessageParams(msg, nil, &boundsStr[0], &boundsStr[1], &limitStr); err != nil {
				return err
			}
-- 
2.17.1
LGTM and pushed, thanks!