Upcoming version of Mastodon (2.4.1) will have a delete & redraft function.

@lain @Gargron delete toot and fill compose box with content to edit and re-submit if I understand the thing.

@lain @Gargron It'll delete your toot and paste its content into the compose box, so you can correct typos etc. and toot again, but in a single step is my understanding.

@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.

@lain I think you will be able to correct your toots after publishing (good feature) @Gargron

@gargron Awesome, don't have to delete a toot five times a day for typo correction anymore...

@Gargron Interesting. If boosted, does the rewritten show up? Or do boosts disappear?

@HexAllen It's a new toot, you just don't have to rewrite and re-upload. That way you can't do anything misleading.

@Gargron @HexAllen will it have the same I'd or timestamp or something or it'll map directly to deleting and creating a new one?

@vaartis @Gargron If I've read the replies correctly: load toot text into new toot editor and delete the toot when posting the new one. Nothing would link to the new toot, it is a true, stand alone delete and a stand alone new post, just ... done together.

@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.

@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:
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.

@drequivalent @alfajet @Gargron With 24 years in IT, a patch view would be fine for me, but I would want to teach my mom how to read it.

Anyway, I'm not submitting patches to this project, so I don't expect a vote. I just asked a question, and was happy with the answer I got.

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

@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.

@alfajet @Gargron @HexAllen And yeah, the comparison would kinda rely on the client if that's what you're asking. But so does a lot of things here, an awful lot I'd say.

@alfajet @Gargron @HexAllen
> 2 would have knock on effect on all platforms relying on AP.

Well, it may, because editing is an essential feature. But it probably won't because it all can be done client-side.

I apologize for responding piece-mail.

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 @HexAllen

@alfajet @Gargron @HexAllen Well, the server has to keep both original and an update. Client takes them both if needed and compares.

@alfajet @Gargron @HexAllen Not so much a change in ActivityPub as changing in handling of Activitypub, I think.

@cwebber, could you please provide your take on this, as one of the authors of the standard?

Thanks for the links, interesting comments, although theses ideas seem to be parked for now.

@drequivalent @Gargron @HexAllen

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.

@drequivalent @Gargron @HexAllen

@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.

Are you referring to ?
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.

@drequivalent @Gargron @HexAllen

This will be great for all those times I've misspelled gargrame

@Gargron If that one is out, mastodon definitely wins over the birdsite.

@Gargron finalllyyy, can't wait for this to be added.

Will there be a way of telling if somemone edited a root?

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!