* fix: manually initialize twitchircserver after rest of singletons are initialized
this fixes global emotes not being loaded on startup, since initialize
was never called (since it was no longer added to the singleton list)
* unrelated nit: remove copy/move ctors/operators of twitchircserver
* feat: include duration in more multi month gifts
* chore: update sample data
* chore: update changelog
* push more sample data events to my channel
* feat: use nicer display name for anon gifters
---------
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
* refactor: Move TwitchBadges to Application
* refactor: Use named initializers
* refactor: Use `empty()` instead of `size() > 0`
* refactor: use emplace instead of push into the callback queue
* feat: show chat badges on suspicious user messages
* feat: display emotes in suspicious user messages
* feat: add search filters for suspicious messages
* chore: update changelog
* refactor: resolve initial nits
* fix: finish adding new filter identifier
* Comment the new message flags
* Add a list of known issues to low trust update messages
* fix: Keep shared-pointerness of the channel
Without this change, we would have the possibility of using the
TwitchChannel after the Channel itself has gone out of scope, albeit not
realistically since we just post this to a thread and parse it - there's
no networking or big delays involved. but this shows the intent better
---------
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
* Remove unused `setAccountData` function
* Move PubSub out of TwitchIrcServer and into Application
* Add changelog entry
* fix: assert feedback
* Add PubSub::unlistenPrefix as per review suggestion
* Fix tests
* quit pubsub on exit
might conflict with exit removal, so can be reverted but this shows it's possible
* Don't manually call stop on clients, it's called when the connection is closed
* nit: rename `mainThread` to `thread`
* Join in a thread!!!!!!!!