Commit graph

803 commits

Author SHA1 Message Date
Felanbird
317a5fb60f
Clean up changelog in preparation of v2.4.3 (#4581)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-29 14:44:53 +00:00
nerix
9c9fa86c45
Refactor LinkParser (#4576) 2023-04-23 14:56:39 +00:00
nerix
95e7426283
Remove Redundant Parsing of Links (#4507)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-22 22:58:37 +00:00
nerix
f2938995c1
More Accurately Convert Font-Weights in Qt 6 (#4568)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-22 21:42:17 +00:00
nerix
6d2605d4ca
Fix Qt6 crash when dragging rows in table views (#4567) 2023-04-21 18:25:33 +00:00
nerix
cb0ab90f0c
Add qtimageformats Module in Qt6 CI Builds (#4556) 2023-04-17 15:06:15 +02:00
pajlada
ec4ec799e9
Mark builds as experimental - v4 (#4555) 2023-04-17 10:11:03 +00:00
pajlada
7285686a7f
Mark builds as experimental (#4554) 2023-04-17 09:05:39 +00:00
pajlada
421497c6cb
Mark builds as experimental (#4553) 2023-04-17 07:59:25 +00:00
pajlada
169f419d91
Mark experimental builds at the start of their filename (#4551) 2023-04-16 18:03:30 -04:00
nerix
20bdfaef39
Use macos rather than osx in filenames (#4550) 2023-04-16 19:05:51 +00:00
pajlada
8124ab439c
Restart the sound device if it's been stopped (#4549)
Fixes a bug where we don't check if the sound device is active before trying to play a sound to it

We fix this by checking its state before every sound we try to play, and if the device is not in the started state we try to restart it.
2023-04-16 13:16:12 +02:00
Zonian
d6ef48d4ef
Migrate Twitch badges to Helix (#4537)
Co-authored-by: iProdigy <8106344+iProdigy@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-16 09:58:45 +00:00
2547techno
88bb1b4ae7
Add message for empty mod list. (#4546) 2023-04-15 17:59:46 +00:00
nerix
bf6350ad79
Add macOS, Windows, & Ubuntu 22.04 Qt6 builds (#4522)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-15 13:25:51 +02:00
iProdigy
c44e7295da
feat: add /lowtrust command (#4542)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-15 10:13:26 +00:00
2547techno
52a6f259cf
Fix: check reply-parent-user-id for blocked user (#4502) 2023-04-13 16:13:49 +00:00
nerix
610394d696
Fix Twitch-Specific Filters Not Being Applied (#4529)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-10 10:08:15 +00:00
nerix
b3ade53229
Restore missing copy and pin buttons in the Usercard (#4533) 2023-04-10 11:20:27 +02:00
Daniel Sage
34db692895
Implement type checking/validation for filters (#4364)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-09 23:35:06 +02:00
pajlada
c8e1741e47
Remove CHATTERINO_TEST definition (#4526) 2023-04-09 12:18:56 +02:00
CycloneTM
6cbf750ec5
Streamline the look of the Black theme (#4523)
This makes it be more in line with the other themes
2023-04-09 09:38:38 +00:00
kornes
5c55f62600
Fix emote & badge tooltips not showing up when thumbnails were hidden (#4509)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-08 13:43:38 +00:00
nerix
4e3433e966
Store Themes as JSON files (#4471)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-08 09:05:55 +00:00
nerix
149399a072
Fix plugin compilation error when using Qt 6 (#4504) 2023-04-02 20:30:15 +02:00
nerix
bdab5e021c
Benchmark and Test LinkParser (#4436)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-02 14:59:26 +00:00
Mm2PL
5ba809804e
Add basic lua scripting capabilities (#4341)
The scripting capabilities is locked behind a cmake flag, and is not enabled by default.

Co-authored-by: nerix <nerixdev@outlook.de>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-02 15:31:53 +02:00
nerix
281bddb4cf
Upgrade from Conan 1.x to 2.x (#4417)
Conan 1.x is no longer supported - upgrade if you used it for dependency management

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-02 10:48:22 +00:00
kornes
b209c50b01
Fix channel search when custom scrollback limit is used (#4496) 2023-04-01 12:34:34 +00:00
pajlada
d8df716fc2
Fix memory leak when using the Recent Messages API (#4499) 2023-04-01 11:57:48 +00:00
pajlada
0177ab4829
Ensure tests have default-initialized settings (#4498)
Also rework HighlightController test directory creation/saving to ensure the test directory is written to & cleaned up appropriately
2023-04-01 11:23:18 +00:00
nerix
08ae43e88e
Add Placeholder Color in Palette (#4477)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-03-29 08:21:35 +00:00
Colton Clemmer
3d4985c88f
Migrate viewer list to Helix (#4117)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-27 16:26:08 +00:00
Muzuwi
1fbbef34bf
Initialize list of blocked users on IgnoresPage construction (#4437)
The `SettingsPage::onShow` handler that sets up the block
list is only called when the application settings dialog
has already been shown once before. This caused the blocked
user list to appear empty until the second time it was opened.

Correct this by explicitly regenerating the block list in the
constructor of `IgnoresPage`.
2023-03-26 11:35:09 +00:00
Daniel Sage
8048dcdd1f
Add Shift+Right Click Shortcut to Reply to a Message (#4424)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-25 15:00:21 +00:00
nerix
d59076520a
Fix Username Font Weight Issue on Qt 6 (#4476) 2023-03-25 10:57:06 +00:00
nerix
19cc72f927
Respect PCH Setting in Windows CI (#4472) 2023-03-23 23:04:16 +01:00
Scrub
7b6094909e
Include reply mention when logging (#4420)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-03-19 12:29:46 +00:00
pajlada
130b23edaf
Add a local backup of the Twitch Badges API (#4463) 2023-03-19 11:28:28 +00:00
pajlada
1ad93b7acc
Fix an issue where the "Enable zero-width emotes" setting was showing the inverse state (#4462) 2023-03-19 11:00:24 +00:00
nerix
a777a227d4
Allow each layered image to retain its own flags (#4460)
This fixes an issue where context-menu items for zero-width emotes displayed the wrong provider.
2023-03-19 11:26:30 +01:00
Daniel Sage
0acbc0d2c3
Formalize zero-width emote implementation (#4314)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-18 12:30:08 -04:00
nerix
db97a14cdc
Ignore BTTV user-events (#4438)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-03-18 11:47:38 +00:00
nerix
d7206a2203
Support Animated FFZ Emotes and Authors for Global Emotes (#4434)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-18 11:22:40 +00:00
nerix
93a9e41d31
Cleanup Theme-related Code (#4450) 2023-03-17 19:53:03 +00:00
llyyr
3809fd1075
Only log debug messages when NDEBUG is not defined (#4442) 2023-03-15 14:01:45 +00:00
Felanbird
c8204ef7e4
Release v2.4.2 (#4433)
* Update `CMakeLists.txt`

* Update `resources/com.chatterino.chatterino.appdata.xml`

* Update `src/common/Version.hpp`

* Update `CHANGELOG.md`

This includes changelog re-ordering changes that would normally be in a seperate PR, but this release will be an exception to that rule
2023-03-06 09:13:25 +01:00
Daniel Sage
b9e87dcd2b
Fix Handling of FFZ CDN URLs with https already appended (#4432) 2023-03-05 00:34:36 +00:00
iProdigy
b5b85501ee
Add ban user by id command /banid (#4411)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-02-26 20:03:14 +00:00
nerix
a75feba4ca
Use unique_lock when loading 7TV badges (#4402)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-02-22 12:01:47 +00:00
pajlada
7e005ba661
Fix AppImage not containing all SSL dependencies (#4400)
This means the AppImage is built on Ubuntu 20.04 using Qt 5.12
2023-02-21 09:47:18 +01:00
nerix
c74b14a93a
Delete all but the last 5 crash dumps on startup (#4392)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-02-19 22:20:41 +00:00
pajlada
c95a65c153
Fix Qt6 building (#4393) 2023-02-19 20:19:18 +01:00
pajlada
d3499e814e
Fix the brew cask action (#4394)
It previously tried to bump the version from 2.4.0 to v2.4.1
the action didn't strip the v, but it does now
2023-02-19 16:08:32 +00:00
pajlada
5ed4a21d6a
Release v2.4.1 (#4390) 2023-02-19 12:14:54 +01:00
pajlada
2629e3baa7
Stop whispers from showing up in /mentions unless they match another highlight (#4389) 2023-02-18 12:02:12 +00:00
Ilya Zlobintsev
da97079877
Add flatpakref file to artifacts (#4388)
The .flatpakref file format definition can be read about here https://man7.org/linux/man-pages/man5/flatpak-flatpakref.5.html
or just `man flatpak-flatpakref`
2023-02-17 20:01:47 +00:00
pajlada
6380fb5198
Fix mod, unmod, vip, unvip buttons in User Card (#4387) 2023-02-16 20:43:37 +00:00
Felanbird
28bdf440fd
Move #4361 changelog to dev section (#4385) 2023-02-16 16:08:09 +00:00
nerix
9bfd12ba3c
Fix builds from CI showing up as modified (#4384)
This change also adds a new environment variable used while building: `CHATTERINO_REQUIRE_CLEAN_GIT` which, if set, will error out during your build's GIT stage.
This is used in CI to ensure we don't accidentally introduce a change that would result in builds showing up as "modified" again.

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-02-16 13:56:20 +00:00
Felanbird
998cfbaf67
Clean up changelog in preparation of v2.4.1 (#4381) 2023-02-15 14:31:01 -05:00
pajlada
f317d4c99b
Fix User Card moderation actions not using Helix (#4378) 2023-02-14 20:59:23 +00:00
askepticaldreamer
a3189baf94
Add channel name to Mentions chat logs (#4371) 2023-02-13 23:00:46 +00:00
nerix
bb0b563a87
Use qintptr in QWidget::nativeEvent on Qt 6 (#4376) 2023-02-13 20:45:58 +00:00
nerix
e377c30192
Add Crashpad Support on Windows (#4351)
* feat: crashpad on windows

* feat: inline it

* feat: more crashpad

* chore: remove qBreakpad

* fix: add mention to crashpad

* refactor: version string

* feat: add crashpad module

* refactor: build crashpad from source

* fix: minor adjustments

* chore: add changelog entry

* fix: formatting and include

* fix: format

* build: use flags similar to release profile

* ci: build with crashpad on windows

* ci: recurse submodules

* ci: always include crashpad

* fix: try 7z

for some reason zstd just doesn't run

* fix: wrong path for symbols

* fix: copy

pls don't build

* ci: use new cache key

* fix: missing pragma

* ci: add workflow without crashpad

* docs: elevate changelog entry

* fix: add link to cmake issue

* fix: windows include issue

Someone (crashpad) includes Windows.h before winsock2.h

* fix: working directory

* fix: another working directory
2023-02-12 20:36:58 +01:00
nerix
c9a9e44e1f
Add HTTP & SOCKS5 proxy support (#4321)
This can be configured using the `CHATTERINO2_PROXY_URL` environment variable.
The behaviour is similar to curl's CURLOPT_PROXY
2023-02-11 23:16:51 +00:00
Daniel Sage
cf80ae8434
Disable ImageExpirationPool during testing (#4363)
* Disable ImageExpirationPool during testing

* Update CHANGELOG.md

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-02-11 19:20:46 +00:00
nerix
5179567334
Use QEnterEvent for QWidget::enterEvent on Qt 6 (#4365)
* fix: use concrete QEnterEvent on Qt 6

* chore: add changelog entry
2023-02-11 18:13:29 +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
Mm2PL
d38187f794
Remove sending part of the multipart emoji workaround (#4361) 2023-02-09 16:45:53 +01:00
nerix
829c48d79a
Attempt to catch std::bad_function_call when adding a channel point reward (#4360)
* fix: attempt to catch std::bad_function_call

* chore: add changelog entry

* fix: spelling mistake

Co-authored-by: Leon Richardt <git@leon.dev>

---------

Co-authored-by: Leon Richardt <git@leon.dev>
2023-02-09 00:43:52 +01:00
nerix
0c74ab17ed
Refactor 7TV EventAPI (#4342)
* refactor: remove file prefix

* refactor: put eventapi into a namespace

* refactor: support multiple conditions

* fix: handle ack

* docs: add changelog entry

* fix: unsubscribe in destructor

* fix: naming of parameter

* fix: namespaces

* chore: casing

* fix: missing namespace

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-02-04 13:42:52 +01:00
Auro
d6ccab2cdf
Added option to highlight your own messages (#3833)
* Removed magic numbers when checking rowIndex

* Swap from static ints to enum

* Referred enum members by enum name

* Fixed formatting

* Added highlight option for self messages

* Update CHANGELOG.md

* Made disabled by default

* Moved setting from Messages tab to Users tab

* Moved checks to HighlightController

* Set row index to 0

sillE silly me

* Update CHANGELOG.md

* Moved check outside of loop

* Improved naming and documentation on variables

* Fixed formatting

* Fix compile errors

* Update ColorProvider self message highlight color when it's changed

Use the ColorProvider self message highlight color instead of rolling
our own non-updating color

* Update changelog entry

* Remove unused `customColor` from user highlights builder

* Use explicit lambda capture

* Update comment for the color provider color

* HighlightModelHpp: Future-proof custom row enum B)

* Document UserHighlightModel color changes

* Update colorprovider comment

* Update enabled, show in mentions & color setting paths

* Rename settings from `selfMessagesHighlight` to `selfMessageHighlight`

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-01-30 11:40:50 +01:00
nerix
b80d41c327
Use CMakeDeps and CMakeToolchain as Generators on Conan (#4335)
* deps(conan): use `CMakeDeps` as generator

* chore: add changelog entry

* deps(conan): add `CMakeToolchain` generator

* fix: use generated toolchain file

* docs: mention toolchain as well

* fix: spelling

* fix: formatting

* revert: use nmake

* docs: fix documentation
2023-01-29 13:10:39 +00:00
nerix
633b77511d
Add CMake Install Support for Windows (#4300)
* fix: windows installation with cmake

* fix: support install for all win32 compilers

* chore: add changelog entry

* fix: support `X_VCPKG_APPLOCAL_DEPS_INSTALL`

* chore: document cmake min version

* fix: vcpkg

* fix: plugin path

* fix: remove flattening

* revert: `qt.conf` changes

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-01-29 10:52:45 +00:00
pajlada
4958d08036
Change sound backend from Qt to miniaudio (#4334)
Thanks Greenlandicsmiley, Nerixyz, Yoitsu, and helmak for helping debug & test this

* Remove QMediaPlayer includes

* Prefer local path when generating the sound path

* Update changelog entry number

* Disable pitch & spatialization control
2023-01-29 10:36:25 +01:00
pajlada
bf5a5b839c
Fix version checking (#4329)
https://github.com/Neargye/semver

* Use semver library for version downgrade checking

* Add test validating our current version is valid semver
2023-01-26 19:22:48 +01:00
nerix
904749cf62
feat: Add Live Emote Updates for BTTV (#4147)
This feature is enabled by default and can be disabled in settings with the "Enable BTTV live emotes updates" setting.

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-01-21 14:06:55 +00:00
pajlada
56f7c91a64
Fix the split "Search" menu action not opening the correct search window (#4305)
* Fix split menu "Search" action

It now opens a split-specific search instead of a global one

* Add changelog entry
2023-01-21 10:51:29 +00: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
nerix
2233b46512
Format YAML and JSON Files With Prettier (#4304)
* ci: format yaml and json files with prettier

* chore: add changelog entry

* fix: format everything

* ci: run pretter on all files

* ci: rename prettier step
2023-01-15 17:27:41 +01:00
pajlada
f933d9cdf2
Change the highlight order to prioritize Message highlights over User highlights (#4303) 2023-01-15 13:21:42 +00:00
askepticaldreamer
4c782ce90c
Add feature to select channels to log (#4302)
* Add checkbox for custom logging and table with channels to log on Logs page

* Add checkbox to enable and disable logging per channel

* Return from addMessage before logging if custom logging enabled and channel does not have logging enabled

* Use clang-format to fix formatting

* Add CHANGELOG.md entry

* Resolve PR comments

* Remove toggle for channels so any channel listed will be logged

* Move Only log channels listed below checkbox to just above table

* Fix formatting

* Re-order changelog

* ChannelLog constructor: Copy & move instead of const ref & copy

* ChannelLog::createEmpty: Curly brace initialize instead of repeating
name

* ChannelLog toString & createEmpty: nodiscard

* Use COUNT paradigm in model column

* Remove ChanneLoggingModel source file comments

* Use Column::Channel in getRowFromItem

* Rename `getItemFromRow` parameter and mark it as unused

* Curly brace initialize ChannelLog

* private & friend class the model

* Filter out channels to log using a set instead of iterating over a vector every time a message comes in

* Rename `ChannelLog::channel` member to `ChannelLog::channelName`

Also made it private

* mini comment on ChannelLog

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-01-15 11:47:22 +00:00
pajlada
5ad8ca791c
Fix various small warnings (#4296)
* Fix `inconsistent-missing-override` warnings

* Fix `final-dtor-non-final-class` warnings

* Fix `ambiguous-reversed-operator` warnings
2023-01-08 14:32:52 +01:00
pajlada
1faa973402
Bump Cirrus CI FreeBSD image from 12.1 to 13.1 (#4295)
* Cirrus CI, print gcc version & print compile commands

* upgrade freebsd from 12.1 to 12.3

* Add changelog entry

* Bump to 13.1

* Update changelog entry
2023-01-08 13:55: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
Daniel Sage
e19cd1911b
Fix scrollbar highlight colors when changing message history limit (#4288)
* Use correct messagesLimit for Scrollbar

* Update CHANGELOG.md

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-01-07 11:41:52 +00:00
nerix
95b1f82620
Remove Deprecated QDesktopWidget (#4287)
* fix: remove deprecated `QDesktopWidget`

* chore: add changelog entry
2023-01-07 11:41:39 +01: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
f04c4c7388
Fix crash that could occur when closing down the last of a channel when reloading emotes (#4278)
* Fix crash that could occur when a channel is closed

Ensure we copy the QString in case the channel goes out of scope and
we're referring to nothing

* Add changelog entry
2022-12-31 13:03:16 +00:00
pajlada
293aa370c5
Fix crash that could occur when closing down splits (#4277)
* Fix crash that could occur when closing down splits

Specifically, if a split was closed after the request for a thumbnail
had been made, but before the request had finished, we'd run into a
use-after-free issue

* Add changelog entry
2022-12-31 12:39:28 +00:00
pajlada
90046f380f
Fix crash that would occur when performing certain actions after removing all tabs (#4271)
* Ensure we can deselect notebooks

* Add changelog entry

* Use dynamic_cast instead of raw cast
2022-12-29 19:15:32 +01:00
kornes
11fdd7ed74
ref: merge TooltipPreviewImage and TooltipWidget (#4268)
* merge TooltipPreviewImage and TooltipWidget

* changelog

* add empty line before return

* fix signalholder include

* add changelog for bugfix

* fix custom scaling issue

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-29 16:07:46 +01:00
nerix
448c8622e7
Remove unused operators in Image (#4267) 2022-12-28 19:24:14 +00: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
Douglas
b2a8327696
Fix text cursor in open channel dialog (#4263)
* Fix text cursor not blinking in open channel dialog

* Update CHANGELOG.md

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-27 17:27:11 +00:00
pajlada
a9a985bde1
Only try to extract images if the image uploader is enabled (#4246)
* Only try to extract images if the image uploader is enabled

* Add changelog entry
2022-12-25 12:14:23 +00:00
pajlada
cce1fd58f2
Disable LTO by default (#4260) 2022-12-24 19:06:52 +00:00
pajlada
83dfb08aed
Enable LTO support for Chatterino builds (#4258)
This is disabled by default, and can be enabled by passing `-DCHATTERINO_LTO=On` to your cmake invocation.
2022-12-24 18:42:59 +01:00
pajlada
621134ffcb
Remove another implicit this-capture for C++20 migration (#4257)
* Fix another usage of an implicit this capture

* Add changelog entry
2022-12-24 15:23:07 +01:00
nerix
86e71c8bd9
Migrate to C++ 20 & switch to websocketpp develop branch (#4252)
* feat: c++ 20

* fix: c++ 20 deprecations

* fix(msvc): warnings

* chore: add changelog entry

* fix: formatting

* Update websocketpp to the `develop` branch

* Specify other template type in FlagsEnum != operator

* Remove the user of simple template ids in our websocketpp template class

Also standardizes the file a bit by using nested namespaces, using
pragma once

* fix: turn `MAGIC_MESSAGE_SUFFIX` into a `QString`

* hacky unhacky hacky const char hack

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-24 11:56:11 +00:00
pajlada
99e038ce5e
Remove protocol from organization domain (#4256)
* remove protocol from organization domain

* Add changelog entry

* update changelog entry

Co-authored-by: Sam Heybey <sam@heybey.org>
2022-12-24 12:25:05 +01:00
kornes
bc5a03af26
Fix tab direction change crash (#4248)
* Fix tab direction change crash

* changelog

* Update CHANGELOG.md

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-19 18:19:09 +01:00
nerix
ff54b4c8d2
feat: Add Setting to Hide Reply Context (#4224) 2022-12-07 21:02:54 +00:00
kornes
a16d148dfd
Fix selection clearing not working in Reply window (#4218)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-07 18:21:04 +00:00
kornes
36c8fffee2
feat: Automatically select newly added table rows (#4216)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-06 22:52:58 +00:00
Felanbird
783b05c103
Add docs link for streamlink --args (#4217) 2022-12-06 23:27:27 +01:00
kornes
b7888749fe
feat: Allow negation of search predicates (#4207)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
closes https://github.com/Chatterino/chatterino2/issues/3998
2022-12-04 11:34:13 +00:00
kornes
4fa214a38a
Prepopulate search window input with current text selection (#4178)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-12-03 18:14:15 +00:00
nerix
2aa8af47e7
Clear up Highlight sound settings (#4194)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Closes https://github.com/Chatterino/chatterino2/issues/1540
2022-12-03 17:01:49 +01:00
nerix
8d4ee72478
fix: Copy Shortcut Not Working In Reply Thread Popup (#4209) 2022-12-03 13:02:39 +00:00
kornes
db12693a27
Fix red text color persisting from message overflow highlight (#4204)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-03 11:10:11 +00:00
kornes
188782ddca
fix: prevent unnecessary layout saves (#4201)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-12-03 10:50:22 +00:00
kornes
edd4789bf7
perf: ignore WM_SHOWWINDOW hide event (#4198)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-03 11:20:31 +01:00
pajlada
a0f9310062
Release v2.4.0 (#4200)
* Update make-release.md documentation

* Update changelog

* Update `com.chatterino.chatterino.appdata.xml` version

* Update `Version.hpp`

* Lint make-release.md

* Lint again
2022-11-28 21:12:06 +01:00
nerix
22bd78e3b3
fix: iCCP - known incorrect sRGB profile (#4199)
When you start Chatterino, you get two warnings from libpng: libpng warning: iCCP: known incorrect sRGB profile.
This is because two resources shipped by Chatterino have this incorrect profile. This PR fixes that (essentially just convert file.png file.png).
2022-11-28 19:05:56 +01:00
kornes
cc661d5f42
Fix unnecessary clears of split input selection (#4197)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-27 19:39:53 +00:00
nerix
a16342fd82
perf: Speed Up Opening of Settings Dialog (#4193)
fix https://github.com/Chatterino/chatterino2/issues/1266
2022-11-27 20:15:22 +01:00
kornes
f2b35fb7dc
Fix white border appearing around maximized window (#4190)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
fixes https://github.com/Chatterino/chatterino2/issues/2205
2022-11-25 20:32:45 +00:00
mohad12211
fe2a9ccbff
fix neutral elements order in multiple lines (#4173)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-25 11:24:28 +01:00
kornes
330e0a99fa
Fix crash happening when QuickSwitcher is used with popout window (#4187)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-25 09:34:01 +00:00
kornes
b3e400a049
Fix low contrast of text in settings tooltip (#4188) 2022-11-25 10:01:07 +01:00
Leon Richardt
9d1b8b0a93
fix: don't parent popup windows on Windows OS (#4181)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
fix https://github.com/Chatterino/chatterino2/issues/3863
fix https://github.com/Chatterino/chatterino2/issues/4180
2022-11-22 01:15:08 +00:00
nerix
254f89f935
fix: don't ignore mousePressEvent in SplitInput (#4177)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Fixes https://github.com/Chatterino/chatterino2/issues/3844
2022-11-21 18:27:56 +00:00
Felanbird
518262596a
Fix issue with VIPs who have Asian Language display names (#4174)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-21 17:58:32 +00:00
fourtf
82797898c1 bump to 2.4.0-beta 2022-11-20 20:51:30 +01:00
Mm2PL
01de4d4b5d
Add support for Nicknames on IRC (#4170)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-20 16:28:29 +00:00
nerix
ba4422b082
fix: /watching channel jumping around (#4169)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-20 16:02:21 +00:00
nerix
82d345bc76
fix: Limiting the height of a message that contains some RTL text causes a crash (#4168)
Co-authored-by: mohad12211 <51754973+mohad12211@users.noreply.github.com>
Fixes https://github.com/Chatterino/chatterino2/issues/4166
2022-11-20 15:30:51 +00:00
pajlada
3924861a3d
Fix Linux CMake build for old installs (#4167) 2022-11-20 12:26:28 +01:00
nerix
9fba0bd4ab
fix: /ban messages for self/mod bans (#4164) 2022-11-19 13:34:07 +00:00
Edgar
9f5477c433
🔨 Automatically generate resources files with cmake (#4159)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Fixes https://github.com/Chatterino/chatterino2/issues/3949
2022-11-19 12:29:12 +01:00
Mm2PL
2f4272cc2a
Add better support for IRC private messages (#4158)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-18 19:11:56 +00:00
Mm2PL
8627d6c919
Add echo-message support for IRC (#4157)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-18 17:08:15 +01:00
Mm2PL
49eb5c90cf
Make builtin commands work in IRC channels (#4160)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-17 19:22:47 +00:00
Mm2PL
32d077c43b
Make cleanChannelName a NOOP for IRC (#4154)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-16 16:54:59 +00:00
pajlada
991cf6364d
Fix users being assigned duplicate FrankerFaceZ badges (#4156) 2022-11-16 10:02:54 +00:00
pajlada
011facc13a
Fix crashes that can occur when selecting/copying text (#4153) 2022-11-15 23:32:15 +00:00
Daniel Sage
90121ed756
Fix tab wrapping with vertical tab layout (#4152) 2022-11-15 08:45:10 +01:00
nerix
8031f33b53
fix: Mark Bad or Invalid Images as Empty (#4151) 2022-11-14 14:32:51 +01:00
Adam Davies
a9d3c00369
Add setting to prevent or highlight message overflow (#3418)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-13 11:47:46 +00:00
kornes
d409e3f17d
Improved text selection (#4127)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-13 11:26:33 +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
kornes
8fa89b4073
Fix context menu not opening when username is right clicked from usercard/search/reply window (#4122)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-12 18:10:21 +01:00
Patrick Geneva
3ed7489e0f
Add settings to increase split and usercard scrollback (#3811)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-12 15:53:42 +00:00
kornes
a8b4eaa431
Fix login dialog causing main window to be non movable (#4121)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
fixes https://github.com/Chatterino/chatterino2/issues/2378
2022-11-12 13:40:49 +00:00
kornes
2a9c15b2de
Fix triple click selection on message containing reply (#4131)
closes https://github.com/Chatterino/chatterino2/issues/4128
2022-11-12 12:44:03 +00:00
Patrick Geneva
06b28ea0ab
Add ability to pin Usercards to stay open even if it loses focus (#3884)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: James Upjohn <jammehcow@jammehcow.co.nz>
2022-11-12 12:21:43 +00:00
Salman Abuhaimed
070151fbc8
change unicode for better font support and fix some cases (#4139)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-12 08:30:44 +00:00
xel86
46cdb89498
Allow Commercial API endpoint to handle commercial lengths (#4141) 2022-11-12 00:17:50 +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
Mm2PL
3303cdc0cb
BaseTheme is no more 🦀 (#4132)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-10 09:07:50 +00:00
Daniel Sage
1741ac7482
Improve look of tabs when using a layout other than top (#3925) 2022-11-08 22:46:43 +01:00
Mm2PL
df4c294875
Allow hiding moderation actions in streamer mode (#3926)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-06 16:30:53 +00:00
Felanbird
ac7baf4073
Add is:reply search predicate (#4119)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-06 11:37:14 +00:00
Felanbird
1e6e18f53a
Add is:redemption search predicate (#4118) 2022-11-06 12:14:27 +01:00
Mm2PL
6f88c1cc8a
Make opening threads from a usercard opened with /usercard not crash the client (#3905)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-05 12:40:15 +00:00
pajlada
2ec26f57cc
Fix chatters recursion not working (#4114) 2022-11-05 11:56:17 +00:00
Colton Clemmer
e531161c7f
Migrate /mods command to helix API (#4103)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-05 11:20:12 +00:00
xel86
f00f766eeb
Migrate /commercial command to the Helix API (#4094)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-11-05 09:43:31 +00:00
pajlada
84a6e724fa
Revert "Fix Twitch-specific filters not being applied (#4107)" (#4111) 2022-11-04 21:32:11 +00:00
pajlada
05008214fa
Fix Twitch-specific filters not being applied (#4107) 2022-11-04 09:22:12 +01:00
pajlada
4196bba4ad
Fix recursive fetchChatters call (#4097) 2022-11-02 09:31:28 +00:00
Daniel Sage
7640677a43
Improve Appearance of Reply Curve (#4077) 2022-11-02 09:19:44 +01:00
Colton Clemmer
495f3ed4a9
Migrate /chatters commands to use Helix api (#4088)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-01 22:18:57 +00:00
yodax
d23d5c142e
Added stream titles to windows toast notifications (#2044)
Co-authored-by: 23rd <23rd@vivaldi.net>
Co-authored-by: David Myers <dave-myers@outlook.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-30 12:29:43 +00:00
Adam Davies
fa93d63383
Add settings tooltips (#3437)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-30 12:06:38 +00:00
pajlada
53ec66ff8e
Fix .desktop icon path (#4078) 2022-10-22 15:22:34 +00:00
xel86
76530d061c
Make reply thread subtext easier to click (#4067)
Co-authored-by: Daniel Sage <24928223+dnsge@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-22 10:46:20 +00:00
8thony
570746a8bd
Hide inline whispers in streamer mode (#4076)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-22 10:04:51 +00:00
nerix
457c5725da
fix: Invalid/Dangling completion after updating input (#4072) 2022-10-22 11:42:46 +02:00
Felanbird
dd6cb80ab9
Add searching & filtering for bits (#4069) 2022-10-18 20:26:12 +02:00
nerix
34b5fa661f
fix: missing global emotes in popup (#4062) 2022-10-16 12:29:28 +00:00
nerix
3e41b84ed7
feat: Add 7TV Emotes and Badges (#4002)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-16 11:22:17 +00:00
xel86
e8fd49aadb
Fix channel-based popups rewriting messages to file log (#4060)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-16 10:28:22 +00:00
Aiden
c71d3437f4
Migrate /uniquechat and /uniquechatoff to Helix API (#4057)
* Migrate /uniquechat and /uniquechatoff to Helix

* Update CHANGELOG.md

* Move & squash changelog entries

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-15 12:36:49 +02:00
pajlada
3e020b4891
Fix rare reply mention crash (#4055)
* Fix potential out-of-range access of at when stripping reply mention if
the message contained nothing other than the username

* Update changelog entry
2022-10-12 11:59:52 +02:00
James Upjohn
ceecc7ef91
chore: migrate /vips command to Helix call (#4053)
* feat(helix): create response model for VIP listing

* feat(helix): stub out channel/vips request + handler

* feat(helix): parse VIPs list from data and pass to callback

* feat(helix): handle errors when getting VIP list then pass to callback

* feat(command): add barebones handler for helix-based /vips

* feat(command): provide better /vips output when user is not broadcaster

* chore(format): bulk reformat with clang-format

* chore(changelog): add entry for /vips Helix migration

* fix(helix): use correct method when calling VIP list endpoint

* fix(helix): use correct VIP list endpoint

* chore(tidy): please clang-tidy by marking parameter as unused

* feat(command): display unsorted VIP list returned from Helix API

* feat(settings): clone raid timegate settings for /vips

* feat(command): check /vips timegate setting before execution

* feat(command): handle 0 VIPs from Helix response

* feat(command): sort users alphabetically from Helix VIPs response

* fix(command): highlight users in Helix /vips output to match IRC

* fix(command): replace dynamic /vips error message with hardcoded string

* chore(comment): remove TODO comment that was DONE

* chore(format): bulk reformat using clang-format

* fix(command): send 0 VIP message after creation

* chore: apply suggestions from Felanbird

* fix(helix): change mention of user ban to VIPs in VIP list error message

* feat(helix): distinguish non-broadcaster auth error when getting VIPs

* chore(command): move handling of non-broadcaster /vips usage to API response

* chore(format): re-indent multiline string to get away from 80 char limit

* reformat

* fix tests

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-10 12:56:55 +02:00
Mm2PL
e604a36777
Make menus and placeholders display appropriate custom key combos. (#4045)
* Add initial support for finding hotkey display key sequences

* Make neededArguments work

* Implement displaying key combos in SplitHeader main menu

* Make Settings search text dynamic

* Make tab hide notice use a custom hotkeys key sequence

* Make Notebook menus use custom hotkeys key combo lookup for hiding tabs

* shut up changelog ci

* Make NotebookTab menus show custom hotkeys. SCUFFED:
this does not update dynamically!

* Scuffed: Make the show prefs button setting show the key bind

* Scuffed: Make the R9K description refer to hotkeys

* @pajlada, is something like this ok?

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-09 17:20:44 +02:00
nerix
4e2da540d2
refactor: Remove Leading Mention in Replies and Highlight Participated Threads (#4047) 2022-10-08 16:25:32 +02:00
Marko
29272e130a
Migrate /unraid to Helix. (#4030)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-08 12:10:38 +00:00
nerix
974a8f11b7
Migrate /w to Helix API (#4052) 2022-10-08 13:11:55 +02:00
Felanbird
7f93885518
Remove trailing whitespace from Usernames in User Highlights (#4051) 2022-10-06 22:42:41 +00:00
nerix
874ef64216
Migrate /ban and /timeout to Helix API (#4049) 2022-10-06 23:52:25 +02:00
Felanbird
41581031b9
Add missing 403 handling for /unban (#4050) 2022-10-06 18:30:40 +00:00
nerix
d5b8d89494
fix: Double-space when using replies with an empty input box (#4041) 2022-10-03 18:05:42 +00:00
nerix
25bccc90b4
Migrate Remaining Chat Settings Commands to Helix API (#4040) 2022-10-03 19:42:02 +02:00
pajlada
4c2e97bea6
Enable Helix timegating (#4035)
For commands affected by the timegating, they will continue to use their IRC command equivalent until the 11th of February, 2023.
This is one week before the actual migration is supposed to start. The wording of the date is shaky, so we start a bit before to be sure.
Any highly affected commands will have a temporary setting at the bottom of the General settings page to override the timegating functionality.

Any commands that are affected will also have their changelog entry updated to notify of the timegating. As of this commit, this is only active for /raid
2022-10-02 21:53:22 +00:00
nerix
54129f76a3
Migrate /emoteonly and /emoteonlyoff commands to the Helix API (#4015)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-02 14:18:10 +00:00
Marko
f8f9903892
Migrate /raid to Helix. (#4029)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-02 15:27:55 +02:00
Felanbird
9816722b5e
Add showInMentions option for Badge Highlights (#4034)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-02 11:25:10 +00:00
nerix
ba586f01d0
fix: Display Sent IRC Messages Like Received Ones (#4027) 2022-10-01 15:36:22 +00:00
Aiden
a275a1793a
Migrate /unban and /untimeout to Helix API (#4026)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-01 15:10:06 +00:00
Aiden
adbc4690af
Migrate /unvip to Helix API (#4025)
Co-authored-by: iProdigy <iProdigy@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-01 14:00:45 +00:00
xel86
bfcc9ff7a4
Add search predicates for badges and sub tiers (#4013)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-01 12:30:29 +00:00
nerix
b5241670ae
fix: smoothScrollingNewMessages sometimes hiding messages (#4028)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-01 12:05:05 +00:00
pajlada
5e02fdab52
Fix usage of FrankerFaceZ global emote API (#3921)
We no longer blindly parse all sets as global emotes, but rather match them against the default_sets as intended.

This means that some emotes will no longer be visible through Chatterino (e.g. AndKnuckles). This is more in line with how the FrankerFaceZ browser extension works.
2022-10-01 11:42:05 +00:00
Felanbird
d024a1ef7e
Add is:elevated-msg search predicate (#4018)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-01 11:01:54 +00:00
Felanbird
9e722d05e9
Add flags.elevated_message filter variable (#4017) 2022-10-01 12:27:25 +02:00