Commit graph

359 commits

Author SHA1 Message Date
pajlada
f9b23882f4
Templatize localizeNumbers (#4412)
original idea by MM2PL
2023-02-25 12:44:45 +01:00
pajlada
c95a65c153
Fix Qt6 building (#4393) 2023-02-19 20:19:18 +01:00
Sam Heybey
1d3ca0bfa3
Use AssocQueryString instead of directly querying the registry (#4362)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-02-10 21:21:09 -05:00
askepticaldreamer
6ba1cf6ca3
Fix slash to backslash conversions in url hashes for opening links in incognito (#4307)
* Pass link as argument instead of in command string when opening incognito links

* Update CHANGELOG.md

* Make changelog message more user facing

* Remove now unused argument for getCommand
2023-01-19 09:03:35 +01:00
pajlada
18cb4bd6e5
Massage includes some more (#4294)
* Add `<functional>` include to QStringHash.hpp

This ensures the base `std::hash` template is declared before this
specialization

* Add missing includes to `src/providers/twitch/TwitchAccountManager.hpp`

* Move explicit HelixChatters constructor to the source file

* Remove unused includes & add used includes to NicknamesModel.hpp

* NicknamesModel.hpp: Remove `virtual` when `override` is used

* Add missing QStringHash include to TwitchEmotes.cpp

* Add missing includes to various files

* Print Qt version in cmake step

Technically unrelated, but I'm sneaking it in

* Add changelog entry
2023-01-08 12:07:06 +00:00
pajlada
e48945e370
Flatten util/IncognitoBrowser.{h,c}pp (#4280) 2023-01-01 12:06:34 +00:00
nerix
1043f9f803
Remove Unnecessary Includes in Headers (#4275)
* refactor: remove unnecessary includes in headers

* fix: formatting

* chore: changelog

* fix: scrollbar

* fix: suggestions and old appbase remains

* fix: suggestion

* fix: missing Qt forward declarations

* fix: another qt include

* fix: includes for precompiled-headers=off

* Add missing `<memory>` includes

* Add missing `#pragma once`

* Fix tests

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-31 14:41:01 +00:00
pajlada
5fc170ba4b
Refactor SplitHeader class (#4276)
* Flatten static functions in anonymous namespace

* SplitHeader ctor: Rename param

* Header: Remove unnecessary `virtual`s

* auto ptr where possible

* Add curly braces

* Comment twitch room modes

* Treat roomModes->slowMode as an integer

* Remove unused `this` from lambdas

* Add `unsigned int` overload for localizeNumbers

* Move thumbnail max age to a constexpr static & set explicit types

* Explicitly use `QObject::connect`

* Use `empty()` instead of `size()`

* Name unused parameters

* Move moderation action refreshing logic from SplitHeader to Split
2022-12-31 12:56:47 +01:00
nerix
757c7c781e
fix: Remove Unused Include Directives (#4266)
* fix: remove unused includes

* fix: bad includes

* fix: top include

* fix: streamer mode includes

* fix: missing include

* fix: remove `#else`

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-27 20:26:32 +00:00
pajlada
b9308d7325
Add Thread Guard for debugging simple threading issues (#4254)
* Add ThreadGuard class

* Use ThreadGuard when accessing a ChannelView's messageSnapshot
2022-12-24 11:32:08 +01:00
pajlada
032f290767
Sort and force grouping of includes (#4172)
This change enforces strict include grouping using IncludeCategories

In addition to adding this to the .clang-format file and applying it in the tests/src and src directories, I also did the following small changes:

    In ChatterSet.hpp, I changed lrucache to a <>include
    In Irc2.hpp, I change common/SignalVector.hpp to a "project-include"
    In AttachedWindow.cpp, NativeMessaging.cpp, WindowsHelper.hpp, BaseWindow.cpp, and StreamerMode.cpp, I disabled clang-format for the windows-includes
    In WindowDescriptors.hpp, I added the missing vector include. It was previously not needed because the include was handled by another file that was previously included first.
    clang-format minimum version has been bumped, so Ubuntu version used in the check-formatting job has been bumped to 22.04 (which is the latest LTS)
2022-11-27 19:32:53 +01:00
pajlada
768b281ff2
fix sample redemption messages (#4165) 2022-11-19 14:59:10 +00:00
pajlada
1eabda8668
Initial backend test for user-based data/customizations (#4144)
Right now only support for colors and no real UX, idea is to test it & allow the idea to grow while figuring out the UX
2022-11-13 17:21:21 +00:00
nerix
39f7d8ac4c
feat: Live Emote Updates for 7TV (#4090)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-13 12:07:41 +01:00
mohad12211
3fcb7e1702
Implement initial support for RTL languages (#3958)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
fix https://github.com/Chatterino/chatterino2/issues/720
2022-11-10 20:36:19 +00:00
kornes
fbfa5e0f41
Disable use of Qt APIs deprecated in 5.15.0 and earlier versions (#4133) 2022-11-10 20:11:40 +01:00
pajlada
abb69f6794
Include more error messaging for failed image uploads (#4096) 2022-11-01 21:39:26 +01:00
pajlada
e3af865a70
Add helper function for ensuring a function is run in the GUI thread (#4091) 2022-10-30 13:01:54 +00:00
nerix
25bccc90b4
Migrate Remaining Chat Settings Commands to Helix API (#4040) 2022-10-03 19:42:02 +02:00
Felanbird
0ab59d44f0
Add Basic Elevated Message support (#4016) 2022-09-30 23:23:31 +00:00
pajlada
4f1976b1be
Migrate /color command to Helix API (#3988) 2022-09-16 21:15:28 +00:00
Leon Richardt
2dd37ca210
chore: warn when parsing environment variable fails (#3904)
* chore: warn when parsing environment variable fails

* doc: update changelog
2022-08-06 13:38:10 +02:00
Kasia
f3f340335f
Make generic version of batcher function (#3822) 2022-06-17 20:52:20 +02:00
Kasia
765a17d374
Simplify code for fake debug messages (#3775) 2022-05-29 12:53:22 +00:00
Kasia
0ad66c0af4
Optimize formatTime utility (#3777)
Adds benchmarks and unit tests for the function

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-29 11:54:42 +00:00
Kasia
8b98f0e142
Removed unused files IsBigEndian.hpp and rangealgorithm.hpp (#3776)
util/IsBigEndian.hpp and util/rangealgorithm.hpp have been unused for a long time, removing them from the codebase because git keeps the history forever anyway!
2022-05-29 10:19:26 +00:00
badoge
57f92f5eaa
Added more streaming software to streamer mode binaries list (#3740)
Streamer mode now automatically detects if XSplit, PRISM Live Studio, Twitch Studio, or vMix are running

Co-authored-by: Kasia <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-28 12:17:42 +00:00
pajlada
3119a9bab3
Store serverReceivedTime in messages (#3735)
Co-authored-by: James Upjohn <jammehcow@jammehcow.co.nz>
2022-05-15 06:08:28 +00:00
Kasia
46a5c9509e
Fix Qt::SkipEmptyParts deprecation warning (#3726)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-14 10:11:39 +00:00
kornes
07dd8c560b
Prevent user from entering incorrect characters in Live Notifications channels list (#3715)
Co-authored-by: Sidd <iProdigy@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-08 10:27:25 +00:00
pajlada
4aa5b04e37
Disable formatting on "contested lines" (#3714)
These lines are formatted differently between clang-format 10 (on CI) and clang-format 11+ (on most dev systems)
2022-05-07 14:57:26 +00:00
Sidd
b2ed4c0843
fix: parse irc tags with consecutive escapes (#3711)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-07 13:57:46 +00:00
James Upjohn
67c10fafc7
chore: replace usages of obsolete twitch struct with backing field (#3614)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-03-19 11:02:29 +00:00
Brian
45d96afc14
Added librewolf, icecat, and waterfox incognito support. (#3588)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-03-06 13:36:20 +01:00
pajlada
fb9c3ad42b
Add tests to Twitch User/Channel name strip functions (#3568) 2022-02-12 15:06:47 +01:00
Paweł
9069dee4fb
Show feedback upon opening a channel in streamlink in more places (#3510)
Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
2022-01-15 18:20:06 +01:00
Paweł
34203dfa7c
Optimize logs folder size calculation (#3427) 2022-01-05 21:17:35 +00:00
Paweł
1682f0fb36
Refactor Tab completion for Twitch commands (#3144)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-12-26 14:21:52 +01:00
Mm2PL
703f3717e2
Add custom hotkeys. (#2340)
Co-authored-by: LosFarmosCTL <80157503+LosFarmosCTL@users.noreply.github.com>
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-11-21 17:46:21 +00:00
ilyazzz
a7ef7e6f7f
Use flatpak-spawn to run streamlink when running as a flatpak (#3178)
Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: Paweł <zneix@zneix.eu>
2021-08-21 11:00:01 +00:00
pajlada
1d664f88e5
Keyboard integration for Streamlink quality confirmation (#3169)
Co-authored-by: zneix <zneix@zneix.eu>
2021-08-15 15:59:52 +02:00
Paweł
de4f6a9d51
Rate limit outgoing JOIN messages (#3115)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: Tal Neoran <talneoran@gmail.com>
2021-08-04 21:18:34 +00:00
pajlada
770b9f263b
Fix PubSub client creation/pending topic resolving (#3037)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: zneix <zneix@zneix.eu>
2021-07-25 15:13:04 +00:00
Paweł
588ed557f0
Fixed comma appended to username completion when not at the beginning of the message (#3060)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-24 12:01:50 +02:00
Paweł
e5fe0999ee
Replace std::string with QString in rapidjson and PubSub Client (#3018) 2021-07-18 12:37:53 +00:00
Paweł
a84e62c6bb
Use server time in received IRC messages where available (#3026) 2021-07-17 18:22:25 +02:00
Paweł
6022cd86eb
Remove unused class JsonQuery (#3017)
Introduced 3 years ago in c2e2dfb, not used ever since. Safe to remove.
2021-07-15 20:37:34 +00:00
Paweł
b6ee2280d2
Moved getRandomColor method to util/Helpers.cpp (#2974)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-07-08 17:09:31 +00:00
Paweł
3b0d62f5c5
Replace QRegExp with QRegularExpression (#2945) 2021-07-04 11:02:12 +00:00
Tal Neoran
991892ee76
Add /openurl command (#2926)
Usage: `/openurl <URL>`. Opens the provided URL in the browser.

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-06-27 11:40:44 +00:00
pajlada
0c2488505c
Use an exponential backoff when deciding how long we need to wait for reconnects (#2892)
Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
2021-06-20 13:29:52 +00:00
pajlada
2f49b23875
Add ability to disable precompiled headers with CMake (#2727) 2021-05-08 15:57:00 +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
pajlada
2f906c5504
Add a function in NetworkCommon parseHeaderList which parses a header list as a string into a vector of header pairs (#2623) 2021-04-17 11:49:19 +00:00
Paweł
e741744254
Handle bits badge tier notification messages (#2611) 2021-04-11 12:17:21 +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ł
7002954aa9
Fixed deprecated method QProcess::finished(int) (#2512)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 20:14:47 +01:00
Paweł
be21e5b52d
Fixed deprecated method QPalette::{Fore,Back}ground (#2510)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-03-13 16:03:16 +01:00
fourtf
a8c7e4a826 added missing files 2021-03-13 12:40:43 +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ł
185980f8a2
Added /streamlink command (#2443)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-02-12 14:16:44 +01:00
Paweł
3023a44a21
Some fixes related to clipboard (#2405)
Also:
- Fixed capitalization of one method in `LoginDialog.cpp`
- Visually improved some strings in `LoginDialog.cpp`
- Added utility function getting clipboard content to `Clipboard.cpp`
- Made sure to use `crossPlatformCopy` in `UserInfoPopup.cpp`
2021-02-06 15:47:09 +01:00
fanway
127598db8a
Add automatic streamer mode detection to macOS (#2376) 2021-01-30 13:11:08 +01:00
Paweł
e48937e0aa
Fixed some spelling mistakes across files (#2367)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-01-17 20:19:10 +01:00
Paweł
fca62f7c1d
Added automatic streamer mode detection to Linux (#2316) 2021-01-09 22:14:25 +01:00
pajlada
0e66b17ff0
Add Network tests (#2304)
Also changes the way timeouts happen, since right now if a timeout was met (which it mostly wasn't), it would run the error callback twice causing potentially undefined behaviour
2020-12-26 12:42:39 +01:00
Steve Wills
df722a72c1
Switch to QT Category logging (#2206)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2020-11-21 16:20:10 +01:00
Leon Richardt
0eed45ae67
Chore: Proper Lambda Formatting (#2167)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-08 12:02:19 +01:00
Paweł
3c1abbd297
Added missing window titles to all popups (#2120) 2020-10-31 15:12:42 +01:00
fourtf
5f54b1b495 moved navigation to the right 2020-10-23 09:33:44 +02:00
fourtf
3d9d7d54d5 added missing file 2020-10-22 23:46:36 +02:00
fourtf
0ecea8ad83 added category navigation to general settings 2020-10-22 23:20:07 +02:00
pajlada
f191de2514
Add CI workflow to check line endings of all source files (#2082)
In addition, all found errors (formatting & line ending) have been fixed in this PR.
2020-10-18 15:54:48 +02:00
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
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
459e483c62 hide link preview image if in streamer mode 2020-08-22 15:27:42 +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
fourtf
4d4056ad51 fix compilation on gcc 2020-08-15 19:46:18 +02:00
fourtf
f7237dccdd added colon emote popup for ffz and bttv 2020-08-15 18:59:17 +02:00
Jonas Schmitt
11b8948290
Add support for non-highlight channel point rewards (#1809) 2020-08-08 15:37:22 +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
fourtf
e928cde2d5 removed debug log 2020-07-12 22:48:29 +02:00
fourtf
9739d8d9c3 hide user profile avatar if obs is running 2020-07-12 22:44:33 +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
Paweł
a2f2cac3fd
Added logging for uploaded images (#1712)
A list of uploaded images are stored under the message logs directory as a csv file
2020-06-13 14:53:09 +02:00
Paweł
50d669a1af
Added possibility to change image uploader's form body with Enviroment Variables (#1709) 2020-05-30 12:30:30 +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
Mm2PL
3d1950b32e Merge remote-tracking branch 'main_repo/master' into git_is_pepega 2020-04-18 13:39:01 +02:00
Mm2PL
8f076d8075
Internal changes
Add missing `static` and `const`
2020-03-29 13:47:52 +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
fourtf
8ae9abb250 refactored IgnoredController 2020-02-23 20:01:35 +01:00
fourtf
4a69095d5f fix 2020-02-20 23:43:54 +01:00
Leon Richardt
d0839ac36e
Make pre-defined highlight columns unselectable
Fixes #1539.
2020-02-20 00:10:10 +01:00
Mm2PL
979bf5e74a
Add missing return 2020-02-10 16:55:59 +01:00
Mm2PL
d7a7df7427
Merge branch 'master' into git_is_pepega 2020-02-08 16:42:47 +01:00
Mm2PL
d53bfbfdf2
Fixes and more changes Pajlada requested :)
- get rid of `getImageFileFormat`, now uses QMimeDatabase
 - now uses a `QMutex` to be thread safe,
 - uploading two things at the same time is now impossible
2020-02-08 16:26:32 +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
Alexey Kutepov
00414eb779 Synchronize Clipboard with Primary Selection on Linux when copying (#1502)
* Introduce crossPlatformCopy()

It sets the text of the clipboard and also syncs it with the selection
clipboard if it is supported. Such behaviour is pretty common for X11
application on Unix-like Operating Systems.

* Fix clang-format remarks

* Fix weird clang-format config discrepancy between my machine and CI

* Remove clipboard argument from crossPlatformCopy

* Fix clang-format remarks
2020-01-24 21:36:51 +01:00