diff --git a/pkg/connector/events.go b/pkg/connector/events.go index 4140b2c..2fe6772 100644 --- a/pkg/connector/events.go +++ b/pkg/connector/events.go @@ -443,7 +443,7 @@ func (evt *WAMessageEvent) ConvertEdit(ctx context.Context, portal *bridgev2.Por zerolog.Ctx(ctx).Warn().Msg("Got edit to message with multiple parts") } editMsg := evt.GetConsumerApplication().GetPayload().GetContent().GetEditMessage() - if existing[0].Metadata.(*metaid.MessageMetadata).EditTimestamp <= editMsg.GetTimestampMS() { + if existing[0].Metadata.(*metaid.MessageMetadata).EditTimestamp >= editMsg.GetTimestampMS() { return nil, fmt.Errorf("%w: duplicate edit", bridgev2.ErrIgnoringRemoteEvent) } converted := evt.m.Main.MsgConv.WhatsAppTextToMatrix(ctx, editMsg.GetMessage()) diff --git a/pkg/connector/handlematrix.go b/pkg/connector/handlematrix.go index 61c81d6..46e5d38 100644 --- a/pkg/connector/handlematrix.go +++ b/pkg/connector/handlematrix.go @@ -338,6 +338,7 @@ func (m *MetaClient) HandleMatrixEdit(ctx context.Context, edit *bridgev2.Matrix Message: m.Main.MsgConv.TextToWhatsApp(edit.Content), TimestampMS: ptr.Ptr(edit.Event.Timestamp), }) + edit.EditTarget.Metadata.(*metaid.MessageMetadata).EditTimestamp = edit.Event.Timestamp portalJID := edit.Portal.Metadata.(*metaid.PortalMetadata).JID(edit.Portal.ID) resp, err := m.E2EEClient.SendFBMessage(ctx, portalJID, consumerMsg, nil) log.Trace().Any("response", resp).Msg("WhatsApp edit response")