Commit graph

604 commits

Author SHA1 Message Date
Paweł
1f19d31a67
Added informative messages on issues related to recent-messages (#3029) 2021-07-18 14:15:38 +02:00
pajlada
8ceb100177
Add tests for getEmoteSetBatches (#3036) 2021-07-18 10:14:01 +00:00
Paweł
89b86b94e7
Cleanup debug logging (#3015) 2021-07-17 16:45:02 +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ł
a509c7514c
Fixed degraded dirty emote code escaping (#3010) 2021-07-17 10:35:43 +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
Paweł
975b39fe10
Made username and color in AutoMod mod messages use correct values (#2967)
We use values given in pubsub messages and handle their edge-cases properly.
2021-07-11 11:33:35 +00: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
Paweł
b6ee2280d2
Moved getRandomColor method to util/Helpers.cpp (#2974)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-08 17:09:31 +00:00
Tal Neoran
2af9284de5
Make usernames clickable in reward redemption messages (#2953)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-07-04 16:21:18 +00:00
Tal Neoran
db09a88c8d
Add clickable usernames in host offline messages (#2922)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-27 13:50:12 +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
fourtf
1efc547aa5
removed access to theme from TMB + misc fixes (#2694)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-20 13:55:35 +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
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
9640837957
Allow moderators to see who deleted a message (#2874)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-19 11:56:00 +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
Mm2PL
eb8ddfc1d3
Add setting for username display style (#2891) 2021-06-13 12:13:19 +00:00
pajlada
91b0170241
Make tests use main chatterino project objects (#2840) 2021-06-13 11:49:59 +00: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
Mm2PL
f1e843a672
Make deletions show like timeouts/bans. (#2841)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-06 17:51:57 +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
Ben de Graaff
6611c24e13
Switch to Twitch v2 emote API for animated emote support (#2863)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Paweł <zneix@zneix.eu>
2021-06-04 19:42:32 +00: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
Tal Neoran
2db50f1c41
Add setting to disable custom ffz mod/VIP badges (#2759)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-05-16 22:07:12 +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
Sidd
860cc89e14
Load 100 blocked users instead of default 20 (#2772)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-05-14 18:18:40 +00: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
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
pajlada
2f49b23875
Add ability to disable precompiled headers with CMake (#2727) 2021-05-08 15:57:00 +02:00
pajlada
6f6ccb8c2f
Fix a deadlock that would occur when loading Twitch badges (#2756) 2021-05-08 13:29:12 +00:00
apa420
bb73069817
Automod info (#2744)
Co-authored-by: Sidd <iProdigy@users.noreply.github.com>
2021-05-08 12:49:30 +00:00
apa420
c40bdf812b
Fix automod messages not being parsed/showing up properly (#2742)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-08 12:14:49 +00:00
Paweł
0c2617dc99
Fixed login expired message highlight every tab (#2735) 2021-05-08 13:34:32 +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
Paweł
b614ce1cd8
Handle ritual (new viewer announcement) messages (#2703)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-01 15:42:51 +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
Mm2PL
08f2773f30
Remove ban reasons because they are not a thing in IRC anymore (#2650) 2021-04-25 13:44:12 +00:00
Paweł
c3d61ad77b
Add ability to hide Twitch Prediction badges (#2668)
We now properly categorize the Twitch `predictions` badges since they take up their own slot in Twitch web chat
2021-04-25 14:37:19 +02: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
James Upjohn
06ec230759
Fix bold/coloured usernames also formatting trailing punctuation (#2597) 2021-04-11 13:09:21 +00:00
Paweł
e741744254
Handle bits badge tier notification messages (#2611) 2021-04-11 12:17:21 +00:00
Yoitsu
a448af5f57
Implement Helix Search Categories end-point & update /setgame (#2609)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 23:34:27 +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
Mm2PL
f9246a9e3a
Add /setgame and /settitle (#2534)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-04 17:31:08 +02: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ł
a893cdaebe
Ensure twitch emote names are escaped (#2543) 2021-03-20 23:49:42 +01: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ł
efde73e684
Fixed remaining timeout message (#2502) 2021-03-07 18:03:53 +01:00
Paweł
b2aa370015
Fixed emote pasting bug with multiple spaces (#2490) 2021-03-04 01:13:36 +01:00
pajlada
e015013773
Add lint github action (#2473) 2021-02-21 14:45:42 +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
M4tthewDE
c2782666a6
Added formatting for remaining timeout duration (#2398) 2021-01-31 13:55:44 +01:00
Paweł
278a00a700
Implement /marker command (#2360)
This command works the same as it does on Twitch web chat - it creates a streamer marker at the current timestamp with an optional description
2021-01-30 15:39:01 +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
Paweł
766700adc8
Removed empty liveStatusChanged connect signal (#2374) 2021-01-18 13:09:14 +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ł
cfcac99ae6
Added clip creation support 🎬 (#2271)
You can create clips with `/clip` command, `Alt+X` keybind or `Create a clip` option in split header's context menu. This requires a new authentication scope so re-authentication will be required to use it.

Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-17 14:47:34 +01:00
Paweł
b587173e18
Added /chatters command (#2344) 2021-01-16 13:58:11 +01:00
pajlada
b3e01a40d7
Try to improve Twitch IRC network stability (#2347) 2021-01-09 18:05:02 +01:00
pajlada
0e66b17ff0
Add Network tests (#2304)
Also changes the way timeouts happen, since right now if a timeout was met (which it mostly wasn't), it would run the error callback twice causing potentially undefined behaviour
2020-12-26 12:42:39 +01:00
Paweł
2f5df3db4a
Migrated follow and unfollow methods to Helix API (#2306) 2020-12-22 09:55:58 +01:00
Rasmus Karlsson
a539b821e2 Fix another "use twitch-channel when it's null" error 2020-12-20 17:28:04 +01:00
fanway
38966e2b19
Add option for truecase username autocompletion (#1883)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-12-20 16:43:35 +01:00
Wolf Clément
b8104863a5
Fix crash when receiving whisper (#2298)
PR #2284 introduced this bug: whispers aren't linked to a twitch channel
but we're storing user colors in a twitch channel. So, dereferencing
a nullptr. Not good.
2020-12-20 09:38:34 +01:00
Wolf Clément
fea52faa66
Color mentions to match the mentioned users color (#2284)
You can disable this by unchecking "Color @usernames" under `Settings -> General -> Advanced (misc.)`

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-12-19 14:42:20 +01:00
Paweł
155b40985b
Made emote tooltips use author's displayName consistently (#2267) 2020-12-12 16:15:49 +01:00
Mm2PL
eb8eecdfed
Improve the "You are banned" message (#2266)
Added reconnect link to the "You are banned" message
2020-12-12 14:19:51 +01:00
Paweł
cfa9e5903e
Migrated Kraken's getUser to Helix (#2260) 2020-12-06 19:41:52 +01:00
fanway
bf4c9cebb1
Use display/localized names in tab and split titles (#2189) 2020-12-06 14:07:33 +01:00
pajlada
4436109a2f
Add setting to limit number of historical messages to load on connect (#2252) 2020-12-06 13:04:49 +01:00
pajlada
1a4d4dca79
Fix freeze in Ignore & Replace if replacement followed by emote (#2231)
shiftIndicesAfter now also shifts the item end position along with the item start position
2020-11-28 15:03:36 +01:00
Paweł
05aab86845
Added links to twitchemotes.com to Twitch emotes' context menus (#2214) 2020-11-22 15:54:58 +01:00
Paweł
b79d5fa6f0
Fixed "raw mentions" not being clickable with special characters appended to them (#2212) 2020-11-22 14:02:55 +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
Paweł
fbd5df53d8
Ensure Twitch username in UserCard uses display name from API (#2160) 2020-11-08 11:39:10 +01:00
fanway
f36c0fee97
Fix runIgnoreReplaces fall into infinity loop (#2151)
* Fix `runIgnoreReplaces` fall into infinity loop

The regex pattern was not checked for emptiness, which led to an endless
loop

* Update CHANGELOG.md

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-04 23:11:17 +01:00
Mm2PL
3ee08b9ffd
Add support FrankerFaceZ badges. (#2101)
On startup, we poll https://api.frankerfacez.com/v1/badges/ids and store the mappings of user IDs to badges for the remainder of the applications lifetime.
2020-10-25 10:36:00 +01:00
Leon Richardt
ec94869480
Allow highlights to be excluded from /mentions (#2036) 2020-10-24 14:33:15 +02:00
pajlada
f191de2514
Add CI workflow to check line endings of all source files (#2082)
In addition, all found errors (formatting & line ending) have been fixed in this PR.
2020-10-18 15:54:48 +02:00
dnsge
4199a01b96 Advanced channel filters (#1748)
Adds custom channel filters complete with their own mini-language. Filters can be created in settings, and applied by clicking the three dots to open the Split menu and selecting "Set filters".
2020-10-18 15:18:20 +02:00
Dave
84613187e1
Fixed missing timestamps on point redemption messages (#2043)
* Added timestamps to point redemption messages

* updated change log

Co-authored-by: fourtf <tf.four@gmail.com>
2020-10-09 17:26:45 +02:00
Paweł
776ce8bdbc
Added subage and followage to usercard (#2023)
* Added subage and followage information to usercard

We are using Leppunen's API here to determine user's subage to the current channel and since that API call also returns followage information I decided to utilize that and save ourselves an extra Helix API call.
I also added new files specifying new class and methods for Ivr API, which can be very easily expanded with new methods in the future if we ever have to do that.
When I was coding I also saw couple unnecessary nitpicks which I fixed :)

* Added changelog entry

* remove empty lambda

* Update UserInfoPopup.cpp

* xd

Co-authored-by: fourtf <tf.four@gmail.com>
2020-10-04 18:32:52 +02:00
Leon Richardt
aff59495df
Improve "Login expired!" message (#2029)
* feat: improve "Login expired!" message

Since this message occurs when the OAuth token becomes invalid, users
have to re-add their account in order to continue using the application.
The previous message did not make this clear enough, often leading to
confusion and questions by users.

This commit changes the system message to more clear about what the user
has to do, and adds a link that opens the "Accounts" page in the
preferences.

* Update changelog

* Update ChannelView.cpp

Co-authored-by: fourtf <tf.four@gmail.com>
2020-10-04 17:36:38 +02:00
Vilgot Fredenberg
de04ff82a7
Clean up compiler warnings (#2027)
Fix the following compiler warning
../src/common/NetworkResult.hpp: In constructor ‘chatterino::NetworkResult::NetworkResult(const QByteArray&, int)’:
../src/common/NetworkResult.hpp:28:16: warning: ‘chatterino::NetworkResult::data_’ will be initialized after [-Wreorder]
   28 |     QByteArray data_;
      |                ^~~~~
../src/common/NetworkResult.hpp:27:9: warning:   ‘int chatterino::NetworkResult::status_’ [-Wreorder]
   27 |     int status_;
      |         ^~~~~~~
../src/common/NetworkResult.cpp:9:1: warning:   when initialized here [-Wreorder]
    9 | NetworkResult::NetworkResult(const QByteArray &data, int status)

* Clang compiler warnings

Fixes every instance of the following error:

In file included from ../src/widgets/settingspages/CommandPage.cpp:12:
In file included from ../src/controllers/commands/CommandModel.hpp:5:
../src/common/SignalVectorModel.hpp:242:10: warning: 'moveRows' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
    bool moveRows(const QModelIndex &sourceParent, int sourceRow, int count,
         ^
../src/controllers/commands/CommandModel.hpp:12:29: note: in instantiation of template class 'chatterino::SignalVectorModel<chatterino::Command>' requested here
class CommandModel : public SignalVectorModel<Command>
2020-10-04 12:47:23 +02:00
Daniel
58a6983796
Fix timestamps on some messages loaded from the recent-messages service on startup (#2020) 2020-10-03 13:37:07 +02:00
pajlada
20e4d6b3d2
Update emote parsing (#1714)
Fixes #1707
2020-09-26 14:21:46 +02: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
fourtf
ed87d6e2fa fixed recent messages being parsed concurrently 2020-09-25 22:20:15 +02:00