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
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
Felanbird
89b915bad1
Mention filters in the note for features that nicknames don't work with ( #4826 )
2023-09-18 08:52:08 +02: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
nerix
f13a3b9685
Cleanup Windows helpers ( #4820 )
...
* fix: clipboard exception
* chore: cleanup windows helpers
2023-09-17 10:20:26 +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 ChannelView
s ( #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