Miladychan Devlog - v0.2: Hyperrealtime Index Page, Sort by Active IP
Hyperrealtime Index
The index page now updates in hyperrealtime. This means you can see active replies across multiple threads from the same page as they're typed. You can even reply directly from the index page making it simple to chime in at the bottom of a chat without needing to click into a thread. When paired with the Sort by Active IP feature, this makes it incredibly easy to jump right into conversation or add a quip in passing as you scroll along to the thread you were looking for. The hyperrealtime index evolves the static index into a dynamic page for thread hopping.
Developer's Note
Adding the reply shortcut on the index view is a simple link change and some extra client functionality. When you open a thread and #reply is in the URL, it opens the reply dialog. Making the index view realtime was surprisingly painless. I had to extend the thread-feed model to allow clients to subscribe to multiple threads, but beyond that it just worked!
Sort by Active IP
The thread catalog is now sorted by unique active IPs by default. Hyperrealtime is best experienced in threads with a high number of synchronous connections. Active IP sort helps users find their friends much faster, encouraging new users to self-filter into the busiest threads. Much less scrolling to find where everyone is hanging out. Also encourages coordination to make threads more active - large and sustained gatherings on threads will keep your hyperrealtime home at the top of the catalog. At the same time, this discourages superfluous or overly niche thread creation - create a thread that's unlikely to gain chat engagement and see it drop down to the bottom of the catalog. Think before you make a thread.
Developer's Note
The hardest part of this was figuring out what counts as "activity". We settled on #IPs that have posted in the last hour, but this went through a couple revisions. This involved working around Meguca's aggressive catalog caching, which was very much not realtime. It used to only update on bumps—now we can artifically trigger a cache refresh whenever we want through a new
last_updated
field.
Other Improvements
- Moderators can now add warnings to posts
- Endpoints for tracking engagement metrics are now added - we can track you!