Commit graph

538 commits

Author SHA1 Message Date
Mm2PL d1d17d4e4b
Add new zero-width emotes from BTTV (#1613)
New zero-width emotes are cvMask and cvHazmat

Fixes #1612
2020-03-27 21:23:32 +01:00
pajlada 15cf8bfcfa
Don't set game to game id, always wait for the game name to be resolved (#1609)
Fixes #1606
2020-03-22 11:22:36 +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
pajlada 20612a1381
Fix repeated signal connects on reconnect in irc server (#1576) 2020-03-01 06:05:08 -05:00
fourtf ba5d842767 removed MutedChannelController 2020-02-28 19:04:25 +01:00
fourtf e537277fa8 did some more things and stuff 2020-02-23 23:07:28 +01:00
fourtf 5ad427bd61 moved some Settings from Application to Settings 2020-02-23 22:15:13 +01:00
fourtf f8a9850151 absorbed HighlightController into Application 2020-02-23 21:18:40 +01:00
fourtf d0a81f3fe7 refactored TaggedUsers and Ping 2020-02-23 20:34:00 +01:00
fourtf 89389608e9 removed compat class for SignalVector 2020-02-23 19:52:10 +01:00
fourtf 2ebe07bace removed compat functions in SignalVector 2020-02-23 19:44:13 +01:00
fourtf 843e2ad994 refactored HighlightController 2020-02-23 19:31:43 +01:00
fourtf e1838154ff refactored SignalVector 2020-02-23 17:11:15 +01:00
pajlada 2b5c6ffe33
Remove chatroom code (#1561)
People who had chatrooms still open should notice no difference at all, since it will just try to join a channel with the chatroom name.

Documentation for the closing/deprecation of twitch chat rooms:
    https://discuss.dev.twitch.tv/t/rooms-are-closing-how-it-affects-the-api-and-irc/22996
    https://dev.twitch.tv/docs/change-log (see 2020-01-10 entry)
2020-02-22 06:05:36 -05:00
Rasmus Karlsson b5764c6a1f Remove stupid assert in PubSubClient
Fixes #1550
2020-02-15 14:49:22 +01:00
Leon Richardt b8953157cc
Better Highlights: Rework highlight parsing order (#1524)
This commit is in response to #1523.

Whispers are now only added to the `/mentions` tab if they also match a
user name or phrase highlight. On a related note, the `highlightVisual_`
member has been removed as it is no longer necessary.
2020-02-02 08:33:25 -05:00
hemirt 1fd64be7f5
Makes it possible to hide one man spam (#1496) 2020-02-02 08:31:37 -05:00
apa420 4b1202437b Sort emotes alphabetically in emote picker (#1499) 2020-01-25 13:05:59 +01:00
Mm2PL 410de82261 Make a command that shows the Chatterino user card (/usercard) (#1375)
* Make UserInfoPopup be able to show that fetching the information failed.
2020-01-25 12:59:31 +01:00
Leon Richardt 5957551d06 Better Highlights (#1320)
* Support for user-defined sounds and colors

* Make color & sound columns selectable

* Add custom row for subscription highlights

* Add subscriptions to custom highlights and centrally manage highlight colors

* Dynamically update message highlight colors
2020-01-25 11:03:10 +01:00
Rasmus Karlsson 81b79e14b5 Fix a crash in TwitchChannel::refreshCheerEmotes
If you closed down the split right after the refreshCheerEmotes call was
made, then refreshCheerEmotes used this after it was free'd
2020-01-12 10:06:01 +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
apa420 be898e88dd Add setting to stack bits (#1452) 2019-12-21 10:36:46 +01:00
pajlada d5001b97f4
allow customizing twitch server parameters through environment variables (#1449) 2019-12-21 10:11:23 +01:00
apa420 0d227ab2f5 Various bits fixes (#1443)
We now make sure we don't render any fake bits
Bits now show their real value properly
2019-12-19 21:36:02 +01:00
Rasmus Karlsson 11442bba20 move titleRefreshPeriod out of the TwitchChannel class
this fixes a "use of uninitialized variable" error
2019-12-16 08:55:38 +01:00
Rasmus Karlsson bb9eb582ec replace the QStringList with a QSet<QString> as suggested by RAnders00
2d3fb8950e (r36317456)
2019-12-14 12:13:19 +01:00
Rasmus Karlsson 2d3fb8950e hardcoded list of BTTV's christmas emotes 2019-12-05 20:10:56 -08:00
Rasmus Karlsson bcc53c9aa7 Clean up Twitch badge appending code 2019-12-01 13:32:41 +01:00
apa420 c00f97ac53 Show exact months subscribed in Subscriber and Founder badge tooltip (#1424) 2019-12-01 02:20:56 -08:00
W Gomes ce90253aac Removed unused variables (#1394)
* Removed unused variables

Fixes compiler warning C4189: Local variable is initialized but not
referenced

* fixed typo
2019-10-29 21:15:06 +01:00
Felanbird 6f5c4cacf8 moved hardcoded global-badges to be more inline with browser chat (#1392) 2019-10-27 13:18:07 -07:00
Felanbird 0a8d50223d switch badge tooltips from description to title (#1384) 2019-10-27 07:46:08 -07:00
apa420 a12bd3df18 Now show joined setting doesn't also show parted and parted shows parted (#1376) 2019-10-20 20:11:12 +02:00
CommName dc1e4d2544 Show the title when offline (#1347)
* Channel text for offline chats

* Title refresh timer

* Fixed typo

* Refresh title when room id is loaded

* removed timer

* Typo

* Loaded on demand when hovered over

* removed the extra api request

* Moved refreshTitle function call

* Added thottling for 10s

* Fixed formating style

* reformat

* make status fetcher safer

* Requested changes from fourtf
2019-10-12 15:09:12 +02:00
fourtf 6f710823ed renamed getInstance() -> instance() for singletons 2019-10-07 22:42:34 +02:00
fourtf a894753596 renamed isVIP -> isVip 2019-10-07 20:31:34 +02:00
fourtf c6e1a1de2e Revert "changed default port from 443 to 6697"
It doens't appear to be the issue that builds aren't working

This reverts commit 56b7a3616f.
2019-10-05 19:42:46 +02:00
fourtf 56b7a3616f changed default port from 443 to 6697 2019-10-05 19:29:19 +02:00
Rasmus Karlsson 3a8f91d6f6 Change default port from 6697 to 443 2019-10-04 13:06:15 +02:00
fourtf 9874bd779a formatted all files with clang 9 2019-09-26 00:51:05 +02:00
fourtf fc049d8f45 disabled irc and fixed notice messages in write conn not showing 2019-09-22 16:16:08 +02:00
fourtf 456065f508 moved resources out of Application 2019-09-22 10:54:32 +02:00
Rasmus Karlsson 5871414e6b Possibly fixed PubSub over 50 listens
Keep an eye out on #1189
2019-09-21 12:46:10 +02:00
Rasmus Karlsson 137d7910c0 move more handlers from write to read 2019-09-21 11:57:09 +02:00
Rasmus Karlsson d94be74007 handle clearchat in read connection 2019-09-21 11:54:30 +02:00
Rasmus Karlsson 88da9501f7 handle ROOMSTATE in read connection too
this fixes the "recent messages not loading" issue
2019-09-21 11:45:55 +02:00
Rasmus Karlsson 8312d4b112 Fix USERSTATE not being handled unless you write in a channel.
This commit might re-enable some duplicate messages like host requests
and what-not.
2019-09-21 11:38:08 +02:00
fourtf 758a6bb41c NetworkRequest onError now uses NetworkResult 2019-09-19 19:03:50 +02:00
fourtf 88d8bf7cec renamed members in Helpers.cpp 2019-09-18 16:32:07 +02:00
fourtf 3ab7362304 Merge branch 'master' into irc-support 2019-09-18 13:03:16 +02:00
fourtf 27d6cf2bfd reconnect for irc + show errors + nickRequired 2019-09-18 08:05:51 +02:00
fourtf 96dac0fd3d moved chatters to ChannelChatters 2019-09-17 12:11:11 +02:00
fourtf 13c9aabf29 show all irc messages for debugging 2019-09-16 18:01:32 +02:00
fourtf 84b1efcd24 fixes #1304 emote.name eating the .name 2019-09-15 19:05:04 +02:00
fourtf a390649d0f added sasl auth 2019-09-15 13:15:29 +02:00
fourtf 22ca20ad2a renamed TwitchServer -> TwitchIrcServer 2019-09-15 13:02:02 +02:00
fourtf 13d1fab303 credentials are now loaded when needed 2019-09-14 20:45:01 +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
Leon Richardt b6f632701f Fix merge conflicts 2019-09-08 22:58:17 +02:00
Leon Richardt b06eb9df83 Normalize line endings in already existing files 2019-09-08 22:27:57 +02:00
fourtf e1a9a437f1 fixed pingsound not playing sometimes 2019-09-08 21:57:14 +02:00
fourtf 9f1eb654fd
Merge branch 'master' into apa-bits 2019-09-08 18:02:58 +02:00
apa420 5c602fea94 Resolved review 2019-09-08 16:01:38 +00:00
Rasmus Karlsson 862164bc2b make ffz custom mod badge atomic 2019-09-08 14:08:18 +02:00
Rasmus Karlsson dbce128cc3 Remove "custom on success" logic from Image.
Create a new message element and message layout element type for mod badges.
2019-09-08 14:08:18 +02:00
Rasmus Karlsson 256a65a12e Load mod badge information from the FFZ API instead of assuming the URL.
This lets us load all sizes of the emote if they are available.

Channel with all versions of the mod badge: https://api.frankerfacez.com/v1/room/pajlada
Channel with only one version of the mod badge: https://api.frankerfacez.com/v1/room/apa420
Channel with no mod badge: https://api.frankerfacez.com/v1/room/forsen
2019-09-08 14:08:18 +02:00
apa420 c08eaa4640 Higher cheer tiers now show and added tests 2019-09-08 13:40:11 +02:00
apa420 48fcc1a1a1 Fixed cheers not showing up in chat Fixes #1031 2019-09-08 12:45:25 +02:00
Leon Richardt a62b7ac094 Add setting for case-sensitivity in highlights 2019-09-07 19:01:52 +02:00
Rasmus Karlsson f94b44188d Use BTTV V3 API
Fixes #1275
2019-09-03 15:09:49 +02:00
Rasmus Karlsson a878ca8062 Remove unused lambda capture to fix warnings 2019-08-31 17:45:13 +02:00
Rasmus Karlsson 7ff567d584 rename "messageReceived" to "readConnectionMessageReceived" to match the "readConnected/writeConnected" and "writeConnectionMessageReceived" functions 2019-08-31 17:44:41 +02:00
Rasmus Karlsson 829c63be51 Change in which "message received" handler IRC commands are handled after the change in CAP REQs.
Fixes #1252
2019-08-31 17:41:49 +02:00
fourtf 671c9ed654 fixed commands like /mods not working 2019-08-27 20:45:42 +02:00
apa420 a624d14a4f Fetch FFZ channel emotes with channel id instead of name 2019-08-27 20:08:17 +02:00
apa420 677017a8bd Now shows connect and reconnect messages 2019-08-27 19:54:37 +02:00
Mm2PL 1a25c5afe8 Add a switch for follower only mode (#1241)
* Add a switch follower only mode

* Format the code
2019-08-25 19:08:04 +02:00
pajlada def839bef9
Merge pull request #1232 from Chatterino/pajlada-manually-send-req
manually send req, this ensures we send it before JOIN
2019-08-23 22:37:52 +02:00
fourtf 0577692c99 Updated chatterino badges api 2019-08-23 16:52:44 +02:00
Rasmus Karlsson ab0d70300c manually send req, this ensures we send it before JOIN
Fixes #1229
2019-08-22 22:04:26 +02:00
fourtf 3b3791e43a Special message when login expired. 2019-08-21 02:00:42 +02:00
fourtf 7643c0d20d fixed deleting QTimer on wrong thread 2019-08-20 23:46:27 +02:00
fourtf 14222f84f2 made caller/concurrent rules tighter 2019-08-20 23:46:27 +02:00
fourtf 7697ec01b4 removed old NetworkRequest api 2019-08-20 22:16:17 +02:00
fourtf 18f3a816ed re-enabled loading recent messages concurrently
@pajlada please check if the code can stay commented out
2019-08-13 15:03:33 +02:00
fourtf 294c2aecdc disabled concurrent loading of recent messages
it caused some twitch emotes to load improperly
2019-08-13 13:12:09 +02:00
fourtf 96532be765 removed unused function 2019-08-13 13:02:11 +02:00
Rasmus Karlsson e56c90c33d fix crash in name-colorizer 2019-08-11 22:18:01 +02:00
Rasmus Karlsson cd5972522b reformat 2019-08-11 21:08:18 +02:00
Rasmus Karlsson 391d75f208 try to improve readability of the "grayname colorize" function 2019-08-11 21:07:54 +02:00
23rd da039bfdfa Added setting to colorize usernames who have not set own color. 2019-08-11 19:48:43 +03:00
Rasmus Karlsson 6e1ee84d90 Allow your own username to be set in "highlight users"
Fixes #1181
2019-08-10 13:13:00 +02:00
Rasmus Karlsson c578cd47e1 Highlight parsing is now done after Ignores have been respected.
In the same commit, because I misunderstood the original issue, I also
split out the parsing of the highlights and triggering of the highlight
sounds/alerts into separate functions.

Fixes #1160

I also re-enabled the "sound url changer" that was commented out in an
earlier commit.

Fixes #1170
2019-08-04 14:31:57 +02:00
fourtf e7d9422431 fixes for last commit 2019-08-01 13:30:58 +02:00
fourtf aac27c2a0d Fixes #1162 2019-07-31 23:03:55 +02:00
fourtf fff979b3c0 lock SignalVector with shared_lock to allow reading on other threads 2019-07-31 22:50:12 +02:00
fourtf 96bed498d0 Fixed warnings in TwitchMessageBuilder 2019-07-27 12:49:45 +02:00
TranRed d725155569 Added setting and functionality to highlight inline whispers
Inline whispers will be displayed with highlighted background color.

New Flag needed to differentiate between normal whisper (highlighted) and whisper with mention.
2019-07-14 16:35:32 +02:00
Ruben Anders feef6c6aaa Marked VIP badge as "channel authority" badge (#1117)
* Marked VIP badge as authority badge

* Added vip.png resource

* Registered VIP icon resource

* Update ResourcesAutogen.cpp

* Update ResourcesAutogen.hpp

* Update ResourcesAutogen.hpp
2019-07-13 15:55:15 +02:00
Rasmus Karlsson 27114c5154 Restore option to disable emote images
Condensed into a single option, which will disable/enable all emote and emoji images

Also moved badges into their own element
2019-06-22 14:34:54 +02:00
Rasmus Karlsson a34e3084df Clean up emote parsing 2019-06-22 14:22:43 +02:00
ckath afe5e826a1 fix searchtext format again 2019-05-31 08:58:15 +02:00
ckath 83cf03fb09 format with extra : for user search 2019-05-31 08:58:15 +02:00
ckath 2e9b0cad44 make it possible to search localized names 2019-05-31 08:58:15 +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
Rasmus Karlsson e1483bfd8a Make Twitch message history loading optional (On by default) 2019-05-25 11:24:10 +02:00
Rasmus Karlsson 79e4e05a4a Fix compilation issue 2019-05-25 11:23:58 +02:00
Ruben Anders 9dbe66a19b Change emote parsing order to FFZ -> BTTV -> GlobalFFZ -> GlobalBTTV
Fixes #877
2019-05-25 10:58:51 +02:00
Rasmus Karlsson 1a7a5409ab do a full reformat according to our current .clang-format 2019-05-10 23:31:10 +02:00
hemirt c43c1dc207 Adds option to mute ping sound for specific channels (#990)
Co-Authored-By: hemirt <hemirt@hemirt.com>
2019-05-10 22:36:37 +02:00
23rd 9654650bee Renamed variables to clear some warnings. 2019-05-10 22:18:05 +02:00
23rd efec76df5b Removed unused local vars. Slightly refactored code. 2019-05-10 22:18:05 +02:00
hemirt 23921f3fed show whispers notices 2019-05-07 20:28:01 +02:00
hemirt add312b609 fix #1062 2019-05-07 19:35:56 +02:00
pajlada 01082b123f
Merge pull request #1050 from apa420/apa-pubsub-fix
Changed to ref for better performance #1049
2019-05-01 22:36:32 +02:00
pajlada 8aa2d42ca9
Merge pull request #1045 from TranRed/patch-3
Added {message} parameter for moderation buttons
2019-05-01 22:35:07 +02:00
apa420 8d80eab649 Changed to ref for better performance 2019-05-01 22:28:46 +02:00
pajlada 216b21e0c3
Merge pull request #1049 from apa420/apa-pubsub-fix
Pubsub messages now go into the correct channel
2019-05-01 22:22:03 +02:00
Rasmus Karlsson effe91badc clean up magic message suffix stuff 2019-05-01 22:10:51 +02:00
apa420 c60b717b98 Pubsub messages now go into the correct channel 2019-05-01 21:46:53 +02:00
TranRed b33478d8c6 stored original message text in message 2019-05-01 16:43:52 +02:00
pajlada 77f57bcff2
Merge pull request #1012 from apa420/apa-deleted-messages
Added support for single deleted messages
2019-04-28 12:51:57 +02:00
apa420 ae0122e389 Added a message when an invalid /delete appears 2019-04-28 11:31:34 +02:00
apa420 3c1d264689 Added trashcan, replaced messageID var with this-message().id, removed pubsub stuff that didn't belong 2019-04-28 02:25:05 +02:00
tetyys 40b4c2fefc Change to new character to make duplicate message error bypass work again 2019-04-27 00:31:15 +03:00
Rasmus Karlsson 3113513290 remove stupid log message 2019-04-23 09:10:34 +02:00
apa420 4f79d6fc07 Added deleted messages, will also add the disabled tag to denied automod messages 2019-04-19 22:44:02 +02:00
pajlada 97faec15e0
Merge pull request #979 from hemirt/whispers
do not disable whispers on clears and timeouts
2019-04-16 15:06:42 +02:00
pajlada 0737922915
Merge pull request #998 from apa420/apa-remove-moderated-messages
Option to hide moderated messages (timed out messages)
2019-04-16 14:38:20 +02:00
apa420 817c40d733 Added continue for readability and removed to hide moderated messages 2019-04-16 14:36:15 +02:00
apa420 ac9106e2f5 Will now also remove the messages when the timeout occurs, it's a bad implementation of it though, should be better 2019-04-15 22:55:10 +02:00
pajlada d7f0bcd80a
Merge pull request #977 from Cranken/master
Made links clickable in sent whispers.
2019-04-14 17:15:09 +02:00
pajlada 695d200d79
Merge pull request #1007 from pphop/pphop-show-ignored
Show ignored users messages anyway setting
2019-04-14 16:59:40 +02:00
pphop e4d3e6de7f requested changes 2019-04-14 19:57:41 +05:00
Rasmus Karlsson de4bc02b66 Add ability to easily swap out the recent messages API with your own
Environment variable: CHATTERINO2_RECENT_MESSAGES_URL

For now, the API structure of the recent messages API is undocumented,
    but once it's released it will have some documentation that
    describes how to run it yourself, and it should be easy enough to
    just make your own API that fits
2019-04-13 19:23:11 +02:00
Rasmus Karlsson 8b3867fa7d Switch to v2 of RAnders00's recent-messages API, so we support showing
old sub messages and stuff
2019-04-13 19:14:58 +02:00
Rasmus Karlsson 13475332fb Adds VIP rate limit support
Closes #875
2019-04-13 15:26:47 +02:00
pphop 320d74b287 implement show ignored users setting 2019-04-13 01:12:39 +05:00
Rasmus Karlsson 81a4bff131 Implement Randers00's recent-messages API (WIP) 2019-04-04 11:47:54 +02:00
hemirt da1b2f91d9 add broadcaster and vips to viewers list and chatters list (#991) 2019-04-04 11:30:50 +02:00
Ruben Anders 28967cb014 Add broadcaster + VIPs to tabbable users 2019-04-04 11:29:16 +02:00
hemirt 1a1d0f305c make whispers not disabled on clear 2019-03-20 20:53:24 +01:00
Cranken 497c958485 Made links clickable in sent whispers. 2019-03-13 15:26:55 +01:00
pajlada 3f41dfeff9
Merge pull request #965 from moe-ka/master
Fix for inline whispers being logged
2019-03-02 09:37:09 +01:00
hemirt 3c01af9805 changes and fix displayname of 'is live' message 2019-03-01 21:18:32 +01:00
hemirt ec6b26cd23 fix log message 2019-02-28 19:26:32 +01:00
moe-ka 8516082191 fix lambda captures 2019-02-27 19:26:19 +00:00
moe-ka 3ddac8b12a More accurate name for flag (MessageFlag::DoNotLog), disable logging for
sent whispers.
2019-02-27 18:30:26 +00:00