Thread/Conversation performance and usability
As talked in our weekly, thread performance is abysmal and makes pleroma fe borderline unusable for people who participate in devilish conversations.
Things to do in FE only:
- make use of virtual scrolling to render only relevant part of thread so that things don't stall for half a minute when expanding a thread. this is hard to do in an inline view I think, but maybe not impossible. requires rethinking of what component does the hiding logic
- make it easier to open threads (click on post to expand, should keep an option for old school way to prevent misclicks)
- make it easier to manage closing threads
- easiest: minus button on posts, I think it's weird to have many elements to close the same thread
- harder: floating collapse button when scrolled over a thread
- also harder but cooler: floating conversation header that snaps to the top of the screen when the header is not visible
- radical: get rid of inline opening because it's kind of awkward, maybe keep timeline somehow in state while opening the thread over it, so that going back is never gonna lose your position or other state. twitter does it and they pull it off 100% so that opening threads is never something you're afraid of, because going back is reliable and instant. you can even open threads within threads and the navigation never breaks. having the threads take over as their own view would also make virtual scrolling easier
- radical (middleground): don't get rid of inlining completely, but limit inline posts to maybe 10 at max, offer a button for viewing the whole thread which opens it in the full conversation view with virtual scrolling properly enabled
Things to do with help of BE:
- paging when actually pulling threads becomes a bottleneck
Edited by Shpuld Shpludson