ids: add channel ID to message ID to ensure uniqueness (#25)

This commit is contained in:
Tulir Asokan
2024-08-26 20:42:06 +03:00
committed by GitHub
parent d7508579e5
commit e3e709eec6
8 changed files with 111 additions and 40 deletions
+3 -3
View File
@@ -46,7 +46,7 @@ func (t *TelegramClient) SyncChats(ctx context.Context) error {
}
messages := map[networkid.MessageID]tg.MessageClass{}
for _, message := range dialogs.GetMessages() {
messages[ids.MakeMessageID(message.GetID())] = message
messages[ids.GetMessageIDFromMessage(message)] = message
}
var created int
@@ -79,7 +79,7 @@ func (t *TelegramClient) SyncChats(ctx context.Context) error {
if portal == nil || portal.MXID == "" {
// Check what the latest message is
topMessage := messages[ids.MakeMessageID(dialog.TopMessage)]
topMessage := messages[ids.MakeMessageID(dialog.Peer, dialog.TopMessage)]
if topMessage.TypeID() == tg.MessageServiceTypeID {
action := topMessage.(*tg.MessageService).Action
if action.TypeID() == tg.MessageActionContactSignUpTypeID || action.TypeID() == tg.MessageActionHistoryClearTypeID {
@@ -104,7 +104,7 @@ func (t *TelegramClient) SyncChats(ctx context.Context) error {
CreatePortal: true,
},
CheckNeedsBackfillFunc: func(ctx context.Context, latestMessage *database.Message) (bool, error) {
latestMessageID, err := ids.ParseMessageID(latestMessage.ID)
_, latestMessageID, err := ids.ParseMessageID(latestMessage.ID)
if err != nil {
return false, err
}