matrix-puppet-bridge icon indicating copy to clipboard operation
matrix-puppet-bridge copied to clipboard

[Feature Request] Backfill messages from other network by massaging timestamps

Open tfreedman opened this issue 6 years ago • 2 comments

Synapse 0.27 includes the ability for appservices to do timestamp massaging, meaning that they can post messages that appear to be significantly in the past. This can (and should) be used in a few major ways:

  1. Backfill room history for every puppetted room. For example, if a new version of a puppet bridge suddenly gains support for images, the next time it's run it should insert all messages that were previously sent and received in all rooms that it was unable to decode.

  2. Delete messages that weren't ever sent to the other network. Right now it's possible to send messages to a pupppetted room and have them not go out to the network (if the bridge is offline, for example). Messages on matrix that weren't sent to the other network should be deleted if it's beyond a couple minutes (or possibly less, depending on what other people think).

The combination of these two should ensure that even if a bridge is restarted or goes down, at no point does the room history fall out of sync with the definitive copy on the other network.

tfreedman avatar Mar 26 '18 23:03 tfreedman

Just wanted to say, this is exciting.. I've been wanting this for quite a while now, so it will be very nice to have this one day.

Unfortunately, I don't have the time to work on it currently but may pick it up some day over a holiday weekend or something.

AndrewJDR avatar Apr 06 '18 07:04 AndrewJDR

(If somebody else ends up doing it first, please post to this thread so there's no duplicated effort)

AndrewJDR avatar Apr 06 '18 07:04 AndrewJDR