database: migrate disappearing timer to standard location (#121)

This commit is contained in:
Tulir Asokan
2025-09-12 17:35:09 +02:00
committed by GitHub
parent 93f55497f4
commit 0051042555
6 changed files with 29 additions and 33 deletions
+9 -24
View File
@@ -356,31 +356,16 @@ func (t *TelegramClient) onUpdateNewMessage(ctx context.Context, entities tg.Ent
return err
}
case *tg.MessageActionSetMessagesTTL:
res := t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatResync{
EventMeta: eventMeta.WithType(bridgev2.RemoteEventChatResync),
ChatInfo: &bridgev2.ChatInfo{
ExtraUpdates: func(ctx context.Context, p *bridgev2.Portal) bool {
updated := p.Portal.Metadata.(*PortalMetadata).MessagesTTL != action.Period
p.Portal.Metadata.(*PortalMetadata).MessagesTTL = action.Period
return updated
},
},
})
if err := resultToError(res); err != nil {
return err
setting := database.DisappearingSetting{
Type: event.DisappearingTypeAfterSend,
Timer: time.Duration(action.Period) * time.Second,
}
// Send a notice about the TTL change
content := bridgev2.DisappearingMessageNotice(time.Duration(action.Period)*time.Second, false)
res = t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.Message[any]{
EventMeta: eventMeta.WithType(bridgev2.RemoteEventMessage),
ID: ids.GetMessageIDFromMessage(msg),
ConvertMessageFunc: func(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI, data any) (*bridgev2.ConvertedMessage, error) {
return &bridgev2.ConvertedMessage{
Parts: []*bridgev2.ConvertedMessagePart{
{Type: event.EventMessage, Content: content},
},
}, nil
res := t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatInfoChange{
EventMeta: eventMeta.WithType(bridgev2.RemoteEventChatInfoChange),
ChatInfoChange: &bridgev2.ChatInfoChange{
ChatInfo: &bridgev2.ChatInfo{
Disappear: &setting,
},
},
})
if err := resultToError(res); err != nil {