elk-zone / elk

A nimble Mastodon web client
https://elk.zone
MIT License
5.44k stars 560 forks source link

feat: Threaded Writing #2148

Closed cyrneko closed 6 months ago

cyrneko commented 1 year ago

Threaded Writing is a feature which can be used to write out long messages without needing your instance to support a given character limit by splitting up your messages into multiple at once.

This is something that e.g Mammoth on iOS allows to do, which can make it much easier to write threads.


Implementation suggestions

To implement this, I propose a couple of suggestions on things to look out for:

  1. Allow the user to customize the way in which your message is split The User should be able to customize what string should be put at the beginning/end of each post/reply after being split to customize the way other people on the network see it in the end. Said string should have variables (e.g %number%) to signify how far you're currently in to reading a given thread. This custom string would be optional.

  2. Editing a thread should be visual. The user should be able to see their text being split up into multiple posts/replies as part of the thread in one way or another. This is (in my opinion) best achieved by inserting the string into the normal compose window, and when the character limit is hit, offer a + button to put the overlapping text into the next post of the thread. Words at the beginning / end of the new / last post should have ... at the end to signify the content continuing in the next reply.

  3. There should be a "posting status" next to / in the "Publish" button to signify how many of the n amount of replies have been succesfully posted / replied already, until said action is finished.


I appreciate reading through this and all the work you're doing on making Elk as awesome as can be, thank you all very much, fellow developers and contributors! :heart:

stackblitz[bot] commented 1 year ago

Solve in StackBlitz Codeflow Start a new pull request in StackBlitz Codeflow.

hrw commented 7 months ago

Or open another input box per each post (Twitter or Tweetdeck had it). This way each of them can be edited before posting and user has complete control without a need to learn extra things.

maybeanerd commented 6 months ago

Is anybody working on this? I might just give it a try and propose an implementation.

edit: FYI this is the branch, I won't open a PR until there's something that somewhat works. https://github.com/maybeanerd/crab/tree/feat/add-threaded-posts

maybeanerd commented 6 months ago

Should be solved by https://github.com/elk-zone/elk/pull/2715 now