Commit graph

1145 commits

Author SHA1 Message Date
nerix
fdecb4a39f
revert: use max(minimum, min(bottom, value)) over clamp(..) (#5393) 2024-05-13 20:00:50 +02:00
nerix
2ad45bc288
fix: don't use DPI aware functions on Qt 5 (Windows 7/8) (#5391) 2024-05-12 20:46:26 +00:00
pajlada
3d5acff907
fix: update color of usernames & boldness of usernames on the fly (#5300) 2024-05-12 12:37:47 +00:00
nerix
febcf464fe
Use Qt's High-DPI scaling on Windows (#4868) 2024-05-12 11:59:14 +00:00
nerix
8202cd0d99
refactor: cleanup and document Scrollbar (#5334)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: Daniel Sage <sagedanielr@gmail.com>
2024-05-12 10:52:58 +00:00
Mm2PL
c3b84cb4b6
Add custom image functionality for inline mod buttons. (#5369)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-05-11 10:54:27 +00:00
Mm2PL
321d881bfe
Release plugins alpha (#5288) 2024-05-06 15:03:17 +00:00
nerix
56fa973d7c
fix: prefer reporting error over status for 200 OK (#5378) 2024-05-05 19:37:22 +02:00
pajlada
401feac0aa
tests: better test initializing allowing for better printing (#5379)
Co-authored-by: Nerixyz <nerixdev@outlook.de>
2024-05-05 13:01:07 +00:00
pajlada
a88a2ac65c
build: add doxygen target (#5377)
Co-authored-by: Nerixyz <nerixdev@outlook.de>
2024-05-04 10:39:14 +00:00
pajlada
eafcb941f5
Release v2.5.1 (#5364) 2024-04-28 11:36:58 +02:00
nerix
dfa929e207
fix: use the full url when resolving (#5345) 2024-04-21 19:24:11 +00:00
pajlada
3aead09339
Release v2.5.0 (#5337) 2024-04-21 11:17:25 +02:00
pajlada
992ea88884
fix: Remove "Show chatter list" entry from split header menu for non-mods (#5336) 2024-04-20 11:14:23 +02:00
Maverick
7c97e6bcc7
Change order of query parameters of Twitch Player URLs. (#5326)
This ensures that it doesn't "fake redirect".

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-04-18 15:49:50 +00:00
nerix
86a27823a2
fix: don't change the topmost value of child windows (#5330) 2024-04-18 16:24:12 +02:00
nerix
b391f18177
fix: set maximum of scrollbar after filtering (#5329) 2024-04-17 17:08:47 +00:00
Mm2PL
7285f08a04
Fixed links having http:// added to the beginning in certain cases. (#5323) 2024-04-13 08:18:34 +00:00
pajlada
bf8266e9b3
fix: improve error messaging when pgrep fails streamer mode detection (#5321)
When launching pgrep times out, a timeout message is now posted instead of the default "pgrep is not installed" error.
2024-04-13 07:01:20 +00:00
pajlada
f4e950ea0b
Fix Wayland image upload crash if confirmation dialog is enabled (#5314) 2024-04-12 21:48:08 +00:00
nerix
1ca77a1e84
Add context menu entry to toggle offline tabs (#5318)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2024-04-12 23:05:47 +02:00
iProdigy
e6bf503594
feat: include duration in more multi month gifts (#5319)
* feat: include duration in more multi month gifts

* chore: update sample data

* chore: update changelog

* push more sample data events to my channel

* feat: use nicer display name for anon gifters

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2024-04-12 21:30:33 +02:00
nealxm
116e82dcc5
fix: the version string not showing up as expected in Finder on macOS (#5311) 2024-04-09 23:33:58 +00:00
nerix
dd62707d53
fix: hide tooltip on window leave event (#5309) 2024-04-09 14:25:08 +02:00
pajlada
25a69fd10e
Release v2.5.0-beta.1 (#5303) 2024-04-07 12:03:14 +02:00
nerix
2ea24c1a9d
fix: use deleteLater for network objects and order them (#5297) 2024-04-03 21:08:52 +02:00
nerix
8db0bb464d
fix: use login name when parsing highlights (#5295) 2024-04-02 19:59:59 +00:00
iProdigy
92e75784fc
feat: report duration for multi-month anon sub gifts (#5293) 2024-04-02 12:50:53 +02:00
pajlada
2a447d3c95
fix: use 3x scale factor for base size multiplier (#5291) 2024-04-01 20:51:12 +02:00
nerix
905aa4e923
refactor: About page (#5287) 2024-03-31 22:04:11 +00:00
nerix
b991b957f0
fix: missing rerender on clear (#5282) 2024-03-31 09:46:58 +00:00
nerix
c1bd5d11d0
refactor: improve LuaLS generator (#5283) 2024-03-30 22:11:52 +01:00
Mm2PL
d4b8feac7d
lua: Change CompletionRequested handler to use an event table. (#5280) 2024-03-30 14:23:02 +00:00
nerix
b35f10fa54
chore: require newline at EOF (#5278) 2024-03-30 13:50:58 +00:00
pajlada
2f534dc6da
fix: override broken base sizes & scales for some Twitch emotes (#5279) 2024-03-30 13:24:47 +00:00
Mm2PL
69bdac9936
Add reward.cost reward.id, reward.title filter variables (#5275) 2024-03-30 11:28:49 +00:00
nerix
09b2c53383
fix: rerender when unpausing (#5265) 2024-03-30 10:56:51 +00:00
nerix
84e641d589
ci: run clang-tidy with Qt 6 and update action (#5273) 2024-03-30 11:25:11 +01:00
nerix
9583a10b88
fix(helix-chat): show better error messages (#5276) 2024-03-30 11:24:09 +01:00
Maverick
b6d75fd867
feat: add more items in macOS menu bar (#5266)
Co-authored-by: pajlada <rasmus.karlsson+github@pajlada.com>
2024-03-29 19:50:43 +00:00
Felanbird
515a92d6f7
Prepare changelog for v2.5.0 release (#5264) 2024-03-27 17:59:57 +01:00
DatGuy1
fb6beb4aca
fix: add trailing space if deletion link included in image upload response (#5269)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-03-26 18:51:16 +00:00
Michał Partyka
2750c528af
fix: remove ":" from the message the user is replying to if it's a /me message (#5263) 2024-03-24 19:10:40 +01:00
iProdigy
ca69172479
fix: check broadcast binaries without case sensitivity (#5260) 2024-03-24 11:30:22 +01:00
nerix
ed20e71db4
refactor: adapt magic_enum to Qt (#5258) 2024-03-23 11:22:42 +00:00
nerix
044d457d20
fix: create NetworkManager statics in init() (#5254) 2024-03-23 10:56:42 +00:00
Felanbird
f21b9a2daf
Revert "Show line indicator instead of rectangle while dragging in tables" (#5255)
This reverts commit 0322d37650.
2024-03-18 00:07:53 +00:00
KleberPF
c10e364e06
Fix double click to select full words (#5243)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-03-17 13:43:55 +00:00
askepticaldreamer
46c5609736
feat: Warn for commands with duplicate triggers (#4322)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2024-03-17 11:46:58 +00:00
nerix
0322d37650
Show line indicator instead of rectangle while dragging in tables (#5252) 2024-03-17 11:21:15 +00:00
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
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
pajlada
e327ed4166
Update magic_enum from v0.9.3 to v0.9.5 (#4992)
* Fix include path for magic enum
* Update .clang-format to ensure magic enum is caught as a third party library
2023-12-01 15:03:04 +01:00
Mm2PL
6d02bb7304
Make emote completion a lot smarter (#4987) 2023-11-28 10:06:35 +00:00
pajlada
a240797b68
Add support for sound backends & some miniaudio changes (#4978)
Miniaudio now runs everything in a separate audio thread - this uses boost::asio's io_context.
Our miniaudio implementation is now also much simplified - it does not use its own resource manager or device. This might end up being stupid if sounds don't work after changing output device or locking or w/e
I've made the sound controller into an interface, meaning we can support multiple sound backends in Chatterino. I've added a Null sound backend that disables all sound. A QMediaPlayer or QSoundEffect or Qt backend could be added.
Miniaudio might idle & disable the device now too, not sure

I've added some unrelated changes in the form of a new setting type, and a new setting page helper function for it, which will hopefully make adding new enum settings easier in the future.
This setting stores its value as a string instead of an int, and uses magic_enum to convert between that string value and its enum value.
2023-11-26 22:06:12 +01:00
pajlada
1f09035bfb
refactor: common/Credentials (#4979)
Use full path in includes
Sort includes
Move anon namespace out of chatterino namespace
Use auto * where possible
Disable convert-member-function-to-static check for all member functions
Don't use else after return
Removed empty constructor
Replace use of `boost::variant` with `std::variant`

Co-authored-by: nerix <nerixdev@outlook.de>
2023-11-26 18:38:31 +00:00
pajlada
5b741a8eb6
refactor: Remove Emoji's EmojiMap with a vector (#4980) 2023-11-26 18:17:58 +00:00
nerix
e8673fc52a
fix: deadlock and use-after-free in tests (#4981)
* fix: use-after-free in settings

* refactor: put seventv api into a singleton

* chore: add changelog entry

* Add warning for when the 7TV load fails
2023-11-26 15:54:19 +00:00
nerix
854032fce9
fix: Only display spaces between words in reply context (#4977) 2023-11-26 11:15:35 +01:00
Mm2PL
fbc8aacabe
Refactored the Image Uploader feature. (#4971)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-11-19 11:05:30 +00:00
Wissididom
7898b97fc2
feat: Run tests on Windows & macOS in CI (#4970) 2023-11-18 15:13:27 +01:00
kornes
0bdcaae5d1
Fix: dont select mod buttons at triple click (#4961) 2023-11-18 11:39:10 +00:00
nerix
3d9db1d528
refactor: Ignores and Replacements (#4965)
Fixes a freeze from a bad regex in _Ignores_
Fixes some emotes not appearing when using _Ignores_
Fixes lookahead/-behind not working in _Ignores_
2023-11-17 17:39:45 +01:00
nerix
6faf63c5c4
refactor: Remove Outcome from network requests (#4959) 2023-11-12 14:51:51 +01:00
pajlada
95620e6e10
fix: Split input sometimes not accepting focus (#4958) 2023-11-11 10:58:20 +00:00
pajlada
244efaa0a9
fix: /banid and /ban id: performing duplicate bans (#4957) 2023-11-10 18:46:28 +00:00
pajlada
423829be43
feat: /unban and /untimeout by id (#4956) 2023-11-10 19:18:20 +01:00
kornes
c8e03b4ad7
Dont invalidate paint buffer when selecting (#4911) 2023-11-08 21:19:18 +00:00
pajlada
fcc5f4b3df
feat: Allow id: prefix in /ban and /timeout (#4945)
ban example: `/ban id:70948394`, equivalent to `/banid 70948394`
timeout example: `/timeout id:70948394 10 xd`
2023-11-08 21:42:06 +01:00
iProdigy
d40b0a6c1d
fix: avoid reward redemption crash via buffer refactor (#4949)
Co-authored-by: nerix <nero.9@hotmail.de>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-11-08 18:14:48 +01:00
Mm2PL
f943f70634
Add support for opening usercards by ID (#4934)
Co-authored-by: nerix <nerixdev@outlook.de>
2023-11-06 20:42:24 +01:00