From ba8f4c08cf70c062a9f40147c6245d348e8f8346 Mon Sep 17 00:00:00 2001 From: Bohdan Horbeshko Date: Sat, 1 Jun 2024 16:43:38 -0400 Subject: [PATCH] Attach prefix to OOB descriptions and omit empty ones only if sender is displayed by carbon --- Makefile | 2 +- telegabber.go | 2 +- telegram/utils.go | 25 +++++++++++++++++++------ 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 4452163..fccaf92 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ COMMIT := $(shell git rev-parse --short HEAD) TD_COMMIT := "5bbfc1cf5dab94f82e02f3430ded7241d4653551" -VERSION := "v1.9.5" +VERSION := "v1.9.6" MAKEOPTS := "-j4" all: diff --git a/telegabber.go b/telegabber.go index 6cfccff..f315de5 100644 --- a/telegabber.go +++ b/telegabber.go @@ -16,7 +16,7 @@ import ( goxmpp "gosrc.io/xmpp" ) -var version string = "1.9.5" +var version string = "1.9.6" var commit string var sm *goxmpp.StreamManager diff --git a/telegram/utils.go b/telegram/utils.go index 4509d1a..819455c 100644 --- a/telegram/utils.go +++ b/telegram/utils.go @@ -1058,13 +1058,19 @@ func (c *Client) ProcessIncomingMessage(chatId int64, message *client.Message) { fileName, link := c.formatFile(file, false) oob = link - if c.Session.OOBMode && oob != "" { - typ := message.Content.MessageContentType() - if typ != client.TypeMessageSticker { - auxText = text + oobSwap := c.Session.OOBMode && oob != "" + + var ignorePrefix bool + 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 prefix, prefixReply := c.messageToPrefix(message, previewName, fileName, false) @@ -1080,6 +1086,13 @@ func (c *Client) ProcessIncomingMessage(chatId int64, message *client.Message) { } text = newText.String() } + + if oobSwap { + if !ignorePrefix { + auxText = text + } + text = oob + } } } if !replyObtained {