diff --git a/pkg/connector/sync.go b/pkg/connector/sync.go index 2cd9279a..6da11417 100644 --- a/pkg/connector/sync.go +++ b/pkg/connector/sync.go @@ -106,7 +106,8 @@ func (t *TelegramClient) handleDialogs(ctx context.Context, dialogs tg.ModifiedM } } chatInfo := bridgev2.ChatInfo{ - UserLocal: &bridgev2.UserLocalPortalInfo{}, + CanBackfill: true, + UserLocal: &bridgev2.UserLocalPortalInfo{}, Members: &bridgev2.ChatMemberList{ MemberMap: map[networkid.UserID]bridgev2.ChatMember{ t.userID: bridgev2.ChatMember{ diff --git a/pkg/connector/telegram.go b/pkg/connector/telegram.go index 8b0f8835..52953f82 100644 --- a/pkg/connector/telegram.go +++ b/pkg/connector/telegram.go @@ -218,6 +218,7 @@ func (t *TelegramClient) onUpdateNewMessage(ctx context.Context, channels map[in TotalMemberCount: len(action.Users), MemberMap: memberMap, }, + CanBackfill: true, }, }) @@ -241,6 +242,7 @@ func (t *TelegramClient) onUpdateNewMessage(ctx context.Context, channels map[in EventsDefault: &modLevel, }, }, + CanBackfill: true, }, }) // case *tg.MessageActionChatMigrateTo: @@ -739,9 +741,12 @@ func (t *TelegramClient) onNotifySettings(ctx context.Context, update *tg.Update } t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatResync{ - ChatInfo: &bridgev2.ChatInfo{UserLocal: &bridgev2.UserLocalPortalInfo{ - MutedUntil: mutedUntil, - }}, + ChatInfo: &bridgev2.ChatInfo{ + UserLocal: &bridgev2.UserLocalPortalInfo{ + MutedUntil: mutedUntil, + }, + CanBackfill: true, + }, EventMeta: simplevent.EventMeta{ Type: bridgev2.RemoteEventChatResync, PortalKey: t.makePortalKeyFromPeer(update.Peer.(*tg.NotifyPeer).Peer), @@ -785,9 +790,12 @@ func (t *TelegramClient) onPinnedDialogs(ctx context.Context, msg *tg.UpdatePinn t.userLogin.Metadata.(*UserLoginMetadata).PinnedDialogs = append(t.userLogin.Metadata.(*UserLoginMetadata).PinnedDialogs, portalKey.ID) t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatResync{ - ChatInfo: &bridgev2.ChatInfo{UserLocal: &bridgev2.UserLocalPortalInfo{ - Tag: ptr.Ptr(event.RoomTagFavourite), - }}, + ChatInfo: &bridgev2.ChatInfo{ + UserLocal: &bridgev2.UserLocalPortalInfo{ + Tag: ptr.Ptr(event.RoomTagFavourite), + }, + CanBackfill: true, + }, EventMeta: simplevent.EventMeta{ Type: bridgev2.RemoteEventChatResync, PortalKey: portalKey, @@ -798,9 +806,12 @@ func (t *TelegramClient) onPinnedDialogs(ctx context.Context, msg *tg.UpdatePinn var empty event.RoomTag for portalKey := range needsUnpinning { t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatResync{ - ChatInfo: &bridgev2.ChatInfo{UserLocal: &bridgev2.UserLocalPortalInfo{ - Tag: &empty, - }}, + ChatInfo: &bridgev2.ChatInfo{ + UserLocal: &bridgev2.UserLocalPortalInfo{ + Tag: &empty, + }, + CanBackfill: true, + }, EventMeta: simplevent.EventMeta{ Type: bridgev2.RemoteEventChatResync, PortalKey: portalKey, @@ -830,6 +841,7 @@ func (t *TelegramClient) onChatDefaultBannedRights(ctx context.Context, entities Members: &bridgev2.ChatMemberList{ PowerLevels: t.getPowerLevelOverridesFromBannedRights(entities.Chats[0], update.DefaultBannedRights), }, + CanBackfill: true, }, EventMeta: simplevent.EventMeta{ Type: bridgev2.RemoteEventChatResync,