Commit Graph

847 Commits

Author SHA1 Message Date
pajlada 8fe3af3522 Fix signal connection nodiscard warnings (#4818) 2023-09-16 11:52:51 +00:00
pajlada 813d96867b Migrate to the new Get Channel Followers Helix endpoint, fixing follower count not showing up in usercards (#4809) 2023-09-09 12:51:45 +00:00
pajlada d4558b5fe5 Fix all warnings from the cppcoreguidelines-pro-type-member-init clang-tidy check (#4426) 2023-09-09 11:11:19 +00:00
pajlada 877a4e05fa Remove boost::noncopyable use & boost::random dependency (#4776)
The use has been removed from the following files:
* Atomic.hpp
* SignalVector.hpp
* Benchmark.hpp
* IvrApi
* LoggingChannel.hpp
* Singleton.hpp
* Image.hpp
* PrecompiledHeader.hpp
* Message.hpp
* MessageElement.hpp
* MessageLayout.hpp
* MessageLayoutElement.hpp
* Fonts.hpp (just include)
2023-09-09 10:23:20 +00:00
pajlada 7cb04bf58b Remove BaseSettings & merge ConcurrentSettings (#4775) 2023-08-28 17:51:28 +02:00
pajlada 4c942a2a42 Fix data race in PubSub (#4771) 2023-08-27 21:35:38 +00:00
pajlada 3f7671000a Fix memory leaks & data races in tests (#4772)
* 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 :-)
2023-08-27 12:07:46 +00:00
Felanbird b77653761e Remove comment for incorrect Twitch response (#4781) 2023-08-21 22:34:12 +00:00
nerix e7281b033e Show historic timeouts and bans in usercard (#4760)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-13 10:00:52 +00:00
Mm2PL 1e35391075 Hide AutoMod term management messages in Streamer Mode. (#4758)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-12 12:16:30 -04:00
pajlada 3e1e400e3e Refactor recent messages API (#4763)
This exposes internal functions for testing by splitting the implementation & internal API into separate files
2023-08-12 11:34:59 +00:00
pajlada 1aedd4d668 Highlights loaded from message history will now correctly appear in the /mentions channel (#4752)
* added messages in mentions tab if correct predicate is met

* Update CHANGELOG.md

* Apply Felanbird's fix

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>

---------

Co-authored-by: 2547techno <technowizz2547@gmail.com>
Co-authored-by: 2547techno <109011672+2547techno@users.noreply.github.com>
Co-authored-by: Mm2PL <miau@mail.kotmisia.pl>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-08-05 14:23:40 +00:00
Mm2PL 5727db2029 Fixed subscriptions and announcements not being blockable (#4748)
* Check blocks for usernotices

* changelog

* cstd = {.name="C++20"}

* Update CHANGELOG.md

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-08-05 12:45:43 +00:00
2547techno 6b7d12e410 Show channel point redemptions without messages in usercard. (#4557)
* set login name for channel point reward message

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Co-authored-by: Mm2PL <miau@mail.kotmisia.pl>
2023-08-04 10:28:52 +00:00
nerix 703847c9ba Add subtitle to Hype Chats (#4715)
* 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>
2023-07-30 16:54:42 +00:00
nerix 33fa3e0a97 Use New 7TV Cosmetics System (#4512)
* feat(seventv): use new cosmetics system

* chore: add changelog entry

* fix: old `clang-format`

* fix: small suggestions pt1

* refactor: add 7tv api wrapper

* fix: small clang-tidy things

* fix: remove unused constants

* fix: old clangtidy

* refactor: rename

* fix: increase interval to 60s

* fix: newline

* fix: Twitch

* docs: add comment

* fix: remove v2 badges endpoint

* fix: deadlock

This is actually really sad.

* fix: remove api entry

* fix: old clang-format

* Sort functions in SeventvBadges.hpp/cpp

* Remove unused vector include

* Add comments to SeventvBadges.hpp functions

* Rename `addBadge` to `registerBadge`

* fix: cleanup eventloop

* ci(test): add timeout

---------

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-29 09:49:44 +00:00
nerix fca57696bb Increase max number of blocked users loaded from 100 to 1,000 (#4721)
Also includes a little refactor of how the requests are made & how the blocked users are stored
2023-07-23 11:26:12 +00:00
pajlada a440f0261a Fix crash that could occur when closing a split before its display name was updated (#4731)
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
2023-07-23 10:11:57 +00:00
pajlada 76527073cf Ensure live status requests are always batched (#4713) 2023-07-02 13:52:15 +00:00
nerix 22b290cb2d Improve network error messages (#4704) 2023-07-01 12:59:59 +00:00
pajlada d2f1516818 Fix crash that could occur if closing the usercard quickly after blocking (#4711)
* 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 https://github.com/heavyai/heavydb/blob/0517d99b467806f6af7b4c969e351368a667497d/CMakeLists.txt#L87-L103
2023-07-01 12:01:47 +00:00
nerix 4b40b9a310 Define Git and date constants in executables only (#4681) 2023-06-17 19:43:39 +02:00
nerix aff9342647 Add option to subscribe to and pin reply threads (#4680)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-17 15:41:52 +00:00
dependabot[bot] 36bc8e0520 Bump lib/crashpad from ec99257 to 432ff49 (#4688)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: nerix <nerixdev@outlook.de>
2023-06-16 20:11:01 +02:00
Arne 6681ed5bfb Remove QObjectRef in favor of QPointer (#4666)
* replace usage of QObjectRef with QPointer

* delete QObjectRef class

* inlucde QPointer header

* Add changelog entry

* use isNull() instead of ! data()

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-04 11:24:04 +00:00
chrrs bf4148a370 Consider nicknames when searching for messages (#4663)
Co-authored-by: pajlada <rasmus.karlsson+github@pajlada.com>
2023-05-31 19:38:17 +00:00
pajlada 5ca7d387e4 Expand upon test channels (#4655)
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
2023-05-27 13:33:01 +02:00
Daniel Sage 51f2c4d1c0 Add input completion test suite (#4644)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-21 10:10:49 +00:00
olafyang 21d4b2cacc add "/shoutout" command (#4638)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-20 16:32:06 +00:00
Mm2PL 82dff89f3b Add 'joined channel' system message. (#4616) 2023-05-19 10:30:30 +00:00
nerix ce47d27d41 Refactor/Cleanup NetworkRequest and Related Code (#4633)
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}
2023-05-16 17:28:20 +02:00
pajlada 4fa2cc26c9 Document our pubsub usage & eventual eventsub usage (#4630)
* pubsub <-> eventsub documentation & clarification

* Update Get Chatters documentation
2023-05-14 08:55:48 +00:00
pajlada eed2cfff5b Clean up CI jobs (#4606)
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.
2023-05-08 14:08:43 +02:00
pajlada caa0220ce6 Add a Send button that can be used to send messages (#4607)
This button is disabled by default, and can be enabled with the "Show send message button" setting.
2023-05-07 13:18:07 +00:00
nerix 4dd290e4e5 🛡 Add /shield and /shieldoff 🛡 (#4580)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-07 10:52:05 +00:00
nerix 95e7426283 Remove Redundant Parsing of Links (#4507)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-22 22:58:37 +00:00
Zonian d6ef48d4ef Migrate Twitch badges to Helix (#4537)
Co-authored-by: iProdigy <8106344+iProdigy@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-16 09:58:45 +00:00
2547techno 52a6f259cf Fix: check reply-parent-user-id for blocked user (#4502) 2023-04-13 16:13:49 +00:00
nerix 610394d696 Fix Twitch-Specific Filters Not Being Applied (#4529)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-10 10:08:15 +00:00
pajlada c8e1741e47 Remove CHATTERINO_TEST definition (#4526) 2023-04-09 12:18:56 +02:00
pajlada d8df716fc2 Fix memory leak when using the Recent Messages API (#4499) 2023-04-01 11:57:48 +00:00
pajlada 130b23edaf Add a local backup of the Twitch Badges API (#4463) 2023-03-19 11:28:28 +00:00
nerix a777a227d4 Allow each layered image to retain its own flags (#4460)
This fixes an issue where context-menu items for zero-width emotes displayed the wrong provider.
2023-03-19 11:26:30 +01:00
Daniel Sage 0acbc0d2c3 Formalize zero-width emote implementation (#4314)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-18 12:30:08 -04:00
nerix db97a14cdc Ignore BTTV user-events (#4438)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-03-18 11:47:38 +00:00
nerix d7206a2203 Support Animated FFZ Emotes and Authors for Global Emotes (#4434)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-18 11:22:40 +00:00
Daniel Sage b9e87dcd2b Fix Handling of FFZ CDN URLs with https already appended (#4432) 2023-03-05 00:34:36 +00:00
nerix a75feba4ca Use unique_lock when loading 7TV badges (#4402)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-02-22 12:01:47 +00:00
pajlada c95a65c153 Fix Qt6 building (#4393) 2023-02-19 20:19:18 +01:00
pajlada 2629e3baa7 Stop whispers from showing up in /mentions unless they match another highlight (#4389) 2023-02-18 12:02:12 +00:00