Public Lurking
Making it fully usable for everyone!
While Always Lurking was satisfactory for my own needs, as more people used it they desired to have their own groups and have full functionality with those groups, not the partial functionality manually entering usernames allowed.
Efficient Listening
First came the ability for users to create their own groups, simply storing them in localStorage
, allowing them to create new groups and manage them accordingly.
Then came the dynamic listening for those groups, creating the Eventsub Subscriptions only when someone started listening to these custom groups.
A Lie
While they appear as existing native groups, in reality they only exist as groups on the frontend, existing as a simple list of usernames on the backend that users can subscribe to changes of.
QOL
Of course there are always a few Quality of Life improvements to use, and after extensive personal usage and feedback from others, the first was the ability to display the status of the websocket connection even when the controls are collapsed.
Next was a simple uptime display for streams - as with mobile viewers, stream uptime is not visible when watching via embeds.
Then came the ability to see when other chats had new messages, by showing the streamer avatars above chat and overlaying badges indicating the number of unread messages - powered by tmi.js - users can easily see at a glance when new messages appear, in addition to subscribing to phrases to get high priority indicators.