From 41f2166febfd75407924c09218d008ba02326ec1 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 6 Apr 2026 00:38:31 +0300 Subject: [PATCH] tomatrix: fix adding per-message profile for channel messages --- pkg/connector/tomatrix.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/connector/tomatrix.go b/pkg/connector/tomatrix.go index 1e252d52..a6899ed4 100644 --- a/pkg/connector/tomatrix.go +++ b/pkg/connector/tomatrix.go @@ -158,11 +158,15 @@ func (tc *TelegramClient) convertToMatrix( sender = ptr.Ptr(tc.getPeerSender(fromID).Sender) } if sender != nil { - profile, err := portal.PerMessageProfileForSender(ctx, *sender) + ghost, err := portal.Bridge.GetGhostByID(ctx, *sender) if err != nil { - return nil, fmt.Errorf("failed to get per-message profile for sender %s: %w", *sender, err) + return nil, fmt.Errorf("failed to get ghost for per message profile: %w", err) + } + perMessageProfile = &event.BeeperPerMessageProfile{ + ID: string(ghost.ID), + Displayname: ghost.Name, + AvatarURL: &ghost.AvatarMXC, } - perMessageProfile = &profile } } @@ -206,7 +210,10 @@ func (tc *TelegramClient) convertToMatrix( cm.Disappear = *disappearingSetting } } - cm.Parts[0].Content.BeeperPerMessageProfile = perMessageProfile + if perMessageProfile != nil { + cm.Parts[0].Content.BeeperPerMessageProfile = perMessageProfile + cm.Parts[0].Content.AddPerMessageProfileFallback() + } cm.Parts[0].DBMetadata = &MessageMetadata{ ContentHash: hasher.Sum(nil), ContentURI: contentURI,