@lain @Gargron I assume the ability to, when you delete a toot, put it back into the compose box without copying your text beforehand, finding the toot you replied to, re-adding the media, setting the CW, and setting the post privacy all over again.
Considering that 98% of the time that I delete a toot, I want to either fix a typo, add a CW, or add a caption to an image, and then resubmit it, good feature.
@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.
@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.
@HexAllen @Gargron I don't think that inconveniencing everyone (by denying necessary tools for example because of potential for abuse) is always the right way to go. It may me the only option available at times, true, but this doesn't happen too often.
Follow this logic, and we can boldly outlaw hammers and other power tools - jolly gosh, you can kill someone with those things.
It's better to find smart solutions. That will meaningfully enable users to do more while prevent abuse at the same time.
I don't see introducing editing as "deleting everything you worked so hard for to correct a minor mistake that you're really uncomfortable with leaving as it is" as "meaningful".
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.
@Gargron @HexAllen Valid. Although, I don't think the impact will be all that significant really - people don't edit posts all that often.
And, it doesn't have anything to do with radical changes to AP: the standard already supports Updates and Partial updates: https://www.w3.org/TR/activitypub/#update-activity-outbox
So, in essence, you just send an updated object, an on receiving end you just figure out a diff and show it as needed. You can even just do it dynamically.
You don't even need a full-blown VC, you can just show a diff between the original post and the most recent version of the message, I'm going to go on the limb here and say that it will be sufficient for most cases.
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.
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.
@Gargron I admire you for being so tolerant and considerate!
That's heckin great mate