Commit graph

654 commits

Author SHA1 Message Date
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
Tal Neoran f605221042
Add username autocompletion popup menu (#2866) 2021-06-19 16:29:17 +00:00
Tal Neoran d21858b97f
Fix moderation button time units when not using seconds (#2864) 2021-06-19 14:00:03 +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 9fb5ef60d4
Image uploader mime filter uses urls but doesn't check them (#2855)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-13 14:23:13 +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
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
Ben de Graaff 8639f450f2
Fix write connection reconnection issues (#2850)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-06 16:25:13 +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
Tal Neoran 80fed27b4e
Search in viewer list by contained term (#2861)
Searching for users in the viewer list now searches anywhere in the user's name - instead of just searching at the beginning of the username.
2021-06-04 10:51:35 +00:00
Paweł 57354283ec
Added ability to toggle visibility of tabs (#2600)
This can be done by right-clicking the tab area or pressing the keyboard shortcut (default: Ctrl+U).

Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-30 11:39:34 +00:00
James Upjohn faae2c2e8e
Match game names exactly when using /setgame (#2825)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-29 10:01:19 +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
Paweł 88a487516a
Add chat popout command (#2812)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: lyx0 <stefan.parfuss@protonmail.ch>
Co-authored-by: lyx0 <66651385+lyx0@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-05-23 22:24:49 +00:00
Tal Neoran b42f70e6d8
Add moderation buttons in search popup (#2803) 2021-05-23 15:51:53 +02:00
Mm2PL f123a11c1c
Fix FFZ emote links for global emotes (#2808) 2021-05-23 13:26:18 +00:00
Tal Neoran 14e8a2bf6c
Add #channel in mentions usercard and search popup (#2802) 2021-05-22 15:11:24 +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
fourtf 80506a8625 v2.3.2 2021-05-16 19:29:27 +02:00
fourtf 6ae8427fc6
added try catch in nm (#2785)
* added try catch in nm

* changelog

* asdf

* gh action
2021-05-16 16:51:25 +00: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
James Upjohn 7c4c797dbc
Fix word backspacing not closing/updating colon emote picker (#2781)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-05-15 14:24:46 +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
James Upjohn d96f4575ba
Fix newlines in stream title causing text in header to go out of bounds (#2755)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-09 09:22:20 +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 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
fourtf cf33566fd7 v2.3.1 2021-05-03 20:31:04 +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ł f7506d495f
Refactored Rename Tab dialog and its context menu (#2713)
* Added placeholder to tab rename dialog's input

* Always set placeholder to default tab name.

* Renamed context menu entries, updated popup

* Removed TextInputDialog class, slight popup fix

* Forgot to rename variable (no fun allowed 😥)

* forsenT

* Made use of QDialogButtonBox

* Added changelog entry
2021-05-02 12:59:14 +02: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
M4tthewDE c413a0984e
Adds visual indicator to message length if too long (#2659)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-01 14:42:08 +00:00
Paweł 6c9fd4f204
Made left-clicking splitheader focus split (#2720) 2021-05-01 14:14:05 +00:00
Tal Neoran 77fa1322de
Added is:<flags> search predicate (#2671)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-01 12:21:45 +00:00
pajlada d1f81ab50b
Add an option to remove spaces between emotes (#2684)
This feature is disabled by default and can be enabled in the settings.

Co-authored-by: Mm2PL <jakis128@gmail.com>
2021-04-25 22:25:23 +00:00
Paweł 675f99e9cc
Added image links to the badge context menu (#2667) 2021-04-25 13:16:32 +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ł 1ef2f17cd4
Added missing context menu entries to emote popup (#2670) 2021-04-24 15:43:15 +00:00
Andrew Opalach 24a2d8a86f
Wait for smooth scrolling animation to add new message (#2084)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-24 15:15:15 +00:00
fourtf 0a51252b76
Update CHANGELOG.md 2021-04-18 00:15:23 +02:00
fourtf 2db140d5af
Added x-attach-split-to-window command line arg (#2411)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-17 14:15:23 +00:00
fourtf 58017a7546
fix size of splits not loading properly (#2554) 2021-04-17 13:16:14 +00: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
Mm2PL 3ee23b2bae
Allow for usage of builtin Chatterino commands in custom commands. (#2632)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-17 10:33:18 +00:00
pajlada 8641435142
Fix crash that could occur when the user changed the "Custom stream player URI Scheme" setting if the user had closed down and splits in the application runtime (#2592) 2021-04-17 09:55:44 +00:00
fourtf c65a893c38 added changelog section 2021-04-14 18:46:15 +02:00
pajlada c9f62fed4c
Fix windows being brought back to life after the settings dialog was closed (#2613)
Fixed with the help of @jammehcow
2021-04-11 14:22:32 +00:00
Iulian Onofrei 8779303845
Fixed search field not being focused on popup open (#2540)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-11 13:37:53 +00: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
Tal Neoran b0fee78f2b
Add PgUp / PgDown for scrolling in the emote popup (#2607)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 12:11:26 +00:00
Yoitsu bc334222c1
fix buffer overflow in parseEmoji (#2602)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 11:49:25 +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
Sam Heybey 716b846f4e
Add StartupWMClass property to desktop file (#2587)
This adds the StartupWMClass property to the desktop file, which window managers can use to determine when chatterino has opened and which window belongs to it.

GNOME uses this property, so this will fix #1863. You can test this by applying this patch to the desktop file of an existing install.

Relevant FreeDesktop docs: specifications.freedesktop.org/desktop-entry-spec/latest/ar01s06.html#key-startupwmclass

Fixes #1863
2021-04-03 16:10:42 +02:00
James Upjohn 093a088363
Fix quick switcher not ordering based on tab order (#2561) 2021-03-27 12:32:14 +01:00
Paweł 1f5b62e6e5
Implemented bit emotes (#2550)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-21 15:42:45 +01:00
Auro 6ef515a0e2
Added system message if no bttv emotes found instead of "unknown error" (#2542)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-21 14:27:28 +01:00
Paweł a893cdaebe
Ensure twitch emote names are escaped (#2543) 2021-03-20 23:49:42 +01:00
James Upjohn 8f5adc0911
Append PR ID to changelog entry (#2538) 2021-03-20 23:01:21 +01:00
James Upjohn 79bc700743
Fix app data dir not opening on macOS when "Open AppData" button pressed (#2537) 2021-03-20 13:40:50 +01:00
Leon Richardt 3f206d46af
fix: no longer crash on clip creation in "special" channels (#2528) 2021-03-15 17:45:56 +01:00
Karar Al-Remahy 49bd1bd488
feat: /clearmessages command (#2485) 2021-03-14 18:25:45 +01:00
Paweł 382462f465
Added avatar context menu to usercard (#2517) 2021-03-14 15:09:16 +01:00
Paweł 1090524dec
Removed refresh label from usercard (#2514)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 15:09:26 +01:00
James Upjohn d94d9e74dd
Implement missing cheer emote tooltip (#2503) 2021-03-13 14:16:32 +01:00
Emil Gedda f53b0a9e0f
Fix quotation and handling of additional streamlink options (#2495) 2021-03-06 19:56:36 +01:00
Paweł 1eb6aa64db
Localized all relevant numbers visible to end-user (#2488) 2021-03-06 15:03:33 +01:00
Paweł b2aa370015
Fixed emote pasting bug with multiple spaces (#2490) 2021-03-04 01:13:36 +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
pajlada 6b0ce396d6
Update to Emoji v13 (2020) (#1555) 2021-02-13 19:17:22 +01:00
AweesneW 542022bff3
Update HighlightingPage.cpp (#2404)
Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-02-12 14:43:18 +01:00
Paweł 185980f8a2
Added /streamlink command (#2443)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-02-12 14:16:44 +01:00
M4tthewDE c2782666a6
Added formatting for remaining timeout duration (#2398) 2021-01-31 13:55:44 +01:00
Daniel 5a29198367
Add regular expression support to filters (#2225) 2021-01-31 12:45:15 +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
pajlada 5fa829202d
Remove humanize submodule (#2422) 2021-01-30 14:14:11 +01:00
fanway 127598db8a
Add automatic streamer mode detection to macOS (#2376) 2021-01-30 13:11:08 +01:00
Iulian Onofrei 684dbed706
Fixed hidden tooltips when always on top is active (#2384) 2021-01-23 16:49:02 +01:00
fanway d7b42716a3
Bump macOS minimum version to 10.14 (#2386)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-23 16:27:05 +01:00
Leon Richardt 1b75dc1e2c
fix: properly handle CLI arguments (#2368)
Fix CLI arguments not being respected. This happened due to the addition of category-based logging (--help, --version) and changes to the window loading ( --channels), respectively.

When handling --channels, I took the liberty to refactor the previous version of window description (which relied on generating JSON) to directly building the WindowLayout.
2021-01-23 16:26:42 +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ł a9b1af60de
Removed liveStatusChanged signal connection to fix a crash (#2377) 2021-01-18 15:11: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
apa420 f19cc60a5b
Setting for disabling /mentions tab highlight (#1994)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-16 14:27:19 +01:00
Paweł b587173e18
Added /chatters command (#2344) 2021-01-16 13:58:11 +01:00
pajlada a6e23e2468
Fix anonymous Twitch user ping (#2352) 2021-01-10 15:22:00 +01:00
Paweł acbabd2664
Added Live Notification suppression to Streamer Mode (#2342) 2021-01-10 15:01:38 +01:00
Lajamerr Mittesdine 78aae8e93f
Update tlds.txt (#2345)
Co-authored-by: Paweł <zneix@zneix.eu>
2021-01-10 13:58:46 +01:00
pajlada 1a08282cae
Build multiple Qt versions in CI (#2349) 2021-01-10 13:23:34 +01:00
Paweł fca62f7c1d
Added automatic streamer mode detection to Linux (#2316) 2021-01-09 22:14:25 +01:00
pajlada b3e01a40d7
Try to improve Twitch IRC network stability (#2347) 2021-01-09 18:05:02 +01:00
Lewis Gibson 88e31b12a7
Add 'open in mod view' button to split context menu (#2321) 2021-01-02 17:25:27 +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
Paweł 2f5df3db4a
Migrated follow and unfollow methods to Helix API (#2306) 2020-12-22 09:55:58 +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 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ł ddcc8545d4
Further placeholder text fixes (#2264) 2020-12-13 12:16:08 +01:00
Paweł 155b40985b
Made emote tooltips use author's displayName consistently (#2267) 2020-12-12 16:15:49 +01:00
Paweł dcebcd4456
Added Ctrl+1/2/3/... shortcuts to Emote Popup (#2263) 2020-12-12 14:58:59 +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
Mm2PL c6d55e0d8c
Improve search popup window titles (#2268)
Adds special cases for /whispers, /mentions and empty tabs, and an apostrophe in the titles.

Co-authored-by: Paweł <zneix@zneix.eu>
2020-12-12 13:06:40 +01:00
Paweł cfa9e5903e
Migrated Kraken's getUser to Helix (#2260) 2020-12-06 19:41:52 +01:00
pajlada 277ef4b2e3
Fix crash when moving splits across windows and closing parent tab (#2259) 2020-12-06 15:34:40 +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
Felanbird a79081f441
Changelog typo fixes (#2239) 2020-11-29 13:18:33 +01:00
Leon Richardt 160717e3e5
doc/fix: version previously unversioned changelog entries (#2238) 2020-11-29 12:07:22 +01:00
Leon Richardt 0a0cfb8e48
fix: make LoginWidget child of AccountsPage (#2234) 2020-11-29 10:48:23 +01:00
pajlada 5258ddd84f
Add parent to ChannelFilterEditorDialog (#2232) 2020-11-28 18:04:33 +01:00
Paweł 49fa9bfd72
Made #channel link in /mentions jump to #channel split (#2220) 2020-11-28 17:45:20 +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
mmb L 44262ee2ec
Add Ctrl+F5 as a shortcut for reconnect() (#2215) 2020-11-22 14:28:07 +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
Paweł 3ffb28427d
Updated minimum required Qt versions (#2210)
This updates both the build instructions and enforces qt version when running qmake
2020-11-21 11:24:32 +01:00
Leon Richardt 60d5c5d99f
[Fix] Use copy instead of reference for overriding message flags (#2200)
* fix: use copy instead of reference for overriding message flags

* doc: update changelog

Note: the initial attempt at fixing this issue (#2090) was also included
in order to make the development process more trackable.
2020-11-17 18:47:07 +01:00
Daniel b572c187a4
Fix FFZ emote assertion crash (#2192)
* Fix crash on null urls from FFZ API

* Update CHANGELOG.md

* Turns out there's an actual method for this
2020-11-17 10:27:14 +01:00
pajlada 53c96097c9
Use the main window as the parent to all user cards on macOS (#2185) 2020-11-15 14:40:34 +01:00
Leon Richardt 540870f9fe
[Fix] Make SearchPopup a BasePopup (#2182) 2020-11-15 11:07:20 +01:00
Paweł fbd5df53d8
Ensure Twitch username in UserCard uses display name from API (#2160) 2020-11-08 11:39:10 +01:00
pajlada 29d0ef6923
Apply nightly update logic to macOS and Linux too (#2164) 2020-11-08 10:32:55 +01:00
Paweł c3ff98da87
Improved textEdit placeholder (#2149)
* Made colors a bit lighter

And also removed the tooltip from non-twitch channels

* Updated the changelog entry

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-05 09:06:34 +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
Daniel 2eb01af5e7
Prevent default tab completion from overriding colon menu (#2133)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-01 14:59:43 +01:00
fanway 892e16c533
Fix link preview doesn't update link info for previous messages after setting is enabled (#2108)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-01 14:33:01 +01:00
Paweł a27757e440
Added placeholder for Split's textEdit (#2143) 2020-10-31 18:17:43 +01:00
pajlada 1ee1e8837f
Use Qt's dialog where applicable (#1843) 2020-10-31 16:42:48 +01:00
yodax 466d85c907
Retain channel context for user cards opened from search window (#2088) 2020-10-25 11:10:28 +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
Leon Richardt 0049a5ebb2
Fix tabbing in Quick Switcher (#2065)
It was broken in f7237dc due to the migration to the GenericListView approach
2020-10-24 10:50:14 +02:00
fourtf 11525e626a
edited general settings categories (#2117)
* edited general settings categories

* Update CHANGELOG.md
2020-10-23 14:26:04 +02:00
pajlada 72f44ccdc3
Fix "variables" documentation help in the Filter creation dialog (#2083) 2020-10-18 16:14:59 +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
pajlada 812cbdf4f9
Scroll in selected split with PageUp and PageDown (#2081) 2020-10-18 13:15:47 +02:00
pajlada 39a0e69a3b
Reset the timer & refresh thumbnail when changing split channel (#2080) 2020-10-18 12:19:30 +02:00
yodax 55b98f93db
Added emote completion with : to the whispers channel (#2076) 2020-10-17 15:59:15 +02:00
yodax 2352c31dd6
Viewer list usability improvements (#2059)
* Updated to use accent color and added spaces between categories

* Switched order of Moderators and VIPs
2020-10-17 15:00:10 +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
Dave 56828f2d81
Made the current channels emotes appear at the top of the emote picker (#2057) 2020-10-11 12:31:00 +02:00
Dave 98762fdfa0
Add viewer list button to twitch channel header (#2042) 2020-10-10 17:24:53 +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
fanway df97d609a2
Fix tooltip not showing in EmotePopup (#2046)
* Fix tooltip not showing in `EmotePopup`

* Update CHANGELOG.md
2020-10-09 17:21:04 +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
apa420 35816c5d8a
Add settings for last message line style (#2019) 2020-10-04 18:26:46 +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
gempir 80e84b1d8a
Commands are now saved upon pressing Ok in the settings window (#2016)
Commands are now saved upon pressing the Ok Button in the settings window, similar to the rest of the settings.
2020-10-04 13:02:29 +02:00
apa420 a2e12a56e3
Changed some default settings (#2024)
Colorized nicknames now enabled by default
Show channels live now enabled by default
Bold usernames enabled by default
2020-10-04 12:59:31 +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
apa420 3450b1cc9d
Added image to streamermode user popup (#1995)
* Added image to streamermode user popup

* Update CHANGELOG.md

* swapparoo

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-27 00:22:06 +02:00
apa420 b4ef4fe54d
Added vip and unvip buttons (#1996)
Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-27 00:20:15 +02:00
Daniel f7f858a4fc
Auto-refresh UserInfoPopup recent messages (#1982)
* Auto-refresh UserInfoPopup recent messages

* Update CHANGELOG.md

* Clean up code

* changed something about the connection

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-26 16:59:40 +02:00
Paweł d314566ab6
Argument parsing rework (#1940)
* Experimental argument handling

* Restored browser extension launch functionality

Also moved check from BrowerExtension.cpp to Args.cpp as it is more relevant there and doesn't require passing arguments to a function in another file

* Fixed formatting

* Simplified Args.cpp code, added changelog entry

* Hid crash-recovery from help

* Dont save settings if launched with --channels

* Changed parsing method to t:channel

* Code cleanup

* Changed plaform delimeter to :, platform defaults to Twitch

Co-authored-by: fourtf <tf.four@gmail.com>
2020-09-26 16:03:51 +02:00
fourst4r 2f3accf3cb
fix a crash using middle click scroll on chat window (#1870)
* fix middle click scroll crash

* Update CHANGELOG.md

* get the float dpi, not int
2020-09-26 15:47:20 +02:00
fourtf affef2c5a2 Merge remote-tracking branch 'refs/remotes/origin/master' 2020-09-26 14:56:56 +02:00
fourtf db3402a18e Merge branch 'Ch2Usercard' 2020-09-26 14:54:44 +02:00
pajlada 20e4d6b3d2
Update emote parsing (#1714)
Fixes #1707
2020-09-26 14:21:46 +02:00
apa420 d9e6488be3
Update CHANGELOG.md (#1990) 2020-09-26 13:38:15 +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
pajlada 913193f8b5
Split up Window Layout loading into a loading and application stage (#1964)
* Split up Window Layout loading into a loading and application stage

Previously, we were creating UI elements at while we were reading the window-layout.json file.
We now read the window-layout.json file fully first, which results in a
WindowLayout struct which is built up of a list of windows with a list
of tabs with a root node which contains containers and splits.
This WindowLayout can then be applied.

This will enable PRs like #1940 to start Chatterino with Window Layouts
that aren't defined in a json file.

This commit has deprecated loading of v1 window layouts (we're now on v2). If a v1 window layout is there, it will just be ignored and Chatterino will boot up as if it did not have a window layout at all, and on save that old window layout will be gone.

* Fix compile error for mac
2020-09-19 17:14:10 +02:00
pajlada c7a2f4cc92
Don't make follow requests based on the check follow response (#1906)
This is done by deliberately setting and reading the enabled state of
the widget whenever the stateChanged event happens.

If the stateChanged event happens while the widget is not enabled, we
know the event must have been triggered by our "check user follow state"
event, and then we don't act upon that event
2020-09-06 12:46:35 +02:00
Daniel b024b47afd
Changelog crash fix (macOS) (#1935)
On macOS, trying to display a dialog before showing the main window
(like when starting minimized) leads to a crash. The dialog will now
show before the main window is opened, preventing this issue.
2020-09-06 12:02:15 +02:00
pajlada 9ae79e650d
Update version of settings library (#1908)
This version handles symlinks properly

Relevant for commands saving and settings saving
2020-08-30 15:31:47 +02:00
Daniel 0814fca7d4
Usercard command fix (#1918)
* Add myself to contributors list
2020-08-30 11:57:46 +02:00
Nico Sonack 930351779c
(#1874) Disable updates on non-Windows, Linux or macOS platforms (#1914)
* (#1874) Disable update checking for unsupported platforms

As described #1874, only Windows, macOS and GNU/Linux are officially
supplied with builds. Thus checking for updates is unnecessary if we
are e.g. on FreeBSD, OpenBSD, illumos distros and possibly other
Operating Systems.

This fixes #1874 by ifdef-ing the 3 officially supported platforms
when checking for updates. Otherwise a debug warning will be emitted
and in the settings the checkbox for beta-updates is hidden and
replaced by a message, explaining the reason for why there are no beta
updates.

* Update CHANGELOG

In accordance with #1874

* (#1874) Move platform check into checkForUpdates

As discussed in #1914

* (#1874) Move check for supported OS to a seperate function.

As requested in #1914
2020-08-24 12:02:56 +02:00
Leon Richardt 505581ca65
[Bug Fix] Color of second user highlight cannot be set (#1898)
* Highlighting: Fix bug preventing user highlight from being set

Before this commit, only the row of a clicked cell was checked, but not
the tab it was clicked in.

Since the "Whispers" row is the second row in the "Messages" tab on the
highlighting page, the color picker was not opened for the second entry
in the "Users" tab either. This commit fixes the bug by also checking
tab the cell was clicked in.

* Update CHANGELOG.md
2020-08-22 23:10:10 +02:00
fourtf 359adbce15
Update CHANGELOG.md 2020-08-22 19:30:27 +02:00
fourtf 106923549d
Update CHANGELOG.md 2020-08-22 16:58:35 +02:00
pajlada 0cbddf7e9b
Fix/be respectful of special characters like exclamation marks in highlight phrases since they are also word boundaries (#1890)
* Add missing includes

We would normally have these included in another file already, or even
the precompiled headers, but having the files included here too makes
testing single parts easier.

* Modify the regex building of highlight phrases for non-regex phrases

For phrases like !test, the word boundary checking we did before was not
enough, so we now check for either a word boundary, a whitespace
character, or the line start/end.

* Add tests for ensuring I haven't fully broken the highlight system

* Add changelog entry
2020-08-22 15:37:03 +02:00
alazymeme 0b0f1c9c5c
Add microsoft edge support for incognito (#1875)
* Fix incognito button missing

* Update CHANGELOG.md
2020-08-21 15:33:56 +02:00
alazymeme fba049dbfb
Fix open in browser button for whisper split (#1860)
* Fix open in browser button for whisper split

* Update CHANGELOG.md
2020-08-15 10:15:57 +02:00
Matthew Marlow 8530ffb7e3
added brave browser to supported NM list (#1862)
* added brave browser to supported NM list

* updated CHANGELOG.md
2020-08-15 10:14:59 +02:00
Leon Richardt a9080ceb3c
Discord-like Quick Switcher (#1588)
* Proof of Concept for Quick Switcher

* Fix crash when suggestions are empty

* QuickSwitcher: Use tab name instead of a single channel

* Rebase later

* Add missing include for <functional>

* Move QuickSwitcher related classes into own subfolder

* Refactor switcher list items

Now, items are responsible for taking the right action when selected in
the switcher list. This should allow for more focused code and
responsibilities.

* Add note about memory management

* Add option to open channel in a new tab

* Add support for using the mouse

* Spawn switcher popup in the middle of the window

Works reliably on i3 at least. Might need some additional testing on
other WMs (and especially on Windows!).

* Add some icons for switcher items

Note that the final design of the list is not final but I do plan to
incorporate these in the future.

* Set Qt::Dialog window flag on switcher popup

Prevents tiling window managers like i3 from trying to tile the window.

* Rename "SwitcherItem" to "AbstractSwitcherItem"

* Add comments about what items are inserted

* Use custom model and view

Still missing: Currently selected item is not highlighted yet. You can
move between selected items with tab and arrow keys though.

* Add helper function to convert QVariant to AbstractSwitcherItem *

* Remove useless constant

* Highlight currently selected switcher item

* Use a different method for centering QuickSwitcherPopup window

* QuickSwitcherModel: Add documentation

* Add default parameter to QuickSwitcherModel::rowCount

* QuickSwitcherPopup: Add comments

* Remove outdated TODO

* QuickSwitcherModel: Init vector with default capacity

* Remove outdated comment

* Add comment about 0 ms timeout interval

* NewTabItem: Simplify interface

* Only fetch opened splits once

This is better than the prior approach since opened splits cannot change
anyways while the switcher is open.

* Use SplitContainer to pass information instead of custom type

* Allow searching for tab titles as well

Before this commit, only channel names could be searched.

* Refactor switcher item interface to be more flexible

Also show tab name and channel name in the switcher list.

* Add documentation for AbstractSwitcherItem

* Add documentation for NewTabItem

* Add comments about {begin,end}{Insert,Remove}Rows

* Remove unused method

* Replace magic size with named constant

* Add change log entry

Co-authored-by: fourtf <tf.four@gmail.com>
2020-08-13 19:25:51 +02:00
Daniel 0e6ca6b097
Vertical tabs (#1815)
* Vertical tabs

* Vertical tab wrapping

* Fix formatting

* Cleanup code

* Updated changelog

* Hide button row if no buttons exist

* Fix tab width expansion

Co-authored-by: fourtf <tf.four@gmail.com>
2020-08-13 15:43:08 +02:00
alazymeme 1bd3d10eef
Add an "Open in browser" option to whisper split (#1828) 2020-08-08 15:17:51 +02:00
pajlada 382dfbc2fa
[SearchPopup] CTRL+F now focuses the search input (#1812) 2020-07-18 17:52:12 +02:00
Daniel ba06b10135
Open usercard on mention click (#1674) 2020-07-18 16:03:51 +02:00
pajlada 276f3e1d98
[SettingDialog] CTRL+F now selects the Find input (#1811)
* Sneakily make SettingsDialog constructor private at the same time 🕵
2020-07-18 15:56:33 +02:00
pajlada 6ba9c5ec31
Reset the lastMessageHasAlternateBackground{Reverse} values when clearing all messages in a ChannelView. (#1810)
This makes it so that we consistently start with the same values after
having cleared a ChannelView.
Example place where this happens: UserInfoPopup when user messages are
loaded and refreshed
2020-07-18 14:44:10 +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ł 682caf6b69
Add support for more image uploader services (#1741)
The list of links that have been uploaded is now also stored in the json format instead of csv
2020-07-05 14:32:10 +02:00
pajlada cdf85c5084
Message menu now holds a shared pointer to a layout (#1787)
This ensures that the layout will survive for the lifetime of the menu,
     so any of the menu actions can with confidence do things with the
     layout, not having to worry whether it's dead or not.

This means that the user, while having the message menu open, could have
one extra MessageLayout alive. I have ensured that when the menu dies
the reference to the shared pointer dies with it.
2020-07-05 13:52:24 +02:00
Daniel 680b500993
Fix update checker not working on macOS (#1642)
* Prevent update dialog from going off screen

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-05-10 13:13:47 +02:00
Daniel Pasch be6ef6dcd5
open twitch usercard on middle mouse (#1669)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-05-10 12:45:19 +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 001dce5da1
Create uploader to i.nuuls.com (#1332)
This commit adds support for uploading images to i.nuuls.com from clipboard or by dragging an image into a split.

Documentation for how to self-host the image uploader is available in ENV.md

By default, you will be asked before an image upload takes place. There's an option in the dialog to not be asked again, if that option is chosen you can revert that choice in the settings dialog.
2020-05-09 07:34:27 -04:00
Rasmus Karlsson 4bfd20f943 Add changelog entry 2020-05-09 13:33:23 +02:00
pajlada b4eb56f362
Remove "Online Logs" functionality (#1649)
The /logs command will direct users to the /user command instead

Changelog has been updated to reflect this change
2020-05-02 12:18:35 +02: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
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
fourtf a2d21510ac
Update CHANGELOG.md 2020-02-21 02:13:31 +01:00
Rasmus Karlsson 7a08d73434 Fix preview on hover not working when Animated emotes options was disabled.
Fixes #1546

This change introduces a "window timer" that runs every 100ms that we
use to update the pixmap if necessary, since there is no signal for "let
me know when this image is done loading".
2020-02-15 17:16:10 +01:00
Rasmus Karlsson 64c58e724a Use same sorting method in emote popup as in the completion model
Fixes #1549
2020-02-15 15:52:42 +01:00