Editing something that's gone out over fednet might be impossible. We could do something like gmail though and have an "undo" on the client that just adds a time delay before hitting send.
Twitter and the wider fediverse don't offer editing, and I think it's worth thinking about why.
To elaborate a little, what is desired is: "I made a typo and I want to fix it." Editing is one way of doing it.
Sorry but that isn't going to be possible with the fediverse,
UNLESS - !!
Giving the user an option to enable a toot-delay, similar to how gmail handles 'email-undo', they allow you to set a delay period for after hitting send, in which you can edit the content you were trying to send, and then put it back into the send queue
I think this could work with the limitations of the fediverse.
A new suggestion: editing after the toot goes out simply deletes and recreates the toot in the edit window as it was before being sent, retaining any additional reply context or modals. This can overlap with the time-delay undo approach, where delay adds some comfort zone and then more long-term edits are effectively new toots and cannot be used to "change history."
Related question? If one toots and then awhile later, like days, wants to delete a toot...is that impossible? I'm guessing so, given federation. But could one take it off one's profile, at least, so people searching the profile don't see it? I don't know enough about how all this works to know if that is possible. I'm not trying to delete anything of my own now...just thinking about the overall functionality.
AIUI you can delete it and Mastodon will tell other instances to delete it, but it doesn't mean they will?
Correct. Once it's federated, a rogue instance can decide to do what it
wants. Usenet also had a delete function, but there was no expectation that
it was honored, for the same reasons. Likewise IRC occasionally has
hostilities over people who idle in a channel purely to log it(sometimes
doing so for years). What we are implementing with delete/edit features is
an easing of a social convention.
On Thu, Dec 1, 2016 at 3:25 PM, Andrea Faulds notifications@github.com
wrote:
AIUI you can delete it and Mastodon will tell other instances to delete
it, but it doesn't mean they will?—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Gargron/mastodon/issues/256#issuecomment-264327239,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABep-m_VaLlrktp-i2SjqH81CSr-u_kIks5rD1dggaJpZM4K7xTG
.
i believe we already have confirmed with the dev that editing toots will never be editable, and toots can already be deleted, so i believe this issue can be closed
Even if toots can't really be edited, it would be very nice to have a client feature to automate the common delete-and-retoot typo-fixing process. It can be a somewhat arduous process, particularly if the toot contains something like an image that you need to reupload.
I don't see why this discussion is already at its end. Editing a toot could be done in the git way, aka the old toot is never completely replaced by the old info still stays around. It is just displayed in a clever manner.
Some forums software implement a "this post was last edited on xy" feature. Something similar could happen with toots: a toot could be marked as an Edit-Toot via metadata. The toot would be replaced by the new one, but show a message saying "this toot was last edited @
Deleting and reposting a tweet just because of a typo is one of the most annoying things about Twitter. It'd be great to see a little bit of a delay before federating a toot to allow a minute or two window where a user can edit a typo out of their toot.
A great thing about Mastodon (in comparison with Twitter) is that it's more amenable to close-to-realtime conversations. Any delay long enough to be useful would destroy that.
The delay should be optional and customisable. some people will only need a few seconds to see that their toot is formatted as they intended.
I don't see why this should be impossible. It would need a protocol extension, though.
The new toot would have a key superseeds_id
or similar that tells you which toot from the same user it overwrites. Then you could display it just like @Natanji suggested. A legacy instance would just show both the old and new toots.
Of course a "malicious" server could just ignore the key and continue to display the old toot. But that is not a problem specific to federated systems. Everytime you write something on the internet, and delete or change it later, somebody could quickly cache it and continue to publish it. Heck, they could just make up fake toots that you've supposedly sent in the past.
This doesn't keep people from editing their blog posts, and it shouldn't keep people from editing their toots. Well-behaving Mastodon instances should just try to honor these edits on a best-effort basis.
I understand that it's annoying to find out you made a typo in a toot. And yes, displaying a "last edited by" with all the differences like in git would solve the rogue edits problem wherein somebody converts an innocent toot that got many favs/boosts into something vulgar or offensive. However, given the nature of toots, deleting and re-doing it manually is still a much lesser effort than, in my assesment, it would be to implement such a change tracking system.
@Gargron I understand that implementation-wise it is much easier to do it manually, however you lose the RTs/likes, etc. This feature is number 1 ask AFAIK on Twitter and biggest pain there. It would be competitive advantage to have it IMO.
It would be competitive advantage
Most definitely!
I really don't see why a toot couldn't be updated, even in a distributed system. The new version would propagate just like new toots do. This is not an "impossible" thing, but "sorry I'm too lazy to implement that". And I do understand the lazy/not interested argument, devs don't owe us anything, but at least let's be honest on the real reason :) I also understand making a standard evolve is difficult, but again, not a reason to say it's impossible. Also, the changelog should be available (as in wiki etc) to avoid abuse. And finally, moderation on some servers could decide to refuse an abusive edit and display the old toot instead (just like they can delete offensive toots).
@neuoy Again, Gargron didn't say it was impossible. He said the technical tradeoffs required for implementing it don't make sense given the ephemeral nature of the system.
@nightpool Sure. Still, I think it would be cool. I also understand others don't think the same. Just wanted to share my opinion.
As a side question, are there side effects in deleting/re-tooting? Duplicate notifications of followers? Duplicate toot until all servers see the deletion? Something else? Obviously the date changes, so for old toots it doesn't work well (I'm sure some conversations remain a reference used for a longer time? I'm new to Mastodon though)
the deletes get sent before the new toot does, so it's pretty rare that you would see two copies of the same toot (maybe for a second or so). A second notifications might happen if the toot tags people, but the old notification gets deleted so it's basically the same thing.
Twitter just started rolling out a character limit increase to 280 characters for most languages, and a significant number of people tweeting on the #280characters hashtag are demanding the ability to edit tweets. Folks have wanted that for a loooong time. It would definitely give Mastodon an edge. (I don't think a change tracking system is necessary, though. I think "edit within 5 minutes after posting" and a small indication that that had happened such as an asterisk would be enough.)
Makes sense as a first step. 5 minutes is a bit short maybe, what would be the problem with an hour for example? Stackoverflow allows 10min to edit comments and sometimes it's a bit short for me, though arguably you'll always need "a few more seconds".
Sure, whatever arbitrarily small amount of time would be fine, I think!
how would you feel about being able to link from a deleted toot to the new version of the toot.
@voronoipotato That seems messy - my account would be littered with redirecting posts. :D But I'd be okay with it.
wouldn't it make more sense to backlink from the new toot tothe deleted one? This way, you don't have to update the old one.
@Gargron
However, given the nature of toots, deleting and re-doing it manually is still a much lesser effort than, in my assesment, it would be to implement such a change tracking system.
One way of doing this manually is to copy the old toot before deleting it. But when copying, the mentions aren't fully kept (the server part is hidden and not copied)
So one can break them without noticing it. I just redeleted and reposted a toot to fix the mentions.
Is there an easier workflow?
wonder if we could fix the mention thing the same way we fix copy/pasting
links, that's bit me a couple of times as well....
On Sat, Mar 10, 2018, 7:50 PM tuxayo notifications@github.com wrote:
@Gargron https://github.com/gargron
However, given the nature of toots, deleting and re-doing it manually is
still a much lesser effort than, in my assesment, it would be to implement
such a change tracking system.One way of doing this manually is to copy the old toot before deleting it.
But when copying, the mentions aren't fully kept (the server part is hidden
and not copied)
So one can break them without noticing it. I just redeleted and reposted a
toot to fix the mentions.Is there an easier workflow?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tootsuite/mastodon/issues/256#issuecomment-372079840,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAORV1ykSwlW_j1Ba-QZ3NrIw-w8PYCgks5tdHTKgaJpZM4K7xTG
.
It's too bad there isn't a simple solution like just making a new post by the same user in reply to the same post that begins with Edit:postid prefaced by some magic character. The user interface would make it appear that it was edited, but in reality its just a new post. In this way editing actually doesn't really do anything from a technical perspective but to the user it appears that they can edit their posts.
wonder if we could fix the mention thing the same way we fix copy/pasting links, that's bit me a couple of times as well....
There's an issue for that! Highlight, copy and paste toot texts works on URLs but not usernames #5969 :)
Spotted on Better Tweetdeck, a Chrome extension for Tweetdeck (which presumably exists for other browsers too):
As far as I understand ActivityPub (which is not very far, actually) it should not be a problem to implement the Update method. The point is, in my opinion, that it doesn't really matter if the change is accepted. You would still be able to see the old toot, you could see when it was changed and at the same time typos could be fixed without annoying anyone. This way, I don't see much against such an implementation
Was just musing about how this could be implemented without ActivityPub using just what we have today by responding to specially-constructed messages. e.g., a toot with the following body:
/update https://mastodon.ar.al/@aral/100141440055731171 replace "hint, hint" with "hint, hint, hint"
More:
Of interest: #7735
A thought just occurred to me, inspired by https://github.com/tootsuite/mastodon/issues/11533#issuecomment-520181923 -- if Mastodon is not interested in allowing edits due to perceived issues around how boosts work, then perhaps Mastodon could instead allow append-only editing? For compatibility an Update
could be converted to a status and attached as a reply to the original status, if for some reason Mastodon does not wish to treat it as the cache invalidation problem that it really is.
Most helpful comment
I don't see why this discussion is already at its end. Editing a toot could be done in the git way, aka the old toot is never completely replaced by the old info still stays around. It is just displayed in a clever manner.
Some forums software implement a "this post was last edited on xy" feature. Something similar could happen with toots: a toot could be marked as an Edit-Toot via metadata. The toot would be replaced by the new one, but show a message saying "this toot was last edited @, from ". Replies to either of the two toots could be merged together in the client. This would allow you to edit even a year-old toot, without losing the information.