Commit graph

65 commits

Author SHA1 Message Date
pajlada
5deec1f02f
chore: remove Singleton & replace getIApp with getApp (#5514) 2024-07-21 13:09:59 +00:00
pajlada
354079c74c
refactor: add Channel::addSystemMessage function (#5500) 2024-07-07 22:03:05 +02:00
pajlada
248cd46eb7
fix: global emotes not loading (#5435)
* 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
2024-06-03 10:31:30 +02:00
pajlada
b6dc5d9e03
chore: refactor TwitchIrcServer (#5421) 2024-06-01 12:56:40 +00:00
nerix
9583a10b88
fix(helix-chat): show better error messages (#5276) 2024-03-30 11:24:09 +01:00
nerix
0cfd25ce8e
feat: Send messages using Helix API (#5200) 2024-02-25 14:45:55 +01:00
pajlada
32d269dffc
feat: add the ability to unit test some aspects of SplitInput (#5179) 2024-02-17 12:26:54 +00:00
pajlada
5628605de4
refactor: Move Emotes to Application (#5120) 2024-01-21 13:20:21 +00:00
pajlada
4380ef8c5f
refactor: Remove most raw accesses into Application (#5104) 2024-01-19 17:59:55 +01:00
pajlada
718696db53
refactor: Un-singletonize Paths & Updates (#5092) 2024-01-16 20:56:43 +00:00
pajlada
5b6675abb4
refactor: fix clang-tidy auto*, const&, and curly braces (#5083) 2024-01-14 17:54:52 +01:00
pajlada
416806bb0a
refactor: Twitch PubSub client (#5059)
* 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!!!!!!!!
2024-01-06 13:18:37 +01:00
iProdigy
036a5f3f21
feat: show restricted chats and suspicious treatment updates (#5056)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-12-31 10:44:55 +00:00
iProdigy
e75ce5db54
fix: request more historical messages on wake (#5018) 2023-12-16 12:38:35 +00:00
iProdigy
44abe6b487
feat: add channel for messages caught by AutoMod (#4986)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-03 22:07:30 +00:00
pajlada
9f23c8562a
Test filters context map & message builder (#4886) 2023-10-13 15:41:23 +00:00
pajlada
8fe3af3522
Fix signal connection nodiscard warnings (#4818) 2023-09-16 11:52:51 +00:00
pajlada
76527073cf
Ensure live status requests are always batched (#4713) 2023-07-02 13:52:15 +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
pajlada
c95a65c153
Fix Qt6 building (#4393) 2023-02-19 20:19:18 +01:00
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
pajlada
c0f0a7e555
Fix link to the "connecting to the Twitch IRC server" guide (#4293) 2023-01-08 12:45:24 +01: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
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
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
pajlada
46efa5df3d
Treat reorder warnings as errors (#3944) 2022-09-03 18:12:44 +02: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
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
f3f340335f
Make generic version of batcher function (#3822) 2022-06-17 20:52:20 +02:00
Kasia
74ec310228
Fixed channels not being set as offline (#3767) 2022-05-28 18:10:10 +00:00
Sidd
21934b6aaf
perf: use constant time live channel lookup (#3762) 2022-05-22 19:21:02 +02: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
pajlada
28dcdb238b
Remove JOINs from write connection (#3112)
Co-authored-by: zneix <zneix@zneix.eu>
2021-08-03 15:55:04 +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ł
91ab8b90a0
Cleaned up IrcMessageHandler (#3021) 2021-07-17 13:09:21 +00: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
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
pajlada
2f49b23875
Add ability to disable precompiled headers with CMake (#2727) 2021-05-08 15:57:00 +02: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
b3e01a40d7
Try to improve Twitch IRC network stability (#2347) 2021-01-09 18:05:02 +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
Auro
cc5eb7000f
Fixed the english of a system message (#1878)
* Update TwitchIrcServer.cpp

* made english better

changed "sending messages too fast" to "You are sending messages too fast"

* changed english

* Changed English

Changed the English in 2 system messages

* Update CHANGELOG.md

* Changed too fast to too quickly

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-26 13:06:37 +02:00
pajlada
e4af009fda
[irc] Partially fix IRC colors (#1594)
Doesn't fix #1379 but it is a big step forward.

Needs some "real life" testing, but should be good.
2020-07-04 15:15:59 +02:00
pajlada
20612a1381
Fix repeated signal connects on reconnect in irc server (#1576) 2020-03-01 06:05:08 -05:00
fourtf
f8a9850151 absorbed HighlightController into Application 2020-02-23 21:18:40 +01:00