Commit graph

931 commits

Author SHA1 Message Date
nerix
b975900043
refactor: Toast (#4899)
* Fixes a bug where avatars weren't loaded on fresh installations of Chatterino.
* Avatars now update every two weeks.
* Removes misleading `DownlaodManager` (now part of `Toasts.cpp`).
* Refactors usage of WinToast to be easier to read.
* Added version to AUMI.
* Removes manual `QString` → `std::wstring` conversions.
* Removes uses of implicit ASCII casts in `Toasts.cpp`, meaning it can be compiled with `QT_NO_CAST_FROM_ASCII`.
2023-10-17 01:50:18 +00:00
kornes
ccaedc3987
perf: reduce repaints amount caused by selection (#4889)
Co-authored-by: nerix <nero.9@hotmail.de>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-10-13 17:19:52 +00:00
Daniel Sage
b85d666b32
fix: Remove tab completion caching of source (#4893) 2023-10-13 09:43:16 +00:00
Daniel Sage
653a14c76b
fix: Don't use QCompleter prefix filter (#4855)
* Invalidate tab completion model when settings change

* Remove true culprit

* Update CHANGELOG.md

* Remove QCompleter setFilterMode call

---------

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-10-13 11:22:48 +02:00
pajlada
fec45889a8
Replace boost::optional with std::optional (#4877) 2023-10-08 16:50:48 +00:00
nerix
fe4d6121a2
Display all parsed elements when parsing emojis in replies (#4875) 2023-10-08 10:09:42 +00:00
nerix
4db93bf1da
Adjust DontFocus window flags on Windows and macOS (#4876) 2023-10-08 00:03:14 +02:00
pajlada
774eaa14ce
Fix emoji unified/non-qualified version for sending & parsing (#4840)
Co-authored-by: nerix <nerixdev@outlook.de>
2023-10-07 10:21:30 +00:00
kornes
ab4a0c054a
Update vcpkg to Qt6 (#4872)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-10-07 09:09:58 +00:00
nerix
752825793a
Ignore invisible widgets when hit testing (#4873)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-10-06 21:26:25 +00:00
Christian
5d5d265ae0
Add cmake flag to use system-provided miniaudio (#4867)
Example usage: `cmake -DUSE_SYSTEM_MINIAUDIO=ON ..`
2023-10-04 13:38:53 +00:00
pajlada
38a7ce6954
Fix qtkeychain include for Qt6 users (#4863) 2023-10-03 15:59:34 +00:00
Felanbird
131812b37b
Update changelog entry for 4854 (#4860) 2023-10-02 11:03:18 +00:00
Patrick Klein
5b17ae3f7e
Implement compile-time flag to disable automatic update checks. (#4854)
Usage: `cmake -DCHATTERINO_UPDATER=OFF ..`

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-10-02 11:43:20 +02:00
Daniel Sage
4bb196c644
fix: Fix username tab completion without @ (#4853) 2023-10-01 09:39:18 +00:00
pajlada
467e36767c
Update Nightly to 2.4.6 and get qt6-related-changes from 2.4.6 (#4856)
* Update Nightly to 2.4.6 and get qt6-related-changes from 2.4.6

* always enable precompiled headers on windows
2023-10-01 11:19:26 +02:00
nerix
2fc7fdd91a
Fix empty page added when showing OOB dialog (#4849) 2023-10-01 06:40:34 +00:00
GongBingWong
ad8f960a8e
Fix to interpret logger channel names as lowercase (#4848)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-10-01 05:56:03 +00:00
nerix
916427a612
Fix flickering when running with Direct2D (#4851) 2023-10-01 07:13:37 +02:00
Daniel Sage
4d8b62364d
fix: Commands now completable when not starting with / (#4846)
* Add commands to completable inputs when no prefix
2023-09-30 11:06:16 +00:00
nerix
bdd7d95092
Check VCRT and show installed/shipped version (#4847)
* feat: check VCRT and give more feedback

* chore: add changelog entry

* fix: use full product name
2023-09-30 12:22:39 +02:00
Daniel Sage
37009e8e6b
Consolidate input completion code in preparation for advanced completion strategies (#4639)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-09-24 12:17:17 +00:00
pajlada
06eb30a50a
fix: double margin (#4839)
order of the QMargins class differed from the old custom Margins class

Fixes #4838
2023-09-23 21:14:53 +00:00
nerix
6860c7007e
Fix selection rendering (#4830)
The rendering of selections was not aligned to the actual selection that took place for newlines at the end of messages, if they were the only part that was selected of that message.

In addition to that fix, we've already refactored the MessageLayoutContainer to try to make it a little bit more sane to work with in the future.

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-09-23 15:09:56 +00:00
Brian
c71e91200a
streamlink: trim custom paths (#4834)
this makes sure no spaces are accidentally left in the custom path

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-09-23 08:20:05 +00:00
pajlada
e6df652a4f
fix: QuickSwitcherPopup now pops up in the selected window (#4819) 2023-09-17 21:52:17 +00:00
nerix
3265df7661
Fixed too much text being copied when copying chat messages (#4812)
* fix: selection copying too much

* chore: add changelog entry

* Update changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-09-17 12:37:02 +00:00
nerix
dc62e8248b
Add (invisible) resize handle to frameless usercards and reply threads (#4795)
* feat: add resize handle to usercards&reply threads

* Add changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-09-17 11:27:20 +00:00
Mm2PL
d752ce86fd
Add WindowManager::getLastSelectedWindow() to replace getMainWindow() (#4816)
1. No longer can return a nullptr if no window was ever focused
  2. When closing a window, it will no longer return an invalid pointer
2023-09-16 20:53:44 +00:00
qooq69
38c994be49
Fixed Usercard Popup not floating on tiling WMs on Linux (#3511) 2023-09-16 22:15:01 +02:00
pajlada
8fe3af3522
Fix signal connection nodiscard warnings (#4818) 2023-09-16 11:52:51 +00:00
nerix
2d5f078306
Style account switcher to match the current theme (#4817) 2023-09-15 18:44:36 +02:00
nerix
337b043bc3
Fix input in reply thread popup losing focus when dragging (#4815) 2023-09-13 20:38:32 +00:00
pajlada
9ca2578c1e
Refactor Image & Image's Frames (#4773) 2023-09-13 19:26:45 +00:00
nerix
283ede86ad
Only layout visible ChannelViews (#4811) 2023-09-10 17:08:13 +02:00
Daniel Sage
1b9ee939bb
Select correct notebook tab after closing while filtered (#4770) 2023-09-10 10:38:59 +00:00
pajlada
813d96867b
Migrate to the new Get Channel Followers Helix endpoint, fixing follower count not showing up in usercards (#4809) 2023-09-09 12:51:45 +00:00
nerix
515c40f857
Use QFontMetrics::elidedText over manual implementation (#4807) 2023-09-09 12:09:25 +00:00
pajlada
d4558b5fe5
Fix all warnings from the cppcoreguidelines-pro-type-member-init clang-tidy check (#4426) 2023-09-09 11:11:19 +00:00
pajlada
877a4e05fa
Remove boost::noncopyable use & boost::random dependency (#4776)
The use has been removed from the following files:
* Atomic.hpp
* SignalVector.hpp
* Benchmark.hpp
* IvrApi
* LoggingChannel.hpp
* Singleton.hpp
* Image.hpp
* PrecompiledHeader.hpp
* Message.hpp
* MessageElement.hpp
* MessageLayout.hpp
* MessageLayoutElement.hpp
* Fonts.hpp (just include)
2023-09-09 10:23:20 +00:00
pajlada
ba440e0ccb
Fixed /shoutout command not working with usernames starting with @'s (e.g. /shoutout @forsen) (#4800) 2023-08-28 17:17:03 +00:00
pajlada
7cb04bf58b
Remove BaseSettings & merge ConcurrentSettings (#4775) 2023-08-28 17:51:28 +02:00
pajlada
4c942a2a42
Fix data race in PubSub (#4771) 2023-08-27 21:35:38 +00:00
pajlada
ac6708b3a2
Fix input completion tests on Qt6 & run tests on 22.04 (#4774)
* Tests: Fix InputCompletion tests in Qt6

This is achieved by not checking exact order for certain completion tests

* Tests: Use Ubuntu 22.04 for all tests

This allows us to be a bit more loose and use more C++20 features in
tests

* Update dockerfiles
2023-08-27 11:11:59 +00:00
nerix
72f0f49fbf
Set QT_ENABLE_HIGHDPI_SCALING to 0 on Qt 6 on Windows (#4767) 2023-08-27 10:32:09 +00:00
nerix
15bd72eed1
Encode modes file in UTF8 (#4791) 2023-08-27 11:45:16 +02:00
pajlada
05a72d335a
Release v2.4.5 (#4787)
* Update documentation for Ubuntu PPA & appdata.xml updates
2023-08-26 12:33:01 +02:00
Felanbird
381d5c4276
Change Elevated Messages to Hype Chats (#4766) 2023-08-14 17:19:20 +00:00
Felanbird
2d30ff62bf
Prepare changelog for v2.4.5 release (#4765) 2023-08-14 11:14:24 +02:00
nerix
e7281b033e
Show historic timeouts and bans in usercard (#4760)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-13 10:00:52 +00:00
Mm2PL
1e35391075
Hide AutoMod term management messages in Streamer Mode. (#4758)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-12 12:16:30 -04:00
pajlada
3e1e400e3e
Refactor recent messages API (#4763)
This exposes internal functions for testing by splitting the implementation & internal API into separate files
2023-08-12 11:34:59 +00:00
Mm2PL
ec0d77643f
Remove USEWEBENGINE (#4757)
This code has been sitting behind a define since 2018 (de3a490). I'm not opposed to this code coming back however in this state, it feels better to remove it.
2023-08-07 18:24:17 +00:00
Mm2PL
59160c5d04
Minor: Add missing hotkey Action for Open Player in Browser. (#4756) 2023-08-07 13:41:32 +00:00
Sam Heybey
69c983e0d9
Add support for opening links in incognito mode on Linux & BSD (#4745)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-06 15:57:01 +02:00
Mm2PL
168f346c81
Remove restriction on Go To Message on system messages from search (#4614)
* Remove restriction on go to message on system messages

Fixes #4608

* changelog

* Change the changelog entry from a bugfix to minor

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-05 16:36:49 +00:00
pajlada
1aedd4d668
Highlights loaded from message history will now correctly appear in the /mentions channel (#4752)
* added messages in mentions tab if correct predicate is met

* Update CHANGELOG.md

* Apply Felanbird's fix

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>

---------

Co-authored-by: 2547techno <technowizz2547@gmail.com>
Co-authored-by: 2547techno <109011672+2547techno@users.noreply.github.com>
Co-authored-by: Mm2PL <miau@mail.kotmisia.pl>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-08-05 14:23:40 +00:00
Mm2PL
e13df1f602
Split log line generation from message search text (#4742)
* Split log line generation from message search text

* changelog

* remove empty space at the beginning of usernames

* Move changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-05 13:09:56 +00:00
Mm2PL
5727db2029
Fixed subscriptions and announcements not being blockable (#4748)
* Check blocks for usernotices

* changelog

* cstd = {.name="C++20"}

* Update CHANGELOG.md

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-08-05 12:45:43 +00:00
nerix
accf91a48f
Build Windows Installer in CI (#4408)
* feat: build installer in CI

Co-authored-by: 8thony <114905842+8thony@users.noreply.github.com>

* fix: use inno-setup from PATH

* fix: only match `v*` tags

* fix: don't add to release

* fix: only run on master

---------

Co-authored-by: 8thony <114905842+8thony@users.noreply.github.com>
2023-08-05 12:27:09 +00:00
nerix
1438529e98
Sync channels with browser (#4741)
* feat: keep channels from browser tabs alive

* chore: add changelog entry

* fix: add comment

* fix: rename key

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-08-05 12:23:26 +00:00
pajlada
9e2eb0dd29
Fix tooltip & popup positioning (#4740)
* Fix tooltip & popup positioning

This tries to ensure the tooltip & popups are created on the correct
monitor

* Add changelog entry

* Clean up debug output

* Use the full frame geometry to figure out screen bound movements

* Remove the now-unused `setStayInScreenRect` function

* Change the UserInfoPopup offset to be based on its width & height
instead

* Remove more debug output
2023-08-05 11:22:37 +00:00
Mm2PL
b98be3b0f3
Fixed right-clicking mentions no longer working. (#4751)
* fix up rightclicking mentions

* changelog

* Merge changelog entries other PR was merged after 2.4.4
2023-08-05 11:17:34 +00:00
2547techno
6b7d12e410
Show channel point redemptions without messages in usercard. (#4557)
* set login name for channel point reward message

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Co-authored-by: Mm2PL <miau@mail.kotmisia.pl>
2023-08-04 10:28:52 +00:00
Mm2PL
89323ffa1f
Fixed tab completion rarely completing the wrong word. (#4735)
* Fixed tab completion rarely completing the wrong word.

Fixes: #3101

* Use QSignalBlocker instead of janky bool, add comment about hidden logic

* copypasteo
2023-07-31 21:34:53 +00:00
nerix
703847c9ba
Add subtitle to Hype Chats (#4715)
* feat: more hype chat

* Add `std::chrono::seconds` overload to formatTime

* Move & rename it to HypeChat + some other mini things

* Add changelog entry

* fix formattime test

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-30 16:54:42 +00:00
nerix
71594ad0d8
Remove getApp and getSettings calls from Message-Rendering (#4535)
* refactor: remove singletons from message rendering

* chore: add changelog entry

* Disable the `cppcoreguidelines-avoid-const-or-ref-data-members` clang-tidy check

* auto *app

* Selection is a struct, not a class

* Use ChannelView's `signalHolder_` instead of `channelConnections_`

* Remove `applySettings` step, instead just connect & set each setting individually

* rename & constify some context values

* Handle empty "last message color" setting value better (as it was
        originally in this pr before I removed that change :-)

* unrelated mini refactor cleanup

* let painSelection handle size_t instead of int

* Add some more comments to the MessageLayoutContext structs

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-30 12:52:39 +00:00
Brian
c496a68633
Fix: Incorrect tab focus in reply threads (#4739)
* Fix: Incorrect tab focus in reply threads
fixes #4737

* Append to changelog

---------

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-07-29 17:06:12 +00:00
Abhinav Neelam
9cb59f753f
focus message input when selecting emotes in emote popup (#4719)
* focus input when selecting emotes in emote popup

* changelog

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-07-29 13:16:19 +00:00
SputNikPlop
7079729591
fix: change viewer list to chatter list (#4732)
* fix: change viewer list to chatter list

* fix: enter changelog entry
2023-07-29 10:47:24 +00:00
nerix
33fa3e0a97
Use New 7TV Cosmetics System (#4512)
* feat(seventv): use new cosmetics system

* chore: add changelog entry

* fix: old `clang-format`

* fix: small suggestions pt1

* refactor: add 7tv api wrapper

* fix: small clang-tidy things

* fix: remove unused constants

* fix: old clangtidy

* refactor: rename

* fix: increase interval to 60s

* fix: newline

* fix: Twitch

* docs: add comment

* fix: remove v2 badges endpoint

* fix: deadlock

This is actually really sad.

* fix: remove api entry

* fix: old clang-format

* Sort functions in SeventvBadges.hpp/cpp

* Remove unused vector include

* Add comments to SeventvBadges.hpp functions

* Rename `addBadge` to `registerBadge`

* fix: cleanup eventloop

* ci(test): add timeout

---------

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-29 09:49:44 +00:00
nerix
9f8a1d8823
Add command to automatically reload your theme (#4718) 2023-07-23 12:13:21 +00:00
nerix
fca57696bb
Increase max number of blocked users loaded from 100 to 1,000 (#4721)
Also includes a little refactor of how the requests are made & how the blocked users are stored
2023-07-23 11:26:12 +00:00
pajlada
a440f0261a
Fix crash that could occur when closing a split before its display name was updated (#4731)
This fixes a crash that could occur when closing a split before the
display name had a chance to update

The reason I found this was because the LiveController change I made
updated display names more regularly

Additionally, we now make sure to not send duplicate `displayNameUpdated` signals
upon each request for channels with CJK characters in their display name

* Default-initialize the `actualDisplayName` with the user's login name to not send an initial display name update if the display name is the same casing as the login name
2023-07-23 10:11:57 +00:00
pajlada
5c8c05b1af
Recreate ma_device on failure (#4729) 2023-07-22 13:20:30 +00:00
Mm2PL
0e83367a2b
Force shortcuts to show in context menus on macOS (#4722)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-22 11:36:52 +00:00
Mm2PL
ae8b2adcdd
Add accelerators to the right click menu for messages (#4705) 2023-07-22 12:54:48 +02:00
pajlada
76527073cf
Ensure live status requests are always batched (#4713) 2023-07-02 13:52:15 +00:00
Mm2PL
f915eab1a2
Add "pin" action to usercards and reply threads (#4692) 2023-07-01 16:38:55 +00:00
nerix
22b290cb2d
Improve network error messages (#4704) 2023-07-01 12:59:59 +00:00
pajlada
d2f1516818
Fix crash that could occur if closing the usercard quickly after blocking (#4711)
* Specifically, this adds a caller to the network request, which makes the
success or failure callback not fire.
This has the unintended consequence of the block list not reloading if
the usercard is closed, but it's not a big concern.

* Add unrelated `-DUSE_ALTERNATE_LINKER` cmake option

From 0517d99b46/CMakeLists.txt (L87-L103)
2023-07-01 12:01:47 +00:00
Mm2PL
2f272b37ca
Allow for customizing the behavior of Right Clicking of usernames. (#4622)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-01 11:03:16 +00:00
nerix
44cc1e256e
Fix partially broken filters on Qt 6 (#4702) 2023-06-24 22:03:54 +02:00
nerix
b9934a4532
Refactor tests and benchmarks (#4700) 2023-06-24 15:03:27 +02:00
nerix
5d3e5d9312
Fix anonymous users being pinged by justinfan64537 (#4698)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-20 17:42:29 +00:00
pajlada
53b044c476
Fix changelog entries for two old PRs (#4691) 2023-06-18 13:21:38 +00:00
pajlada
af34bf6246
Fix streamer mode button being always visible on Windows (#4690)
Fixes #4682
2023-06-18 12:33:44 +00:00
Andrew Opalach
0e60ca10d0
Fix smooth scrolling when ChannelView is full (#4501)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-18 12:09:11 +00:00
nerix
4b40b9a310
Define Git and date constants in executables only (#4681) 2023-06-17 19:43:39 +02:00
nerix
aff9342647
Add option to subscribe to and pin reply threads (#4680)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-17 15:41:52 +00:00
nerix
a045d3ee81
Use sccache on Windows (#4678)
* build: support sccache and windows
2023-06-11 10:31:04 +00:00
Daniel Sage
4361790fbd
Add setting to only show tabs with live channels (#4358)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-11 11:34:28 +02:00
mohad12211
c907f2b170
Fix spacing issue with mentions inside RTL text (#4677)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-10 13:44:45 +00:00
nerix
839ba60fd8
Respect Theme in Input Completion & Quick Switcher (#4671) 2023-06-10 12:38:23 +00:00
nerix
65a14fb95b
Fix crash resulting from a mutex deadlock when switching users (#4675) 2023-06-10 11:40:30 +00:00
nerix
335dff53af
Don't add QLayouts to QWidgets that already have one (#4672) 2023-06-10 10:55:47 +00:00
nerix
f0c4eb7caa
Fix undefined behaviour when loading non-existant credentials (#4674)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-10 10:11:05 +00:00
nerix
f306e288b9
Prevent Generation of Crashdumps When the Browser Is Closed (#4667)
* fix: extension process generating crashdumps

* fix: move `getApp` call

* chore: remove distracting comments

* chore: add changelog entry
2023-06-04 12:21:16 +00:00
Arne
6681ed5bfb
Remove QObjectRef in favor of QPointer (#4666)
* replace usage of QObjectRef with QPointer

* delete QObjectRef class

* inlucde QPointer header

* Add changelog entry

* use isNull() instead of ! data()

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-04 11:24:04 +00:00
Wissididom
e803b6de95
Remove duplicate Fluent icons license (#4665) 2023-06-04 11:40:11 +02:00
chrrs
bf4148a370
Consider nicknames when searching for messages (#4663)
Co-authored-by: pajlada <rasmus.karlsson+github@pajlada.com>
2023-05-31 19:38:17 +00:00
Mm2PL
c7b22939d5
Improve editing of hotkeys (#4628)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-27 14:04:30 +00:00
Mm2PL
fb02d59b48
Add tools to help debug image GC (#4578)
`/debug-force-image-gc` will force garbage collection on all unused images
`/debug-force-image-unload` will force unload all images

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-27 12:18:08 +00:00
pajlada
5ca7d387e4
Expand upon test channels (#4655)
Available test channels:

- `$$$` - Fill up scrollback (1000 messages), then add a new message every 500ms
- `$$$:e` - Add a new message every 500ms
- `$$$$` - Fill up scrollback (1000 messages), then add a new message every 250ms
- `$$$$:e` - Add a new message every 250ms
- `$$$$$` - Fill up scrollback (1000 messages), then add a new message every 100ms
- `$$$$$:e` - Add a new message every 100ms
- `$$$$$$` - Fill up scrollback (1000 messages), then add a new message every 50ms
- `$$$$$$:e` - Add a new message every 50ms
- `$$$$$$$` - Fill up scrollback (1000 messages), then add a new message every 25ms
- `$$$$$$$:e` - Add a new message every 25ms
2023-05-27 13:33:01 +02:00
Mm2PL
c6c884df70
Add an indicator in the title bar if Streamer Mode is active (#4410) 2023-05-27 10:38:25 +00:00
nerix
bd4f6f3a1f
Configure CMake for clang-tidy separately (#4648)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-21 19:42:40 +02:00
Daniel Sage
51f2c4d1c0
Add input completion test suite (#4644)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-21 10:10:49 +00:00
olafyang
21d4b2cacc
add "/shoutout" command (#4638)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-20 16:32:06 +00:00
pajlada
5d0bdc195e
Add the ability to select custom themes in the settings dialog (#4570)
Themes are loaded from the Themes directory (under the Chatterino directory, so %APPDATA%/Chatterino2/Themes).

Themes are json files (see the built in themes as an example).

After importing a theme, you must restart Chatterino for it to show up in the settings
2023-05-19 12:26:51 +00:00
Mm2PL
82dff89f3b
Add 'joined channel' system message. (#4616) 2023-05-19 10:30:30 +00:00
nerix
347f216abf
Add Command to Set Logging/Filter Rules at Runtime (#4637)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-05-17 21:32:50 +00:00
pajlada
29a146278c
Release v2.4.4 (#4631) 2023-05-13 10:12:26 -04:00
Felanbird
8e87886ccc
Reduce the size of the update prompt (#4626)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-13 10:13:42 +00:00
Mm2PL
1d4c6d5a9e
Fixed crash when scrolling up really fast. (#4621) 2023-05-11 18:05:27 +02:00
Van Huynh
68f14d3425
Fix Ctrl+Backspace bug after Select All in chat search popup (#4536) 2023-05-07 21:10:22 +00:00
pajlada
caa0220ce6
Add a Send button that can be used to send messages (#4607)
This button is disabled by default, and can be enabled with the "Show send message button" setting.
2023-05-07 13:18:07 +00:00
nerix
280b6d934e
Parse Domains Starting With http (#4598)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-05-07 12:15:36 +00:00
nerix
91f4b86436
Antialias Click-Effects on Buttons (#4473)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-05-07 11:26:55 +00:00
nerix
4dd290e4e5
🛡 Add /shield and /shieldoff 🛡 (#4580)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-07 10:52:05 +00:00
pajlada
0eb33eca90
Update changelog for reality (#4603) 2023-05-06 12:13:03 +00:00
nerix
bcd8028132
Improve error messages when updater fails a download (#4594)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-02 21:22:04 +00:00
pajlada
f39d43faef
Fix link tooltips showing up blank instead of with text-only (#4597)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-05-02 20:33:01 +00:00
pajlada
9d71f9017f
Revert "Dim disabled items in context menus (#4423)" (#4596)
This reverts commit 642718474c.
2023-05-02 19:33:36 +00:00
pajlada
6672adf287
Fix the menu position on macOS when using Qt 6.5 (#4595) 2023-05-02 20:50:13 +02:00
pajlada
379cc5761c
Release v2.4.3 (#4584) 2023-05-01 14:48:24 +02:00
CycloneTM
967e686351
Reword some changelog entries (#4586) 2023-04-30 16:13:15 +00:00
nerix
642718474c
Dim disabled items in context menus (#4423) 2023-04-29 16:50:13 +00:00
CycloneTM
caaa0d91f6
Update macOS icon for Ventura styling (#4577)
or something, idk macos terms

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-29 17:45:08 +02:00
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