Commit graph

995 commits

Author SHA1 Message Date
pajlada 3563ecb3a5
fix: Compile Lua as a C library (#5251) 2024-03-16 14:15:05 +00:00
nerix 47c46b64ea
fix(channel-view): use underlyingChannel_ over channel_ (#5248) 2024-03-16 12:03:57 +00:00
Arne fc61e8d64d
feat: add /announce[color] commands (#5250) 2024-03-14 20:36:58 +01:00
pajlada e7508332ff
refactor: Fonts (#5228) 2024-03-10 13:27:08 +00:00
pajlada e56f7136a9
fix: truncate outgoing IRC messages to ensure we don't send more than 512 bytes (#5246) 2024-03-10 13:00:52 +00:00
pajlada a958619860
Hide chatter list button for non-moderators (#5245) 2024-03-10 11:46:26 +00:00
pajlada 9d02fa14ed
fix: Don't attempt to put the broadcaster username at the top (#5244) 2024-03-10 10:49:13 +00:00
Mm2PL 658fceddaa
Add plugin permissions and IO API (#5231) 2024-03-09 19:16:25 +00:00
pajlada 2361d30e4b
fix: compare settings before updating them (#5240) 2024-03-09 15:03:26 +00:00
pajlada 2e77b47ea1
fix: settings "Cancel" button doesn't work first time (#5229) 2024-03-09 11:29:25 +00:00
KleberPF c50791972d
Add highlight color and show in mentions to automod messages (#5215) 2024-03-09 11:03:36 +00:00
nerix ecad4b052a
fix(windows): show split tooltip before move (#5230) 2024-03-09 11:27:42 +01:00
nerix 26bb4e236d
fix(tooltips): hide image label by default (#5232) 2024-03-09 11:25:20 +01:00
Mm2PL 8cea86cf17
Fix rerun flag not being unset after stream finishes (#5237) 2024-03-09 11:22:23 +01:00
nerix 9151446c0e
fix(streamer-mode): check setting on startup (#5236) 2024-03-06 18:01:42 +00:00
pajlada 77cfd1393c
fix: the font switcher now remembers your previous font (#5224)
Fixes #2112
2024-03-03 12:41:32 +00:00
nerix 449c5397b7
fix: store IPC file in application directory (#5226) 2024-03-03 12:15:50 +00:00
nerix 3c13e0c6d2
chore: remove dead message element code (#5225) 2024-03-02 22:09:54 +01:00
nerix a041e13d21
chore: clean up and optimize resources (#5222) 2024-03-02 11:32:06 +00:00
pajlada 3928cc9578
fix: correctly load twitch badges in highlights page (#5223) 2024-03-02 11:05:12 +00:00
nerix c1fa51242f
refactor: turn StreamerMode into a singleton(-like thing) (#5216) 2024-03-01 21:12:02 +01:00
Ilya Zlobintsev 687b213394
Add launchable attribute to the Linux appdata file (#5210)
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-launchable
2024-02-26 20:58:39 +01:00
nerix 5f6261c0cf
feat: use 4x images on 7TV instead of 3x (#5209) 2024-02-26 19:38:30 +01:00
nerix 4315c43eac
fix: show correct scale factor of images (#5201) 2024-02-26 18:13:21 +01:00
nerix f285ada36c
Estimate size of images to avoid layout shifts (#5192) 2024-02-25 18:19:20 +01:00
nerix 0cfd25ce8e
feat: Send messages using Helix API (#5200) 2024-02-25 14:45:55 +01:00
Mm2PL a737d4b755
Introduce c2.later() function to Lua API. (#5154) 2024-02-25 11:45:59 +00:00
pajlada 101dc82ea0
feat: Show FrankerFaceZ channel badges (#5119) 2024-02-25 11:18:57 +00:00
pajlada 2815c7b67d
feat: Add a fallback theme to custom themes (#5198) 2024-02-24 15:14:49 +01:00
KleberPF 86111d59b6
Add option always include broadcaster in user completions (#5193) 2024-02-24 13:21:29 +00:00
hemirt 66910507dc
Fix incomplete traversal of clipboard data when an image is present resulting in Not an Image error (#5156) 2024-02-24 12:52:35 +00:00
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