Commit graph

439 commits

Author SHA1 Message Date
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
Tal Neoran
cceadf473a
Added in:<channels> search predicate (#2634)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-17 11:18:22 +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
Paweł
0e99527e8c
Fixed deprecated method QFontMetrics::width (#2509)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 14:47:02 +01:00
pajlada
6b0ce396d6
Update to Emoji v13 (2020) (#1555) 2021-02-13 19:17:22 +01:00
pajlada
303b079257
Remove bad asserts from IRC text wrapping code (#2446) 2021-02-11 12:52:50 +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
pajlada
a6e23e2468
Fix anonymous Twitch user ping (#2352) 2021-01-10 15:22:00 +01:00
pajlada
d3b2ab1d8a
Fix a crash bug that occurred when the "Limit message height" setting was enabled and a message was being split up into multiple lines. IRC only. (#2329) 2021-01-02 14:49:03 +01:00
pajlada
2014fc7614
Use correct include path to ImageSet.hpp (#2275) 2020-12-13 13:12:50 +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ł
49fa9bfd72
Made #channel link in /mentions jump to #channel split (#2220) 2020-11-28 17:45:20 +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
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
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
Paweł
2232c6d925
Changed Streamer Mode settings (#2001)
There's now a new (yet another, sigh) section in Settings -> General, which lets you set streamer mode to 'enable/disable/detect obs' and there are also separate settings for each of the things that streamer mode covers. I just have to add ping sounds and PR is ready to be merged :)

* Show "Streamer Mode" image as link thumbnails if applicable

* Moved hideViewerCountAndDuration to streamerMode settings

Set it to false by default (just how it used to be under /misc settings, also reworked live tooltip to be a bit prettier and say "<Streamer Mode>" in gray instead of "Live with <hidden> for <hidden> viewers"
2020-10-11 13:52:14 +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
Daniel
58a6983796
Fix timestamps on some messages loaded from the recent-messages service on startup (#2020) 2020-10-03 13:37:07 +02:00
fourtf
b7e86a8de6 reduced COMPACT_EMOTES_OFFSET to fix a graphical glich in timed out
messages
2020-08-23 17:24:35 +02:00
fourtf
f3225275ea changed channel point messages color 2020-08-22 16:48:40 +02:00
fourtf
2cc23eaae6 make highlighted messages and redeemed thingies look the same 2020-08-22 16:02:38 +02:00
Jonas Schmitt
58725efbd5
Fix styling of channel point reward message text. (#1845)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-08-09 11:50:53 +02:00
Jonas Schmitt
11b8948290
Add support for non-highlight channel point rewards (#1809) 2020-08-08 15:37:22 +02:00
Matthew Marlow
caa11dda3e
removed linebreak after wrapped TextElements (#1813) 2020-07-19 12:16:58 +02:00
Daniel
ba06b10135
Open usercard on mention click (#1674) 2020-07-18 16:03:51 +02:00
pajlada
515657be19
Add proper IRC text/word wrapping (#1802)
Fixes #1781
2020-07-11 15:12:17 +02:00
Mm2PL
c80cdc25b3
Adds support for \x0f formatting character in IRC. (#1794)
The \x0f character unsets the current foreground and background colors
as well as other formatting which is currently not interpreted by
Chatterino
2020-07-11 14:57:30 +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
0xRainy
0e564065ba
Added recent messages to UserInfoPopup (#1729)
There's a Refresh button added to the popup to refresh the users messages in the popup. Not automatic now while we figure out how fast/slow it would be.

Co-authored-by: dnsge <sagedanielr@gmail.com>
2020-06-21 14:15:14 +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
Daniel Pasch
7719816891
Middle mouse button can now also open links (#1644) 2020-05-02 13:19:58 +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
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
0f2355459d
Make ModBadgeElement a descendant of BadgeElement instead of EmoteElement (#1602)
this causes it to behave as it should, and not be scaled when emotes are
scaled. :)
2020-03-14 13:06:24 +01:00
fourtf
e537277fa8 did some more things and stuff 2020-02-23 23:07:28 +01:00
fourtf
6229b2f434 sync gif emotes of same length 2020-02-16 14:24:11 +01:00
hemirt
1fd64be7f5
Makes it possible to hide one man spam (#1496) 2020-02-02 08:31:37 -05: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
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
2d3fb8950e hardcoded list of BTTV's christmas emotes 2019-12-05 20:10:56 -08:00
fourtf
2fc799f85a run destructor of Frames in gui thread 2019-10-07 20:03:15 +02:00
fourtf
4ab8a7e9dd Fixes #1312 pixelated scaling on kde 2019-10-06 20:31:29 +02:00
Cranken
f89ca517ce Fix first line of emotes in emote picker window being shifted. 2019-10-06 17:29:18 +02:00
fourtf
9874bd779a formatted all files with clang 9 2019-09-26 00:51:05 +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
fourtf
758a6bb41c NetworkRequest onError now uses NetworkResult 2019-09-19 19:03:50 +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
04f8875c4d fixes #1303 now searches using search text instead of message text 2019-09-15 18:29:50 +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
b06eb9df83 Normalize line endings in already existing files 2019-09-08 22:27:57 +02:00
Rasmus Karlsson
57ba829775 Remove previously added includes to Image 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
fourtf
a268abfd4c Allow searching in LogsPopup 2019-09-04 00:29:58 +02:00
fourtf
d709b98331 switched order in loaded image selection 2019-08-21 02:21:12 +02:00
fourtf
e140905faf ? 2019-08-21 02:16:33 +02:00
fourtf
3b3791e43a Special message when login expired. 2019-08-21 02:00:42 +02:00
fourtf
6d9545157e Fixes #1215 Allow previewing badges 2019-08-21 01:52:01 +02:00
fourtf
dbc20baa65 fixed emote preview not using 3x images 2019-08-21 01:44:19 +02:00
fourtf
f3e48c1325 smoll changes 2019-08-21 00:07:59 +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
4713862620 load cache files async 2019-08-20 22:16:17 +02:00
fourtf
4f6c1a8519 added NetworkRequest builder functions 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
6274c05520 Fixed always loading 1x, 2x and 3x images 2019-08-13 13:51:27 +02:00
fourtf
23f1ec9ac2 Fixed using non existant 2x and 3x versions of ffz emotes and badges 2019-08-13 13:00:16 +02:00
Rasmus Karlsson
cd5972522b reformat 2019-08-11 21:08:18 +02:00
fourtf
e7d9422431 fixes for last commit 2019-08-01 13:30:58 +02:00
fourtf
fff979b3c0 lock SignalVector with shared_lock to allow reading on other threads 2019-07-31 22:50:12 +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
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
64dc7f5d73 Fix a bug with messages jumping if you were scrolled up
The bug appeared every 100 messages (so whenever a chunk was deleted)

To fix this, we only perform the first chunk offset increment if the
item we deleted was not the last item in a chunk
2019-06-22 13:04:31 +02:00
Rasmus Karlsson
c631434cee Make use of our "Chunk" and "ChunkVector" aliases better 2019-06-22 13:03:57 +02:00
rexim
a569985315 Remove dead code 2019-06-11 23:20:04 +07:00
rexim
959aa4616f pixmap() -> imagePreview() 2019-06-11 23:20:04 +07:00
rexim
aa4e7f13e7 Get rid of dynamic_cast 2019-06-11 23:20:04 +07:00
rexim
d4a6defed6 Introduce a way to extract QPixmap from ImageLayoutElement
Probably should be a part of MessageLayoutElement interface, but good
for now
2019-06-11 23:20:04 +07:00
apa420
9a7365821d Fixed issue #1071 (#1073) 2019-05-18 17:37:26 +02:00
Rasmus Karlsson
1a7a5409ab do a full reformat according to our current .clang-format 2019-05-10 23:31:10 +02:00
apa420
834b1f3c53 Option to hide system moderation messages (#1066) 2019-05-10 23:16:34 +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
TranRed
cff1aa0959 changed some variables to const 2019-05-04 11:40:52 +02:00
TranRed
7ad6db550d made links in system messages clickable
needed to make sub ticket in sub only chat accessible.
2019-05-04 11:40:52 +02:00
Rasmus Karlsson
30430b0fb3 this ctor was used to create a system message
we now only use the ctor that takes an explicit SystemMessageTag
2019-05-02 00:28:53 +02:00
TranRed
b33478d8c6 stored original message text in message 2019-05-01 16:43:52 +02:00
hemirt
e0e7d366d3 remove useless comment 2019-04-29 20:33:04 +02:00
hemirt
56956eea58 remove weeb hate 2019-04-28 23:23:04 +02:00
fourtf
9be0d7d458 removed red stripes and connected tape cut visuals 2019-04-17 17:02:13 +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