From 67b8ad57f0aab1a033cbd8bcc8e75cf23342f5f9 Mon Sep 17 00:00:00 2001 From: Bohdan Horbeshko Date: Sun, 29 Oct 2023 08:47:35 -0400 Subject: [PATCH] Fix reply length for hrunicode messages --- Makefile | 2 +- telegabber.go | 2 +- telegram/utils.go | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 5c001af..99ef5c3 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ COMMIT := $(shell git rev-parse --short HEAD) TD_COMMIT := "8517026415e75a8eec567774072cbbbbb52376c1" -VERSION := "v1.8.2" +VERSION := "v1.8.3" MAKEOPTS := "-j4" all: diff --git a/telegabber.go b/telegabber.go index a1efd12..e316aa6 100644 --- a/telegabber.go +++ b/telegabber.go @@ -15,7 +15,7 @@ import ( goxmpp "gosrc.io/xmpp" ) -var version string = "1.8.2" +var version string = "1.8.3" var commit string var sm *goxmpp.StreamManager diff --git a/telegram/utils.go b/telegram/utils.go index 47a851a..6edea31 100644 --- a/telegram/utils.go +++ b/telegram/utils.go @@ -16,6 +16,7 @@ import ( "strconv" "strings" "time" + "unicode/utf8" "dev.narayana.im/narayana/telegabber/telegram/cache" "dev.narayana.im/narayana/telegabber/telegram/formatter" @@ -42,7 +43,7 @@ var spaceRegex = regexp.MustCompile(`\s+`) var replyRegex = regexp.MustCompile("\\A>>? ?([0-9]+)\\n") const newlineChar string = "\n" -const messageHeaderSeparator string = " | " +const messageHeaderSeparator string = " | " // no hrunicode allowed here yet // GetContactByUsername resolves username to user id retrieves user and chat information func (c *Client) GetContactByUsername(username string) (*client.Chat, *client.User, error) { @@ -845,7 +846,7 @@ func (c *Client) contentToFile(content client.MessageContent) (*client.File, *cl func (c *Client) countCharsInLines(lines *[]string) (count int) { for _, line := range *lines { - count += len(line) + count += utf8.RuneCountInString(line) } return } @@ -895,7 +896,7 @@ func (c *Client) messageToPrefix(message *client.Message, previewString string, } replyLine := "reply: " + c.formatMessage(message.ChatId, message.ReplyToMessageId, true, replyMsg) prefix = append(prefix, replyLine) - replyEnd = replyStart + len(replyLine) + replyEnd = replyStart + utf8.RuneCountInString(replyLine) if len(prefix) > 0 { replyEnd += len(messageHeaderSeparator) }