Azareal / Gosora

Gosora is an ultra-fast and secure forum software written in Go that balances usability with functionality.
https://gosora-project.com/
GNU General Public License v3.0
162 stars 16 forks source link

Live Stuff #11

Open Azareal opened 6 years ago

Azareal commented 6 years ago

This is basically for a family of features centered around pushing content in real-time (or within acceptable margins) to the client in order for them to quickly react to events as they occur.

For instance, someone might want to know when an incident occurs and they have to go in to moderate a forum, or several people might want to have a fast paced discussion without having to refresh the page several times to see the other people's opinions.

However, it also needs to be possible for administrators to quickly and easily disable this feature (possibly just picking a sub-feature rather than the entire component?), as they might opt to leave it off for any number of concerns including scalability or it not being a cultural fit for their community.

There are multiple parts to this:

Azareal commented 6 years ago

To clarify, when I said performance, I really meant scalability. Handling WebSockets and friends is surprisingly cheap on a single server and might even improve performance by a fair bit, however once you have multiple servers, the costs of sending messages from point a to b stack up, as does the complexity of doing so.

Azareal commented 6 years ago

Live Topic List is part done now, although I still need to map the default route / to /topics/ properly on the client-side, as the client-side sees / as / rather than /topics/. Or perhaps, I could do the resolution on the server-side when the user enters the page, probably a better idea.

I'd also like to collapse the new items under a x topics has changed thingymajig to help avoid pushing topics down abruptly while the user is navigating and to help avert any assumptions about the system doing more than it does.

Topic deletes currently aren't covered, we will need a plan, if we support this. It might be alright to just leave it out tbh. Need feedback on that. Topic renames could be covered by having an action post every-time someone does a rename to shunt the thing up to the top of the list.