* Add a few pre-made sanitizer suppressions
* Test Sanitization: Fix threading issues
* Test Sanitization: Allow deletion of PubSub
We still don't delete it in main code, but this allows us to try
deleting it in tests.
* Test Sanitization: Fix some memory leaks
* fix gtest clang-tidy warning
* const emojis test :-)
* feat: more hype chat
* Add `std::chrono::seconds` overload to formatTime
* Move & rename it to HypeChat + some other mini things
* Add changelog entry
* fix formattime test
---------
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
This fixes a crash that could occur when closing a split before the
display name had a chance to update
The reason I found this was because the LiveController change I made
updated display names more regularly
Additionally, we now make sure to not send duplicate `displayNameUpdated` signals
upon each request for channels with CJK characters in their display name
* Default-initialize the `actualDisplayName` with the user's login name to not send an initial display name update if the display name is the same casing as the login name
* Specifically, this adds a caller to the network request, which makes the
success or failure callback not fire.
This has the unintended consequence of the block list not reloading if
the usercard is closed, but it's not a big concern.
* Add unrelated `-DUSE_ALTERNATE_LINKER` cmake option
From 0517d99b46/CMakeLists.txt (L87-L103)
Available test channels:
- `$$$` - Fill up scrollback (1000 messages), then add a new message every 500ms
- `$$$:e` - Add a new message every 500ms
- `$$$$` - Fill up scrollback (1000 messages), then add a new message every 250ms
- `$$$$:e` - Add a new message every 250ms
- `$$$$$` - Fill up scrollback (1000 messages), then add a new message every 100ms
- `$$$$$:e` - Add a new message every 100ms
- `$$$$$$` - Fill up scrollback (1000 messages), then add a new message every 50ms
- `$$$$$$:e` - Add a new message every 50ms
- `$$$$$$$` - Fill up scrollback (1000 messages), then add a new message every 25ms
- `$$$$$$$:e` - Add a new message every 25ms
Cleanup unused code (Twitch v5)
Add json methods that simplify sending JSON. This also sets the Accepts header, since here, when JSON is sent, only JSON is accepted as a response (this is only done in Helix).
Clarify helix request creations
Cleaned some clang-tidy suggestions in Network{Request,Private}
Remove PCH as an option - it's now always disabled for all jobs
Disable LTO in the Windows build
Merge the Ubuntu Qt 6.2.4 & Ubuntu plugin build
Only upload a single macOS job into the nightly release, and clearly mark it as a macOS 10.15 build.
Thanks Greenlandicsmiley, Nerixyz, Yoitsu, and helmak for helping debug & test this
* Remove QMediaPlayer includes
* Prefer local path when generating the sound path
* Update changelog entry number
* Disable pitch & spatialization control
This feature is enabled by default and can be disabled in settings with the "Enable BTTV live emotes updates" setting.
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
* Add `<functional>` include to QStringHash.hpp
This ensures the base `std::hash` template is declared before this
specialization
* Add missing includes to `src/providers/twitch/TwitchAccountManager.hpp`
* Move explicit HelixChatters constructor to the source file
* Remove unused includes & add used includes to NicknamesModel.hpp
* NicknamesModel.hpp: Remove `virtual` when `override` is used
* Add missing QStringHash include to TwitchEmotes.cpp
* Add missing includes to various files
* Print Qt version in cmake step
Technically unrelated, but I'm sneaking it in
* Add changelog entry
* Flatten static functions in anonymous namespace
* SplitHeader ctor: Rename param
* Header: Remove unnecessary `virtual`s
* auto ptr where possible
* Add curly braces
* Comment twitch room modes
* Treat roomModes->slowMode as an integer
* Remove unused `this` from lambdas
* Add `unsigned int` overload for localizeNumbers
* Move thumbnail max age to a constexpr static & set explicit types
* Explicitly use `QObject::connect`
* Use `empty()` instead of `size()`
* Name unused parameters
* Move moderation action refreshing logic from SplitHeader to Split
* feat: c++ 20
* fix: c++ 20 deprecations
* fix(msvc): warnings
* chore: add changelog entry
* fix: formatting
* Update websocketpp to the `develop` branch
* Specify other template type in FlagsEnum != operator
* Remove the user of simple template ids in our websocketpp template class
Also standardizes the file a bit by using nested namespaces, using
pragma once
* fix: turn `MAGIC_MESSAGE_SUFFIX` into a `QString`
* hacky unhacky hacky const char hack
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>