Merge pull request #1044 from slingamn/tagmsg_fix

fix TAGMSG playback
This commit is contained in:
Shivaram Lingamneni 2020-05-22 14:41:01 -07:00 committed by GitHub
commit b80f92b2aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 4 deletions

View File

@ -1017,7 +1017,7 @@ func (channel *Channel) replayHistoryItems(rb *ResponseBuffer, items []history.I
case history.Notice:
rb.AddSplitMessageFromClient(item.Nick, item.AccountName, item.Tags, "NOTICE", chname, item.Message)
case history.Tagmsg:
if rb.session.capabilities.Has(caps.MessageTags) {
if eventPlayback {
rb.AddSplitMessageFromClient(item.Nick, item.AccountName, item.Tags, "TAGMSG", chname, item.Message)
}
case history.Join:

View File

@ -897,7 +897,7 @@ func (client *Client) replayPrivmsgHistory(rb *ResponseBuffer, items []history.I
}
batchID = rb.StartNestedHistoryBatch(target)
allowTags := rb.session.capabilities.Has(caps.MessageTags)
allowTags := rb.session.capabilities.Has(caps.EventPlayback)
for _, item := range items {
var command string
switch item.Type {

View File

@ -119,7 +119,12 @@ func (rb *ResponseBuffer) AddFromClient(time time.Time, msgid string, fromNickMa
// AddSplitMessageFromClient adds a new split message from a specific client to our queue.
func (rb *ResponseBuffer) AddSplitMessageFromClient(fromNickMask string, fromAccount string, tags map[string]string, command string, target string, message utils.SplitMessage) {
if message.Is512() {
rb.AddFromClient(message.Time, message.Msgid, fromNickMask, fromAccount, tags, command, target, message.Message)
if message.Message == "" {
// XXX this is a TAGMSG
rb.AddFromClient(message.Time, message.Msgid, fromNickMask, fromAccount, tags, command, target)
} else {
rb.AddFromClient(message.Time, message.Msgid, fromNickMask, fromAccount, tags, command, target, message.Message)
}
} else {
if rb.session.capabilities.Has(caps.Multiline) {
batch := rb.session.composeMultilineBatch(fromNickMask, fromAccount, tags, command, target, message)

View File

@ -90,7 +90,7 @@ func (sm *SplitMessage) IsRestrictedCTCPMessage() bool {
}
func (sm *SplitMessage) Is512() bool {
return sm.Message != ""
return sm.Split == nil
}
// TokenLineBuilder is a helper for building IRC lines composed of delimited tokens,