Commit Graph

74 Commits

Author SHA1 Message Date
pajlada 97702e0a1f refactor: make Application::emotes private (#5109) 2024-01-20 10:49:32 +00:00
pajlada 93e2bc18fa refactor: move Network files from src/common/ to src/common/network/ (#5089) 2024-01-15 21:28:44 +01:00
nerix e8673fc52a fix: deadlock and use-after-free in tests (#4981)
* fix: use-after-free in settings

* refactor: put seventv api into a singleton

* chore: add changelog entry

* Add warning for when the 7TV load fails
2023-11-26 15:54:19 +00:00
nerix 6faf63c5c4 refactor: Remove Outcome from network requests (#4959) 2023-11-12 14:51:51 +01:00
Alex Baines 879a63e6f3 Support using follower emotes outside of channel if subbed (#4922)
If we also have a subscriber emote set for a channel, then don't treat
a follower emote set as local to that channel.

Co-authored-by: iProdigy <8106344+iProdigy@users.noreply.github.com>
2023-11-04 17:45:18 +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 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
pajlada a715b1ffff Clean up TwitchAccount emote stuff (#4243)
* Remove unused TwitchAccount FollowResult enum

* Remove unused TwitchEmoteSetResolverResponse struct

* Remove unused and unimplemented `getEmoteSetBatches` function definition

* Remove unused `loadEmoteSetData` and `staticEmoteSets` from
TwitchAccount

* Remove forward declaration of TwitchAccount in TwitchAccountManager

* Clean up IgnorePhrase includes

* add missing newline in pubsubmanager.cpp
2022-12-18 14:36:39 +00:00
pajlada 032f290767 Sort and force grouping of includes (#4172)
This change enforces strict include grouping using IncludeCategories

In addition to adding this to the .clang-format file and applying it in the tests/src and src directories, I also did the following small changes:

    In ChatterSet.hpp, I changed lrucache to a <>include
    In Irc2.hpp, I change common/SignalVector.hpp to a "project-include"
    In AttachedWindow.cpp, NativeMessaging.cpp, WindowsHelper.hpp, BaseWindow.cpp, and StreamerMode.cpp, I disabled clang-format for the windows-includes
    In WindowDescriptors.hpp, I added the missing vector include. It was previously not needed because the include was handled by another file that was previously included first.
    clang-format minimum version has been bumped, so Ubuntu version used in the check-formatting job has been bumped to 22.04 (which is the latest LTS)
2022-11-27 19:32:53 +01:00
Kasia f3f340335f Make generic version of batcher function (#3822) 2022-06-17 20:52:20 +02:00
pajlada 7ccf60111d Overhaul highlight system (#3399)
Checks have been moved into a Controller allowing for easier tests.
2022-06-05 15:40:57 +00:00
James Upjohn f76306c6fa fix: re-add missing Twitch emote reload message (#3645)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-04-05 10:01:18 +02:00
Paweł df70ca59e3 Purged kraken (#3578)
* Purged kraken code

* Remove kraken documentation

* Update Helix documentation

* Ran prettier

* Removed kraken files from qmake build file

* Remove now unnecessary .finally() callback
2022-02-28 14:59:10 +00:00
James Upjohn 6151cd5b05 Show system message when reloading subscriber emotes (#3135)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-08-08 10:59:28 +00:00
Paweł 0c5abb8149 Deprecated /(un)follow commands and respective usercard action (#3078)
/(un)follow commands are marked as deprecated and link to the issue this PR is closing.
follow button on the usercard is removed completely

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2021-08-04 20:41:27 +00:00
pajlada 8ceb100177 Add tests for getEmoteSetBatches (#3036) 2021-07-18 10:14:01 +00:00
Paweł 7e13564c24 Fixed newly uploaded subscriber emotes not being available (#2992)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-17 15:18:17 +00:00
Paweł a509c7514c Fixed degraded dirty emote code escaping (#3010) 2021-07-17 10:35:43 +00:00
Paweł d5add46730 Respect follower emotes context, making them only available in their owner channels (#2951)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-11 09:12:49 +00:00
Paweł 002129009d Fix emotesets not loading properly (#2905)
* Initial work

fk I'm so tired...

* Updated Twitch API documentation

* Futher changes

* Removed debug output

* Added changelog entry

* Advice: don't code at 4am

removed all silly debug stuff

* Add missing lambda capture
2021-06-24 21:23:31 +00:00
Paweł d6b5921a0e Refactored emote reloading (#2857)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-06-20 00:11:06 +02:00
Paweł 5512437f1b Fixed a crash introduced in 2f568b8 (#2856) (#2871) 2021-06-06 19:59:53 +00:00
Paweł 2f568b88ae Split list of emote sets into bunches when performing Ivr API reqeusts (#2856) 2021-06-06 19:27:45 +02:00
Paweł e746201c4f Refactored and Migrated to Helix AutoMod message management (#2779)
This uses new Helix endpoint which requires new scopes and users need to reauthenticate to approve/deny AutoMod messages again.
2021-05-14 13:14:43 +02:00
pajlada 115d198434 Make AccessGuard use a shared_mutex instead (#2702)
This allows `accessConst` to use a shared lock instead of a unique lock
2021-05-01 15:19:41 +00:00
fourtf 8b3f301c50 some concurrency additions (#2698) 2021-05-01 11:38:58 +00:00
Yoitsu 00ccdbc781 clang-tidy: use std::move where applicable (#2605)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 12:34:40 +00:00
Paweł 1f5b62e6e5 Implemented bit emotes (#2550)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-21 15:42:45 +01:00
Paweł af4e3f5062 Refactored loading emotes and emotesets (#2539)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-03-21 15:19:49 +01:00
Paweł 7d9f4c2b0c Migrated block, unblock and get user block list methods to Helix (#2370)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-02-14 14:01:13 +01:00
Paweł e48937e0aa Fixed some spelling mistakes across files (#2367)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-17 20:19:10 +01:00
Paweł 2f5df3db4a Migrated follow and unfollow methods to Helix API (#2306) 2020-12-22 09:55:58 +01:00
Steve Wills df722a72c1 Switch to QT Category logging (#2206)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-11-21 16:20:10 +01:00
Leon Richardt 0eed45ae67 Chore: Proper Lambda Formatting (#2167)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-08 12:02:19 +01:00
Leon Richardt 17aa3f71cd Remove Debug Output In Many Different Places (#1607)
* Application.cpp: Remove whisper debug output

* TwitchAccount.cpp: Remove AutoMod debug output

* BaseWindow.cpp: Remove mouse tracking debug output

* RunGui.cpp: Remove debug output for cleared cache items

* Notebook.cpp: Remove debug output for selected widgets

* LimitedQueue.hpp: Remove commented debug output

* IrcMessageHandler.cpp: Remove debug output when receiving whispers

* UserInfoPopup.cpp: Remove user name debug output

* ChannelView.cpp: Remove debug output when clicking a message

* Image.cpp: Remove commented debug output

* AttachedWindow.cpp: Remove commented debug output

* SplitOverlay.cpp: Remove commented debug output

* TwitchMessageBuilder.cpp: Remove debug output for highlights

* TwitchMessageBuilder.cpp: Remove debug output for blocked messages

* PubsubClient.cpp: Remove debug output on PubSub::listen

* PubsubClient.cpp: Remove debug output on PubSub::tryListen

* IncognitoBrowser.cpp: Remove debug output of browser command

* NativeMessaging.cpp: Remove debug output of message
2020-03-19 18:06:21 +01:00
pajlada 9a8b85e338 Twitch API: v5 to Helix migration (#1560)
There's a document in src/providers/twitch/api which describes how we interact with the Twitch API.
Keeping this up to date might be a healthy way for us to ensure we keep using the right APIs for the right job.
2020-03-14 12:13:57 +01:00
apa420 4b1202437b Sort emotes alphabetically in emote picker (#1499) 2020-01-25 13:05:59 +01:00
pajlada 3c8992cac1 Remove FMT dependency (#1472)
All occurrences of log() have been replaced with qDebug()

bonus meme: remove a bunch of std::string usages in the pubsub client

Fixes #1467
2020-01-03 20:51:37 +01:00
fourtf 758a6bb41c NetworkRequest onError now uses NetworkResult 2019-09-19 19:03:50 +02:00
Leon Richardt 720e5aa25f Improvements to Message Search (#1237)
* Ran clang-format

* Implement user-specific search in message history

This functionality was originally requested in #1236.

This commit changes the SearchPopup::performSearch method so that only
messages from specific users can be shown.

In order to filter for a specific user, enter their username with a
leading '@' in the search popup. You can also add an additional search
phrase which will also be considered in the search.

* Naive implementation for "from:" tags

Rebase later?

* Cleverer (?) version using Predicates

Commit adds two POC predicates: one for the author of messages, and one
for substring search in messages.

Problems/TODOs:
* Best way to register new predicates?
* Clean up tags (e.g. "from:") or not?
* Test combinations of different predicates

* Add a predicate to check for links in messages

* Remove a dumb TODO

* Rewrite SearchPopup::performSearch to be cleaner

* Ran clang-format on all files

* Remove TODO I missed earlier

* Forgot to run clang-format

peepoSadDank

* Re-use {}-initialization

Was accidentally removed when fixing earlier merge conflict.

* Does this fix line endings?

No diffs are shown locally, hopefully Git doesn't lie to me.

* Rename "predicates" directory to "search"

Resolving one conversation in the review of #1237.

* Use LinkParser in LinkPredicate

Resolving a conversation in the review of #1237.

* Predicates: Use unique_ptr instead of shared_ptr

Resolves a conversation in the review of #1237.

* Refactor of SearchPopup and AuthorPredicate

Resolving some points from the review in #1237.

* Moved parsing of comma-seperated values into AuthorPredicate
  constructor.
* Rewrite SearchPopup::parsePredicates as suggested.
* Deleted now redundant methods in SearchPopup.

* MessagePredicate::appliesTo now takes a Message&

... instead of a MessagePtr.

This resolves a conversation in the review of #1237.

* Run clang-format on two files I missed

* AuthorPredicate: Check for displayName & loginName

Resolving conversation on #1237.
2019-09-09 15:21:49 +02:00
fourtf 7643c0d20d fixed deleting QTimer on wrong thread 2019-08-20 23:46:27 +02:00
fourtf 7697ec01b4 removed old NetworkRequest api 2019-08-20 22:16:17 +02:00
Rasmus Karlsson 8ba8bbeef6 Move environment variable parsing and storage to its own class
Make the Link resolver and Twitch emotes set resolver urls modifiable with
environment variables
2019-05-26 21:44:37 +02:00
apa420 cd5c373e01 smol commit, idk if I will continue this 2019-01-20 17:03:45 +01:00
apa420 e9bd9ddb8e smoler commit 2019-01-20 16:28:25 +01:00
apa420 cc5528ec18 smol commit 2019-01-20 16:07:31 +01:00
apa420 7aa798f924 Forgot to add some small stuff 2019-01-20 14:47:04 +01:00
apa420 7067b0503d Added more functionality and clickable deny and accept buttons that don't do anything, this also fixes the issue with the background not working properly 2019-01-20 14:45:59 +01:00
23rd 0d48c04d8a Made cleanUpCode() as static TwitchEmotes's method. 2019-01-01 21:48:30 +01:00