Upcoming version of Mastodon (2.4.1) will have a delete & redraft function.
@Gargron Interesting. If boosted, does the rewritten show up? Or do boosts disappear?
@HexAllen Also, likes and repiies and other feedback. It's crucial to save those if you're correcting a typo or a mistake. Don't want to remove an old post that's already got feedback on it just to correct a typo.
@drequivalent The abuse problem that Gargron points out is spot on though. It looks liked this is true delete, just reloads your deleted text back into the editor window.
@HexAllen Want to prevent abuse - show diffs between old version and the new, like Gitlab does. What's the actual problem here?
@HexAllen Kinda like this, but more compact. Red is what's deleted, green is what's added. This way you can tell if it's a legitimate edit or a scumbag trying to fool you.
Diff would be indeed an elegant way of dealing with this but as far as I know there is no concept of revisions (having different versions) in toots. Gitlab can do that because underneath, git is a repository with version control.
Introducing VC would be a radical change in either OStatus or ActivityPub I think. And to be exhaustive, you would also need to implement VC also on media which would have a significant impact in storage requirements.
@HexAllen
@drequivalent
Good point. But unless the receiver has kept the previous version in cache, they won't be able to perform a diff when they receive the update.
The two options are
1. to rely on the client to manage this (compare to previous content).
2. to implement some form of VC in ActivityPub. As you say it can be minimal: just keep current and last.
1. would be less disruptive but less reliable I think whereas 2 would have knock on effect on all platforms relying on AP.
@Gargron @HexAllen
@drequivalent
I might be wrong but I don't believe the client application keep indefinitely all status in cache. I'd imagine that if the user request access to an old status , the client will refetch a fresh copy from the server. So if an update applies to an uncached status, I guess the receiver will get an update with the new content but as the previous version is no longer cached, it won't be able to preform a comparison.
@drequivalent
That was my point 2 => a change in ActivityPub.
@drequivalent @alfajet @gargron @HexAllen https://github.com/w3c/activitypub/issues/188 https://github.com/w3c/activitypub/issues/155 might be worth re-exploring
Sorry, I don't have time to follow up on this today though
@cwebber
Thanks for the links, interesting comments, although theses ideas seem to be parked for now.
@alfajet @drequivalent @gargron @HexAllen They could be revived, if you'd like to bring them up in the SocialCG call tomorrow https://www.w3.org/wiki/SocialCG/2018-06-06
@cwebber
Thanks for the suggestion! I am not (yet?) a member and can't join tomrrow's call as I'll be working at that time I am afraid.
@alfajet @drequivalent @gargron @HexAllen If you aren't yet a member of the SocialCG, you can join through the join button on the right of https://www.w3.org/community/socialcg/
@alfajet @drequivalent @Gargron @HexAllen Well, there is a GitPub so some VC will probably get into AP. A diff would be a very useful feature.
@shellkr
Are you referring to https://github.com/git-federation/gitpub ?
Looks like it's early stage but definitely a good initiative. However I find paradoxal that they decided to host their work on github, though.
@alfajet @drequivalent @Gargron @HexAllen Yup, that's the one... ;)
@alfajet @Gargron @HexAllen How can the receiver "not keep" a previous version of object they are getting updates for? If there's no previous version then there's nothing to update, and the faux "update" can be discarded altogether.