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
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 ChannelView
s 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
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
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
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
0fd4e8ffd6
fix: typo in debug log for hotkeys ( #4997 )
2023-12-02 12:35:55 +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
1a685d7bd0
Finish renaming Viewer list to Chatter list ( #4974 )
2023-11-20 17:59:04 +00: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
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
Mm2PL
d9cdc88061
Remove unused parseMessage function ( #4968 )
2023-11-17 14:46:35 +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
pajlada
f89642ec66
refactor: Move all commands to their own files ( #4946 )
2023-11-08 18:57:09 +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
iProdigy
5209e47df1
Improve reply popup after thread update ( #4923 )
...
Co-authored-by: nerix <nero.9@hotmail.de>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-11-05 16:25:26 +00:00
iProdigy
9dd83b040b
feat: /reply
command now replies to the latest message of the user ( #4919 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-11-05 16:30:15 +01:00
pajlada
1d6c9ed279
feat: forward logging from miniaudio ( #4836 )
...
These logs are posted to the `chatterino.sound` category
miniaudio debug -> debug
miniaudio info -> debug
miniaudio warning -> warning
miniaudio error -> warning
2023-11-05 10:51:57 +00:00
nerix
7d145e3577
Disable clickable sections in tables ( #4913 )
2023-11-04 18:42:13 +00:00
nerix
5325c7b826
Fix tooltips appearing too large and/or away from the cursor ( #4920 )
2023-11-04 18:13:34 +00:00
Alex Baines
879a63e6f3
Support using follower emotes outside of channel if subbed ( #4922 )
...
If we also have a subscriber emote set for a channel, then don't treat
a follower emote set as local to that channel.
Co-authored-by: iProdigy <8106344+iProdigy@users.noreply.github.com>
2023-11-04 17:45:18 +00:00
pajlada
e4c46355be
refactor: move ban/banid/timeout to their own file ( #4938 )
2023-11-04 16:26:58 +00:00
pajlada
f8b239899a
refactor: KeyboardSettingsPage ( #4937 )
2023-11-04 10:56:31 +00:00
kornes
b3ed3285ee
feat: Add VERSIONINFO resource for windows ( #4912 )
2023-11-03 18:19:50 +01:00
pajlada
4e63a1b6ec
refactor: Message ( #4915 )
...
* Helix: Remove static from anon namespace
* Message: Remove empty anon namespace
* Message: Remove else after return
* Message: Avoid repeating type in return
* Message: Remove ScrollbarHighlight alias
* Message: Remove unused includes
* AttachedWindow: Remove unused include
2023-11-02 14:48:12 +00:00
Mm2PL
03b32bffc8
Bugfix: Fixed a crash when clicking More messages below
button in a usercard and closing it quickly. ( #4933 )
2023-11-02 12:12:52 +00:00
pajlada
56346874e1
ci: Use clang-format 16 ( #4929 )
2023-10-31 17:24:47 +00:00
pajlada
f4726ed7a8
refactor: IrcMessageHandler ( #4927 )
2023-10-31 17:47:56 +01:00
pajlada
7efe58cca9
refactor: ChannelView ( #4926 )
...
Co-authored-by: nerix <nerixdev@outlook.de>
2023-10-31 14:54:14 +01:00
pajlada
25c776cfff
refactor: FilterParser ( #4925 )
...
* Make explainIllType anonymous/static
* Comment constructor
2023-10-29 20:14:49 +00:00
nerix
c811e2d991
refactor: Change lifetime of context menus ( #4924 )
2023-10-29 19:24:38 +00:00
nerix
7ecbfa0cdb
refactor: debug count and popup ( #4921 )
...
* Moved implementation of the methods to the `cpp` file.
* Added `DebugCount::Flag(s)` and `DebugCount::configure(name, flags)`.
* Moved from `QMap` to `std::map` (order is important here).
* Used `QStringBuilder` for concatenations.
* Used `QLocale` for formatting (adds separators).
* Added `DebugCount::Flag::DataSize` for data sizes in bytes (and fixed language to English).
* Used `DataSize` for image sizes (maybe this should be moved somewhere else?).
* Added copy button to popup.
* Fixed Image usage reporting being eight times too large (could be another PR, but honestly it's four characters).
2023-10-28 21:17:32 +02:00
pajlada
5c0219c245
refactor: Use override instead of virtual where possible ( #4917 )
2023-10-25 18:13:48 +02:00
nerix
fcb6eff8cc
Remove direct dependency on Qt 5 compatibility module ( #4906 )
2023-10-23 21:28:02 +02:00
kornes
12808d3154
refactor: simplify double click selection ( #4898 )
2023-10-17 13:38:38 +02:00
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
pajlada
ab3b2d8515
Add some more filter tests ( #4897 )
...
This changes the `make coverage` function to use `gcovr` instead of `lcov`, and to have it generate an html file directly at `coverage/index.html` under the build directory
The only thing this changes, other than adding tests, is making the `Expression` class pure virtual. Every derived class should implement each of the functions
2023-10-14 10:41:10 +02: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
dependabot[bot]
cbc2d3d683
Bump lib/WinToast from 5e441fd
to 821c481
( #4894 )
...
This also changes the build method from a custom FindPackage solution to using their cmake file
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: nerix <nero.9@hotmail.de>
2023-10-13 18:49:12 +02:00
pajlada
9f23c8562a
Test filters context map & message builder ( #4886 )
2023-10-13 15:41:23 +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
kornes
7c8cabaa42
Fix websocketpp depending on boost::random ( #4869 )
...
Co-authored-by: nerix <nero.9@hotmail.de>
2023-10-05 10:11:28 +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
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
783c7530f3
Allow any window to be bounds-checked ( #4802 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-09-24 13:32:43 +00: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