Commit Graph

174 Commits

Author SHA1 Message Date
nerix 0c74ab17ed Refactor 7TV EventAPI (#4342)
* refactor: remove file prefix

* refactor: put eventapi into a namespace

* refactor: support multiple conditions

* fix: handle ack

* docs: add changelog entry

* fix: unsubscribe in destructor

* fix: naming of parameter

* fix: namespaces

* chore: casing

* fix: missing namespace

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-02-04 13:42:52 +01:00
nerix 904749cf62 feat: Add Live Emote Updates for BTTV (#4147)
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>
2023-01-21 14:06:55 +00:00
nerix 1043f9f803 Remove Unnecessary Includes in Headers (#4275)
* refactor: remove unnecessary includes in headers

* fix: formatting

* chore: changelog

* fix: scrollbar

* fix: suggestions and old appbase remains

* fix: suggestion

* fix: missing Qt forward declarations

* fix: another qt include

* fix: includes for precompiled-headers=off

* Add missing `<memory>` includes

* Add missing `#pragma once`

* Fix tests

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-31 14:41:01 +00:00
nerix 86e71c8bd9 Migrate to C++ 20 & switch to websocketpp develop branch (#4252)
* 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>
2022-12-24 11:56:11 +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
nerix 39f7d8ac4c feat: Live Emote Updates for 7TV (#4090)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-13 12:07:41 +01:00
pajlada c714f15ce9 Add debug output to channel point reward callbacks (#4142) 2022-11-11 23:49:44 +00:00
Colton Clemmer 495f3ed4a9 Migrate /chatters commands to use Helix api (#4088)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-01 22:18:57 +00:00
yodax d23d5c142e Added stream titles to windows toast notifications (#2044)
Co-authored-by: 23rd <23rd@vivaldi.net>
Co-authored-by: David Myers <dave-myers@outlook.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-30 12:29:43 +00:00
nerix 3e41b84ed7 feat: Add 7TV Emotes and Badges (#4002)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-16 11:22:17 +00:00
nerix c1af2c3faa feat: add settings to toggle BTTV/FFZ global/channel emotes (#3935)
* feat: add settings to disable BTTV/FFZ global/channel emotes

* docs: add changelog entry

* fix: capitalize `BTTV` and `FFZ`

* fix: rename and move settings
2022-08-28 12:20:47 +02:00
Daniel Sage 46f43f3ce8 Automatically load recent messages on reconnect (#3878)
* Add working reconnect recent messages

* Rename method to messagesUpdated

* Use audo declarations

* Add docs to new LimitedQueue methods

* Add more documentation, try atomic loading flag

* Update CHANGELOG.md

* Remove unused include

* Rename 'reconnected' signal to 'connected'

* Reserve before filtering on arbitrary update

* Extract recent messages fetching to own class

* Use std::atomic_flag instead of std::atomic_bool

* Add PostToThread include

* Add chatterino.recentmessages logging

* Remove unneeded parameters, lambda move capture

* Remove TwitchChannel::buildRecentMessages

* Add documentation, use more clear method name

* Reword changelog entry

I think it sounds better like this :)

* Rework how filling in missing messages is handled

This should hopefully prevent issues with filtered channels with old messages
that no longer exist in the underlying channel

* Check existing messages when looking for reply

* Clean up string distribution in file

* Try to improve documentation

* Use std::function for RecentMessagesApi

* Only trigger filledInMessages if we inserted

* Remove old unused lines

* Use make_shared<MessageLayout> instead of new MessageLayout

* Alphabetize QLogging categories

* Reorder CHANGELOG.md
2022-08-06 18:18:34 +02:00
Daniel Sage 20c974fdab Added support for Twitch's Chat Replies (#3722)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-31 10:45:25 +00:00
Kasia 74ec310228 Fixed channels not being set as offline (#3767) 2022-05-28 18:10:10 +00:00
xel86 dc34c16dbe Batch checking live status for all channels after startup. (#3757) 2022-05-22 15:51:23 +00:00
nerix f97780d84e Improve Twitch PubSub connection reliability (#3643)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-07 15:22:39 +00:00
Sidd c399d4dbe9 refactor(TwitchChannel): remove getGameById call (#3662)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-04-09 12:27:04 +00:00
James Upjohn 96e2d1f971 Fix empty game update not updating header (#3609)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-03-19 18:58:19 +00:00
James Upjohn 67c10fafc7 chore: replace usages of obsolete twitch struct with backing field (#3614)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-03-19 11:02:29 +00: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
Mm2PL 820099821a Implement workaround for combined emoji (#3469) 2022-01-11 00:18:02 +00:00
pajlada 51ece94f58 Update Settings and Signals version (#3398)
Co-authored-by: zneix <zneix@zneix.eu>
2021-12-19 14:57:56 +00:00
Infinitay b4b745024c Clean up chat messages of special line characters prior to sending (#3312)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-10-30 12:49:41 +00:00
Felanbird be3609a927 Capitalize mentions of Twitch, Chatterino, and IRC in comments and text/settings (#3274) 2021-10-17 15:06:58 +02:00
Paweł 9a1e405563 Fix /me not going through upon sending an identical message (#3166) 2021-08-15 11:52:32 +02:00
pajlada 784fdd28b2 Check for ignored phrases/users in channel point redemptions (#3102) 2021-08-01 13:44:04 +00:00
Mm2PL 77f683577f Use double spaces instead of Chatterino character when possible (#3081) 2021-08-01 12:38:07 +00:00
Paweł ae9f92ded9 Make use of QUrlQuery in NetworkRequests where it was hardcoded into url (#3039)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-07-18 13:21:09 +00:00
Paweł 1f19d31a67 Added informative messages on issues related to recent-messages (#3029) 2021-07-18 14:15:38 +02:00
Paweł c8c28d7f55 Remove global third party emotes from TwitchChannel class (#3000)
Those are still accessible under getApp()->twitch2 instance.
2021-07-13 13:23:50 +02:00
Paweł 94a99ac4f0 Fix custom built messages not showing up as search results (#2962) 2021-07-11 10:19:35 +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
Mm2PL 74960bf419 Communicate streams that went offline through /live (#2880)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-19 17:27:31 +00:00
Mm2PL 3977eb74a6 Update Twitch AutoMod PubSub topic (#2887)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-13 15:38:30 +02:00
Paweł 0b4c521c9b Refactored system message received upon trying to send a message while anonymous (#2862)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-05 16:27:14 +02:00
fourtf 3fddafb867 optimize chatter list (#2814)
* optimize chatter list

* changelog

* Fix tests

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-24 10:13:59 +00:00
fourtf 258851e572 removed accidentally added line 2021-05-23 11:24:08 +02:00
Paweł 6732b25f36 Fixed deprecated method Qt::SystemLocaleLongDate (#2784)
Fixes deprecation notices introduced in #2748

Reference: https://doc.qt.io/qt-5/qt.html#DateFormat-enum
Replacement: https://doc.qt.io/qt-5/qlocale.html#FormatType-enum
2021-05-16 00:34:42 +02:00
Paweł 519855d852 Migrated cheermotes to Helix API (#2440)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-15 17:02:47 +00:00
apa420 d59bb805bb Added system message on new date (#2748)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-09 18:44:57 +02:00
apa420 dcd65b5978 /live split for channels going live (#1998)
Co-authored-by: 23rd <23rd@vivaldi.net>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-09 14:17:04 +00:00
apa420 1568de6640 Added clickable hosting messages (#2752)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-08 14:46:41 +00:00
Daniel f6d9fb2aac Add ability to highlight messages based on user badges (#1704)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: 23rd <23rd@vivaldi.net>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-02 22:08:08 +00: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
Paweł ed7d1a88d0 Added custom FrankerFaceZ VIP badges (#2628)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-17 14:42:30 +02:00
Paweł ce947a89d7 Fixed deprecated method QTime::elapsed (#2504)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 17:54:34 +01:00
James Upjohn d94d9e74dd Implement missing cheer emote tooltip (#2503) 2021-03-13 14:16:32 +01:00
Paweł 857705668e Migrated getChannel to Helix (#2381)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-01-21 13:48:48 +01:00