Commit graph

964 commits

Author SHA1 Message Date
Mm2PL df2b5f94f4
Allow theming of tab live and rerun indicators (#5188) 2024-02-24 12:26:49 +00:00
nerix dd61482046
fix: tooltips showing out-of-bounds after loading images (#5186) 2024-02-24 11:52:16 +00:00
pajlada dcd6179434
fix: /openurl can now open urls with spaces, assuming the url allows it (#5197)
This allows for commands like `/openurl https://www.deepl.com/en/translator#auto/en/{1+}` that previously worked
2024-02-24 11:27:24 +00:00
Mm2PL ffa63f0dc9
Update chatterino.d.ts for the ChannelRef change (#5187)
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2024-02-18 21:35:40 +00:00
Mm2PL 4a4f62dc4a
Make Lua CommandContext use a ChannelRef (#5184) 2024-02-18 19:55:00 +00:00
nerix cd0387b064
fix: double ellipsis in reply (#5174) 2024-02-18 19:25:46 +01:00
Mm2PL 5c51ec8382
Live streams that are marked as reruns now mark a tab as yellow instead of red (#5176) 2024-02-18 16:22:53 +00:00
nerix 641cb26a76
Update emoji-data to v15.1.1 (#5182) 2024-02-18 13:11:25 +00:00
nerix e130c48f76
refactor: Turn link-info into its own element and class (#5178) 2024-02-18 12:34:00 +00:00
KleberPF 42e4559910
fix: "reply to message" now takes usernames with @'s & commas into consideration (#5173)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2024-02-17 13:25:14 +00:00
pajlada 32d269dffc
feat: add the ability to unit test some aspects of SplitInput (#5179) 2024-02-17 12:26:54 +00:00
KleberPF 4b48774cbb
fix: searching redemptions that require user input (#5177)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2024-02-17 11:49:06 +00:00
KleberPF 3cdb7bf4f6
fix: resolve /live channel liveness using their channel ID (#5172) 2024-02-17 11:22:49 +00:00
nerix 4a5d4ef3fa
fix: minimize button remaining hovered on Windows (#5175) 2024-02-14 14:49:31 +01:00
nerix 7a70d785a4
revert: uncomment NCCALCSIZE adjustment (#5166) 2024-02-10 13:29:52 +00:00
pajlada edcd0b8010
feat: build Ubuntu & AppImages in Docker + Qt static linking (#5151) 2024-02-10 12:47:15 +01:00
nerix 10aabd39e7
fix: avoid promoting child widgets to child windows (#5161) 2024-02-10 11:43:59 +00:00
pajlada f34a371576
chore: Use OpenSSL 3 by default in conan (#5159) 2024-02-10 11:40:58 +01:00
pajlada 6ad203f231
chore: Build with Qt6 by default on Windows (#5155)
Co-authored-by: nerix <nerixdev@outlook.de>
2024-02-05 10:59:41 +00:00
nerix af8eba0323
feat: add option to change the top-most status of a window (#5135)
* feat: add option to pin a popup

* chore: add changelog entry

* chore: change changelog entry
2024-02-04 12:33:37 +00:00
Mm2PL 8e9aa87a08
Add a new Channel API for experimental plugins feature (#5141) 2024-02-03 19:12:00 +01:00
pajlada 7fdb3841db
feat: Add "Copy message as JSON" option when shift-right-clicking a message (#5150) 2024-02-03 12:03:31 +00:00
pajlada 0393146187
feat: Allow /openurl to force use private/non-private mode (#5149)
Examples:
 - /openurl https://twitch.tv/forsen
   with the setting "Open links in incognito/private mode" enabled
   Opens https://twitch.tv/forsen in private mode
 - /openurl https://twitch.tv/forsen
   with the setting "Open links in incognito/private mode" disabled
   Opens https://twitch.tv/forsen in normal mode
 - /openurl https://twitch.tv/forsen --private
   with the setting "Open links in incognito/private mode" disabled
   Opens https://twitch.tv/forsen in private mode
 - /openurl https://twitch.tv/forsen --no-private
   with the setting "Open links in incognito/private mode" enabled
   Opens https://twitch.tv/forsen in normal mode
2024-02-03 11:39:05 +00:00
Manfred Stienstra a6c450f16b
chore: Include all requires sizes in macOS icon file. (#5148)
Thanks @cupppcakes for packaging the icons in different sizes!

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-02-03 10:08:51 +00:00
nerix f2eabacda1
fix: use neutral or username color for reply messages (#5145) 2024-02-03 10:25:16 +01:00
pajlada f960990492
fix: Benchmarks segfaulting/asserting on missing emotes (#5146)
This was caused by 5628605de4
2024-02-02 15:37:11 +00:00
pajlada ab7e6e0281
fix: Twitch global emotes not loading (#5144) 2024-02-02 14:28:27 +00:00
Ilya Zlobintsev f2210f7a3c
Add developer_name appdata field (#5138) 2024-01-30 19:42:50 +00:00
nerix 954e19817c
fix: more MSVC warnings (#5137) 2024-01-30 17:28:36 +01:00
nerix 36ef8fb99d
fix: support captures in ignores (#5126) 2024-01-27 15:46:11 +01:00
nerix c32ee8e5b5
feat: add system theme on Qt 6.5 and up (#5118)
* feat: add system theme on Qt 6.5

* chroe: add changelog entry

* refactor: add separate settings

* fix: qt 5

* Update changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-27 10:53:19 +00:00
Mm2PL 7d7f1b3bea
Add support for input.text in commands run with hotkeys (#5130) 2024-01-26 22:25:11 +00:00
nerix 5cd4c51f07
chore: specialize Atomic<std::shared_ptr<T>> (#5133) 2024-01-26 21:55:30 +01:00
nerix 7604d7ea4a
perf: add signal to invalidate buffers without doing layout (#5123) 2024-01-24 18:13:31 +01:00
pajlada 5628605de4
refactor: Move Emotes to Application (#5120) 2024-01-21 13:20:21 +00:00
nerix 075a7c5af0
Chatters from recent-messages are now tab-completable (#5116) 2024-01-21 10:57:14 +00:00
pajlada 84a61fdad2
refactor: remove ColorProvider::setColor (#5112)
We now either:
1) Rely on the setting updating the color
2) Use ColorProvider::color to set the underlying color
2024-01-20 14:51:13 +00:00
nerix 7951af6104
feat: add command line argument to select/add tab with a channel (#5111) 2024-01-20 12:20:40 +00:00
pajlada acee654bd2
fix: badge highlights not immediately updating color (#5110) 2024-01-20 11:56:09 +00:00
Mm2PL 36931fac62
Remove reference to lua import() (#5108) 2024-01-19 21:31:19 +00:00
nerix ba94e3879b
deps(conan): use boost in header-only mode (#5107) 2024-01-19 20:32:34 +00:00
pajlada 4380ef8c5f
refactor: Remove most raw accesses into Application (#5104) 2024-01-19 17:59:55 +01:00
pajlada 326a402710
refactor: Make ChatterinoBadges less of a singleton (#5103) 2024-01-19 17:25:52 +01:00
nerix 5bf1a5a7dd
fix: ignore channel name when copying message (#5106)
Fixes #5101
2024-01-19 13:11:25 +01:00
nerix 4f2ca3b174
fix: assert for GUI thread in getters instead of get(I)App (#5102) 2024-01-18 19:50:57 +00:00
pajlada 11838c8e16
refactor: Move TwitchBadges to Application (#5096)
* refactor: Move TwitchBadges to Application

* refactor: Use named initializers

* refactor: Use `empty()` instead of `size() > 0`

* refactor: use emplace instead of push into the callback queue
2024-01-17 23:53:10 +01:00
pajlada 7d5967c248
Use the same input padding between light & dark themes (#5095) 2024-01-17 20:34:01 +00:00
pajlada 718696db53
refactor: Un-singletonize Paths & Updates (#5092) 2024-01-16 20:56:43 +00:00
pajlada 7f935665f9
refactor: Remove the NullablePtr class (#5091) 2024-01-15 21:30:34 +00:00
pajlada 93e2bc18fa
refactor: move Network files from src/common/ to src/common/network/ (#5089) 2024-01-15 21:28:44 +01:00
nerix 292f9b9734
fix: ignore save requests after closing all windows (#5081) 2024-01-14 12:37:03 +00:00
pajlada 13ff11ea75
refactor: SplitOverlay (#5082) 2024-01-14 13:09:07 +01:00
nerix c4c62f2796
fix: restore focus of last split when restoring (#5080) 2024-01-14 12:06:52 +01:00
fraxx 06f950a55b
Improve Streamlink documentation (#5076)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-12 15:15:42 -05:00
nerix 5c9747e08f
fix: button hover state-change not visible in some cases (#5077) 2024-01-11 23:31:33 +01:00
nerix fa5648fd9a
refactor: NetworkPrivate (#5063)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-09 00:37:15 +01:00
nerix f42ae07408
dev: Add RecentMessages benchmark (#5071)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-07 12:15:36 +00:00
nerix 78a7ebb9f9
Improve color selection and display (#5057)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-06 20:52:29 +00:00
iProdigy 693d4f401d
feat: add badges, emotes, and filters for suspicious messages (#5060)
* feat: show chat badges on suspicious user messages

* feat: display emotes in suspicious user messages

* feat: add search filters for suspicious messages

* chore: update changelog

* refactor: resolve initial nits

* fix: finish adding new filter identifier

* Comment the new message flags

* Add a list of known issues to low trust update messages

* fix: Keep shared-pointerness of the channel

Without this change, we would have the possibility of using the
TwitchChannel after the Channel itself has gone out of scope, albeit not
realistically since we just post this to a thread and parse it - there's
no networking or big delays involved. but this shows the intent better

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-06 13:22:00 +00:00
pajlada 416806bb0a
refactor: Twitch PubSub client (#5059)
* Remove unused `setAccountData` function

* Move PubSub out of TwitchIrcServer and into Application

* Add changelog entry

* fix: assert feedback

* Add PubSub::unlistenPrefix as per review suggestion

* Fix tests

* quit pubsub on exit

might conflict with exit removal, so can be reverted but this shows it's possible

* Don't manually call stop on clients, it's called when the connection is closed

* nit: rename `mainThread` to `thread`

* Join in a thread!!!!!!!!
2024-01-06 13:18:37 +01:00
nerix e48d868e8c
fix: Avoid duplicate scale in settings dialog (#5069) 2024-01-06 11:28:06 +00:00
nerix 1192393039
fix: Avoid unnecessary NotebookTab updates (#5068)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-06 11:04:04 +00:00
fraxx 4a0ef08a00
Added missing periods at mod-related messages and some system messages (#5061)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-03 12:24:23 +01:00
pajlada 65b1ed312c
refactor: Logging (chat logger) (#5058)
It's no longer a singleton

It's now a unique_ptr that dies together with the Application

* Add getChatLogger to EmptyApplication

* unrelated change: Access Application::instance statically

* fix logging init order

* Add changelog entry
2023-12-31 12:51:40 +00:00
iProdigy 036a5f3f21
feat: show restricted chats and suspicious treatment updates (#5056)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-12-31 10:44:55 +00:00
Mm2PL 69a54d944d
Autogenerate docs/plugin-meta.lua (#5055) 2023-12-30 10:26:19 +00:00
nerix 9a2c27d258
Allow customization of whisper colors in settings (#5053) 2023-12-29 20:52:35 +00:00
nerix 60d79ef57e
Improve docs/supplemental files for plugins (#5047)
Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
2023-12-29 17:12:50 +00:00
pajlada d085ab578f
refactor: Make Args less of a singleton (#5041)
This means it's no longer a singleton, and its lifetime is bound to our application.
This felt like a good small experiment to see how its changes would look
if we did this.
As a shortcut, `getApp` that is already a mega singleton keeps a
reference to Args, this means places that are a bit more difficult to
inject into call `getApp()->getArgs()` just like other things are
accessed.
2023-12-29 15:40:31 +01:00
nerix c65ebd26bd
fix: non-native drag on Windows (#5051) 2023-12-29 15:10:56 +01:00
nerix d84779f127
fix: some buttons triggering when releasing mouse outside (#5052)
Examples of buttons fixed with this: Usercard profile picture & split header mod mode button
2023-12-29 14:20:07 +01:00
nerix d0d240136e
fix: Add check for tall messages (#5045) 2023-12-27 16:50:04 +01:00
nerix 9612eac966
perf: Only update regions with animated elements (#5043) 2023-12-27 01:12:14 +01:00
iProdigy eb12cfa50b
feat: add sound and flash alert for automod caught messages (#5026)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-25 23:17:44 +00:00
nerix 1006bf955a
perf: skip update from GIF timer if no animated elements are shown (#5042) 2023-12-25 19:04:46 +00:00
nerix 485fc5cdb4
fix: Tooltip parenting on Windows (#5040)
Fixes #5019
2023-12-25 17:17:25 +00:00
nerix 25add89b14
feat: Add crash recovery on Windows (#5012) 2023-12-24 15:38:58 +01:00
nerix d105a68dba
Allow ChannelViews without a Split (#4747) 2023-12-17 21:49:37 +01:00
pajlada 269e7a07b4
chore: Unify .clang-format file (#5037)
* chore: Unify all .clang-format files in the root dir

* Update `scripts/check-format.sh` to include all source dirs

* Add changelog entry
2023-12-17 13:50:42 +00:00
pajlada 0395b692e4
fix: ReplyThreadPopup now requires a split as its parent (#5036)
Co-authored-by: Nerixyz <nerixdev@outlook.de>
2023-12-17 13:16:40 +00:00
pajlada 5dd8c1c88a
dev: Rename tools directory to scripts (#5035) 2023-12-17 13:37:30 +01:00
pajlada aa11a24163
fix: UserInfoPopup now requires a split as its parent (#5034)
Co-authored-by: Nerixyz <nerixdev@outlook.de>
2023-12-17 11:53:06 +00:00
Wissididom d016a16269
Migrate tests on macOS to the same way tests are run on windows (#5032) 2023-12-17 11:32:40 +01:00
Herman Stornes b78b57b454
Fixes to ctrl+backspace behavior (#5013) 2023-12-16 13:40:05 +00:00
iProdigy e75ce5db54
fix: request more historical messages on wake (#5018) 2023-12-16 12:38:35 +00:00
Mm2PL 5f8c4c6b66
BREAKING: Replace custom import() with normal Lua require(). (#5014)
* Use require() instead of a custom import()

* Also search relative to the current file

* Update documentation
2023-12-16 12:16:54 +00:00
iProdigy bbf75516ed
fix: show user message on watch streak notice (#5029) 2023-12-16 11:48:32 +00:00
nerix 66f4480371
fix: Fixed some compiler warnings (#5028)
* fix(C4101): unreferenced local variable

* fix(C4189): variable initialized but not referenced

* fix(C4305): narrowing from double to float

* fix(C4457): declaration hiding function parameter

* fix(C4456): shadowing declaration

* fix(C4996): remove deprecations

* chore: add changelog entry

* fix: Remove more unused variables

* fix: removed unused lambda captures

* Update changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-16 11:24:28 +00:00
Mm2PL fd4cac2c2c
Add a new completion API for experimental plugins feature. (#5000)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-10 13:41:05 +00:00
pajlada e4258160cd
Fixed "Yes, don't ask again" image uploader prompt not working on macOS (#5011) 2023-12-10 13:28:31 +01:00
iProdigy 13dc306506
perf: query fewer historical messages on reconnects (#5001)
Co-authored-by: Ruben Anders <ruben.anders@robotty.de>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-12-09 19:46:30 +01:00
Mm2PL 401e097d62
Hide the Usercard button in the User Info Popup in special channels (#4972) 2023-12-09 12:21:00 +00:00
smc fec8f8c49f
Fix missing parent of tooltips for Wayland (#4998)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-09 11:28:33 +00:00
Ilya Zlobintsev 3ad2e4b30a
Update flatpak nightly build link (#5008)
The `nightly` branch of Chatterino on Flathub will no longer be updated due to changes in Flathub rules. Nightly builds will instead be published in the `flathub-beta` repository. The `.flatpakref` file has been updated to point to the new location.

See also: https://github.com/flathub/flathub/issues/4767
2023-12-09 09:47:26 +01:00
pajlada 036c4f33df
conan: Update Boost to 1.83 & OpenSSL to 3.2.0 (#5007) 2023-12-09 00:23:35 +01:00
Mm2PL c3d3903b6f
feat: add --safe-mode command line option (#4985)
This ensures the settings button isn't hidden, and disables plugins from being loaded to make sure the user can always recover from messing things up
2023-12-05 17:37:42 +00:00
iProdigy 44abe6b487
feat: add channel for messages caught by AutoMod (#4986)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-03 22:07:30 +00:00
nerix 812186dc4c
Return correct hit-test values for title bar buttons on Windows (#4994)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-03 13:41:33 +00:00
pajlada 584a7c86fc
Move clang-tidy to its own CI job (#4996)
* Only run the `post-clang-tidy-review` if the `clang-tidy` build succeeded
2023-12-02 13:04:43 +00:00
nerix c4c94473ae
Do bounds-checking on more windows (#4797)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-12-02 12:56:03 +01:00