superseriousbusiness / gotosocial

Fast, fun, small ActivityPub server.
https://docs.gotosocial.org
GNU Affero General Public License v3.0
3.57k stars 300 forks source link

[feature] Allow the editing of posts #1990

Open Ash-Crow opened 11 months ago

Ash-Crow commented 11 months ago

Is your feature request related to a problem ?

"I'm always frustrated when": I see a spelling error or a formating issue on a post I just made, especially if it has already been liked or boosted. Other use cases include finding out that I used the wrong language tag (eg, left "English" selected while my message was in French) or the wrong visibility setting.

Most clients (eg Tusky or elk.zone) have an edit button that allow to edit a post (including replies), but as the feature is not yet implemented in gotosocial, using it results in an error message either when trying to edit the toot (Tusky) or when trying to post the edited toot (elk)

Describe the solution you'd like.

I would like an edit feature that implements the "status.update" type used by Mastodon and possibly other ActivityPub implementations on the "write" side, complementing #1326 that implements it on the "receive" side.

Describe alternatives you've considered.

The alternative is to delete and recreate the post/reply, but this has several downsides: faves and boosts are lost, along with the post time, and people that were mentioned in the original post are pinged twice.

Additional context.

There was a previous issue on this topic (#1591) but it was closed after the discussion became tense at some point. Per the previous discussion, it is not a simple task ("Implementing edit support requires backend changes, changes to federation logic, documentation, etc. The API endpoint for that doesn't exist yet in GtS.") and not a prioritary one (maybe a beta goal?)

Also, maybe the documentation at https://docs.gotosocial.org/en/latest/user_guide/posts/ should be updated to indicate that this feature is not yet available?

tsmethurst commented 11 months ago

Thanks! This is something we'll probably look at implementing after the end of this year (ie., when we're out of alpha and into beta), since we have a bunch of other stuff we need to get to first.

(Also, do you mind if I reword the title of the issue a bit? I just wanna change 'edition' to 'editing' to make it easier for people to search in the issues.)

Ash-Crow commented 11 months ago

No problem, you can reword the title and content if it isn't clear enough (English is not my first language... Which makes me think about a couple other usecases that I just added)

mirabilos commented 11 months ago

For fixes right after posting, you can also use the “Delete and redraft” feature of most clients.

For later fixes… yeah. But first, GtS ought to implement actually notifying users if a post they interacted with (reply, favourite, boost, bookmark) was edited. Perhaps ideally have a way to review the old content, not just the new.