Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
tfreedman opened this issue Mar 26, 2018 · 2 comments

Comments

@tfreedman
Copy link

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.

@AndrewJDR
Copy link
Collaborator

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
Copy link
Collaborator

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants