Commit graph

574 commits

Author SHA1 Message Date
Daniel ba06b10135
Open usercard on mention click (#1674) 2020-07-18 16:03:51 +02:00
pajlada ffdf5a144c
Handle conversion of historical CLEARCHAT messages to NOTICE messages in Chatterino instead of relying on the Recent Messages API to handle it for us (#1804)
This has historically been done in the Recent Messages API, but this functionality is being moved to Chatterino instead

* Remove `clearchatToNotice=true` query parameter to the Recent Messages API
2020-07-18 14:12:11 +02:00
Paweł b66c2478a0
Added higher tier information to sub badge tooltip (#1759) 2020-07-05 14:08:28 +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
Daniel de2108b8c5
Fix highlighted whisper crash (#1756) (#1757) 2020-06-27 13:20:21 +02:00
Roger Chavez 1eeb09a78e
Display authors name on hover for supported emotes (FFZ only for now) (#1721)
Co-authored-by: Paweł <44851575+zneix@users.noreply.github.com>
2020-06-13 14:15:22 +02:00
alazymeme f3f8b2d024
Fix popout player url (#1730)
* Update TwitchChannel.cpp

* Reformatting forsenY

* fixed other things

* xd

* Update TwitchChannel.cpp
2020-06-12 19:44:05 +02:00
thekalio 56d09ac198
Show visual feedback when BTTV and FFZ emotes are loaded (#1671)
Upon joining a channel or pressing F5, BTTV and FFZ emotes are
(re)loaded. This change adds visual feedback of the network requests and
their outcome, in the form of a system message in the associated
channel's chat window. 

Non-error messages are suppressed when joining a
channel (which automatically loads emotes).
2020-05-16 12:43:44 +02:00
Daniel Pasch 8532c6d3bc
Add thumbnails to link tooltips if available (#1664)
This feature is off by default and can be enabled in the settings with the "Show link thumbnail" setting. This feature also requires the "Show link info when hovering" setting to be enabled.

thumbnails support is only there for direct image links, twitch clips, and youtube links. can be expanded in the future in the /api repo

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-05-10 12:11:10 +02:00
pajlada a08754b409
Remove more debug output (#1677) 2020-05-09 13:13:30 +02:00
pajlada ef9c631c65
Only listen to new pubsub "moderator added" syntax (#1659) 2020-05-03 12:21:00 +02:00
fourtf 6052846bc3 added checks to mitigate floating point crashes 2020-04-19 21:05:40 +02:00
fourtf 097f4ccb3a refined highlight and added bits highlights 2020-04-15 23:15:45 +02:00
pajlada 6f926e7d77
Get better timeout messages for self (#1629)
* Don't require mod rights to listen to moderation actions topic

* Format timeout messages directed at you differently

e.g. "You were banned" or "You were timed out for 4h20m", also including
reason if specified.
2020-04-13 12:31:06 +02:00
apa420 3a05700744
Changed text to moderator (#1619) 2020-04-05 12:34:16 +02:00
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
Leon Richardt 95c909b337
Better Highlights: Fix Wrong Color for Migrated Phrases (#1568)
* Better Highlights: Fix wrong color for migrated phrases

Prior to this commit, no default color was set when an "old" highlight
phrase (one added prior to #1320 / 5957551) was deserialized. This
commit makes highlight phrases uses the default self-highlight color for
these situations. This approach is reasonably sensible since that color
is also similar to the old highlight color.

Fixes #1565.

* Update default self-highlight color

The new default color was suggested in [1] by @RAnders00. Refer to the
link for further information.

[1]: https://github.com/Chatterino/chatterino2/issues/1565#issuecomment-590441625

* Theme: Remove highlight color

As highlight color is independent of the selected theme now, the member
has been removed from the `Theme` singleton. Instead, the fallback theme
color is defined in `HighlightPhrase` now.

Uses of `themes->messages.backgrounds.highlighted` have been replaced
with `HighlightPhrase::FALLBACK_COLOR` accordingly.

* Update src/controllers/highlights/HighlightPhrase.hpp

attempt to just remove constexpr

Co-Authored-By: Ruben Anders <ruben.anders@robotty.de>

* Initialize FALLBACK_COLOR outside header file

* Rename FALLBACK_COLOR to FALLBACK_HIGHLIGHT_COLOR

In preparation for the next commit introducing a new variable.

* Moved subscription highlight color into HighlightPhrase

* Use actual subscription color as a fallback

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Ruben Anders <ruben.anders@robotty.de>
2020-03-22 13:14:07 +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 e2c493f369 removed compat aliases for SignalVector 2020-02-23 19:37:02 +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
pajlada a078d116d2
Fix ping payload not breaking portable mode (#1516)
This payload was initialized before main was called, so before the
QApplication was initialized. This broke our portable checker

Fixes #1481
2020-01-25 14:33:38 +01: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 90296a2d85
Expect a PONG response to our PINGs (#1476)
If no PONG was received, force a reconnection

Fixes #1164
2020-01-03 20:55:13 +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
Rasmus Karlsson f02988b657 Correct "Emote Link" for BTTV Global and Channel emotes 2019-12-31 21:21:53 +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
Rasmus Karlsson 0e1f1196d6 reformat 2019-11-02 12:36:42 +01: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 ca0db97d09 ammend 2.1.5 added setting for experimental irc support 2019-09-22 17:12:09 +02:00
fourtf 2c25c8a5f5 2.1.5 2019-09-22 16:59:51 +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
fourtf da4714944d small fixes in Image 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 99f99f0cff smol fixes 2019-09-18 14:20:21 +02:00
fourtf 3ab7362304 Merge branch 'master' into irc-support 2019-09-18 13:03:16 +02:00
fourtf 07133166d9 added setting to show unhandled irc commands 2019-09-18 11:11:50 +02:00
fourtf 765a75f158 added irc commands 2019-09-18 10:59:28 +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 67ffb0e34b irc default now uses ssl 2019-09-15 11:36:59 +02:00
fourtf 2a56cef848 added irc authentificate type 2019-09-15 11:35:17 +02:00
fourtf 9bbc4f8a5e queue for erase/set credentials 2019-09-14 22:58:53 +02:00
fourtf 13d1fab303 credentials are now loaded when needed 2019-09-14 20:45:01 +02:00
fourtf d33a8b1b3a now loads passwords for irc 2019-09-14 18:38:09 +02:00
fourtf eadf5355ee renamed IrcConnection_ to IrcServerData 2019-09-11 13:51:48 +02:00
fourtf b20fdc0da6 smol irc fixes 2019-09-11 13:17:36 +02:00
fourtf 2a8c5e654f saving irc splits now 2019-09-11 00:10:49 +02:00
fourtf c4d0efacff added loading and saving of irc servers 2019-09-10 23:55:43 +02:00
fourtf 82f63d2f7e added send and receive for irc messages 2019-09-10 14:46:43 +02:00
fourtf fd0c11964e added new function and classes for irc support 2019-09-09 22:26:14 +02:00
fourtf 9f1a5b900e fixed single connection code and deleting abstractircserver 2019-09-09 22:22:47 +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