Attach prefix to OOB descriptions and omit empty ones only if sender is displayed by carbon

This commit is contained in:
Bohdan Horbeshko 2024-06-01 16:43:38 -04:00
parent af07773b07
commit ba8f4c08cf
3 changed files with 21 additions and 8 deletions

View file

@ -2,7 +2,7 @@
COMMIT := $(shell git rev-parse --short HEAD) COMMIT := $(shell git rev-parse --short HEAD)
TD_COMMIT := "5bbfc1cf5dab94f82e02f3430ded7241d4653551" TD_COMMIT := "5bbfc1cf5dab94f82e02f3430ded7241d4653551"
VERSION := "v1.9.5" VERSION := "v1.9.6"
MAKEOPTS := "-j4" MAKEOPTS := "-j4"
all: all:

View file

@ -16,7 +16,7 @@ import (
goxmpp "gosrc.io/xmpp" goxmpp "gosrc.io/xmpp"
) )
var version string = "1.9.5" var version string = "1.9.6"
var commit string var commit string
var sm *goxmpp.StreamManager var sm *goxmpp.StreamManager

View file

@ -1058,13 +1058,19 @@ func (c *Client) ProcessIncomingMessage(chatId int64, message *client.Message) {
fileName, link := c.formatFile(file, false) fileName, link := c.formatFile(file, false)
oob = link oob = link
if c.Session.OOBMode && oob != "" { oobSwap := c.Session.OOBMode && oob != ""
typ := message.Content.MessageContentType()
if typ != client.TypeMessageSticker { var ignorePrefix bool
auxText = text if oobSwap {
if text == "" || message.Content.MessageContentType() == client.TypeMessageSticker {
isPM, err := c.IsPM(chatId)
if err == nil {
ignorePrefix = isPM && c.isCarbonsEnabled()
}
} }
text = oob }
} else if !c.Session.RawMessages {
if !c.Session.RawMessages && !ignorePrefix {
var newText strings.Builder var newText strings.Builder
prefix, prefixReply := c.messageToPrefix(message, previewName, fileName, false) prefix, prefixReply := c.messageToPrefix(message, previewName, fileName, false)
@ -1080,6 +1086,13 @@ func (c *Client) ProcessIncomingMessage(chatId int64, message *client.Message) {
} }
text = newText.String() text = newText.String()
} }
if oobSwap {
if !ignorePrefix {
auxText = text
}
text = oob
}
} }
} }
if !replyObtained { if !replyObtained {