Standardising objects with revisions

[2019-12-15 09:13:34+0000] doublequartz via SocialHub:

If we replace content with an OrderedCollection including every revision, we’re going to have linearly increasing performance cost.
I think creating an OrderedCollection with link to all revisions when an object is updated for the first time would scale best.

The way it will probably be done in pleroma is to store only the difference (like the diff program) so it scales well for large posts. I think there should be a more or less standard field so all peers can grab the history of an Activity, specially so that the replies can be nicely displayed depending on that (I think it can work well in pleroma-fe thanks to it’s ability to show the parent post btw).

And yeah not really sure about how post history + editing visibility would go, specially if you restrict it further. Maybe it should only store the history for the text fields visible to the user (content, summary, title, …).

Although the peers can store objects before Update all they want, the original sender fails to provide a consistent id for the old version. There should be a way to make reference to old versions that fediverse can understand.
I don’t have much experience on social networking applications and I have no idea what kind of trouble “object versioning” would bring. I appreciate explanation on this.

The kinds of trouble could be:

  • Editing a post where you heavily change it’s meaning to troll the repliers
  • Further ways a server could lie about the objects it has (but I think this one is a bit moot as there is enough people using multiple instances)
2 Likes