nerix
e130c48f76
refactor: Turn link-info into its own element and class ( #5178 )
2024-02-18 12:34:00 +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
Mm2PL
8e9aa87a08
Add a new Channel API for experimental plugins feature ( #5141 )
2024-02-03 19:12:00 +01:00
nerix
f2eabacda1
fix: use neutral or username color for reply messages ( #5145 )
2024-02-03 10:25:16 +01:00
pajlada
ab7e6e0281
fix: Twitch global emotes not loading ( #5144 )
2024-02-02 14:28:27 +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
pajlada
5628605de4
refactor: Move Emotes to Application ( #5120 )
2024-01-21 13:20:21 +00:00
pajlada
65d3e73c5d
refactor: mini reorganization of FfzEmotes.cpp ( #5117 )
2024-01-21 11:28:20 +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
pajlada
97702e0a1f
refactor: make Application::emotes private ( #5109 )
2024-01-20 10:49:32 +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
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
9eeea8f203
refactor: Fix a bunch of minor things ( #5094 )
2024-01-17 21:05:44 +01:00
pajlada
718696db53
refactor: Un-singletonize Paths & Updates ( #5092 )
2024-01-16 20:56:43 +00:00
pajlada
93e2bc18fa
refactor: move Network files from src/common/ to src/common/network/ ( #5089 )
2024-01-15 21:28:44 +01:00
pajlada
5b6675abb4
refactor: fix clang-tidy auto*, const&, and curly braces ( #5083 )
2024-01-14 17:54:52 +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
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
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
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
25add89b14
feat: Add crash recovery on Windows ( #5012 )
2023-12-24 15:38:58 +01:00
iProdigy
e75ce5db54
fix: request more historical messages on wake ( #5018 )
2023-12-16 12:38:35 +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
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
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
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
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
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
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
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
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
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
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
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
pajlada
9f23c8562a
Test filters context map & message builder ( #4886 )
2023-10-13 15:41:23 +00:00
pajlada
fec45889a8
Replace boost::optional with std::optional ( #4877 )
2023-10-08 16:50:48 +00: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
pajlada
8fe3af3522
Fix signal connection nodiscard warnings ( #4818 )
2023-09-16 11:52:51 +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
pajlada
d4558b5fe5
Fix all warnings from the cppcoreguidelines-pro-type-member-init clang-tidy check ( #4426 )
2023-09-09 11:11:19 +00:00
pajlada
877a4e05fa
Remove boost::noncopyable use & boost::random dependency ( #4776 )
...
The use has been removed from the following files:
* Atomic.hpp
* SignalVector.hpp
* Benchmark.hpp
* IvrApi
* LoggingChannel.hpp
* Singleton.hpp
* Image.hpp
* PrecompiledHeader.hpp
* Message.hpp
* MessageElement.hpp
* MessageLayout.hpp
* MessageLayoutElement.hpp
* Fonts.hpp (just include)
2023-09-09 10:23:20 +00:00
pajlada
7cb04bf58b
Remove BaseSettings & merge ConcurrentSettings ( #4775 )
2023-08-28 17:51:28 +02:00
pajlada
4c942a2a42
Fix data race in PubSub ( #4771 )
2023-08-27 21:35:38 +00:00
pajlada
3f7671000a
Fix memory leaks & data races in tests ( #4772 )
...
* Add a few pre-made sanitizer suppressions
* Test Sanitization: Fix threading issues
* Test Sanitization: Allow deletion of PubSub
We still don't delete it in main code, but this allows us to try
deleting it in tests.
* Test Sanitization: Fix some memory leaks
* fix gtest clang-tidy warning
* const emojis test :-)
2023-08-27 12:07:46 +00:00
Felanbird
b77653761e
Remove comment for incorrect Twitch response ( #4781 )
2023-08-21 22:34:12 +00:00
nerix
e7281b033e
Show historic timeouts and bans in usercard ( #4760 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-13 10:00:52 +00:00
Mm2PL
1e35391075
Hide AutoMod term management messages in Streamer Mode. ( #4758 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-12 12:16:30 -04:00
pajlada
3e1e400e3e
Refactor recent messages API ( #4763 )
...
This exposes internal functions for testing by splitting the implementation & internal API into separate files
2023-08-12 11:34:59 +00:00
pajlada
1aedd4d668
Highlights loaded from message history will now correctly appear in the /mentions channel ( #4752 )
...
* added messages in mentions tab if correct predicate is met
* Update CHANGELOG.md
* Apply Felanbird's fix
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
---------
Co-authored-by: 2547techno <technowizz2547@gmail.com>
Co-authored-by: 2547techno <109011672+2547techno@users.noreply.github.com>
Co-authored-by: Mm2PL <miau@mail.kotmisia.pl>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-08-05 14:23:40 +00:00
Mm2PL
5727db2029
Fixed subscriptions and announcements not being blockable ( #4748 )
...
* Check blocks for usernotices
* changelog
* cstd = {.name="C++20"}
* Update CHANGELOG.md
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
---------
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-08-05 12:45:43 +00:00
2547techno
6b7d12e410
Show channel point redemptions without messages in usercard. ( #4557 )
...
* set login name for channel point reward message
* Update CHANGELOG.md
* Update CHANGELOG.md
---------
Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Co-authored-by: Mm2PL <miau@mail.kotmisia.pl>
2023-08-04 10:28:52 +00:00
nerix
703847c9ba
Add subtitle to Hype Chats ( #4715 )
...
* feat: more hype chat
* Add `std::chrono::seconds` overload to formatTime
* Move & rename it to HypeChat + some other mini things
* Add changelog entry
* fix formattime test
---------
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-30 16:54:42 +00:00
nerix
33fa3e0a97
Use New 7TV Cosmetics System ( #4512 )
...
* feat(seventv): use new cosmetics system
* chore: add changelog entry
* fix: old `clang-format`
* fix: small suggestions pt1
* refactor: add 7tv api wrapper
* fix: small clang-tidy things
* fix: remove unused constants
* fix: old clangtidy
* refactor: rename
* fix: increase interval to 60s
* fix: newline
* fix: Twitch
* docs: add comment
* fix: remove v2 badges endpoint
* fix: deadlock
This is actually really sad.
* fix: remove api entry
* fix: old clang-format
* Sort functions in SeventvBadges.hpp/cpp
* Remove unused vector include
* Add comments to SeventvBadges.hpp functions
* Rename `addBadge` to `registerBadge`
* fix: cleanup eventloop
* ci(test): add timeout
---------
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-29 09:49:44 +00:00
nerix
fca57696bb
Increase max number of blocked users loaded from 100 to 1,000 ( #4721 )
...
Also includes a little refactor of how the requests are made & how the blocked users are stored
2023-07-23 11:26:12 +00:00
pajlada
a440f0261a
Fix crash that could occur when closing a split before its display name was updated ( #4731 )
...
This fixes a crash that could occur when closing a split before the
display name had a chance to update
The reason I found this was because the LiveController change I made
updated display names more regularly
Additionally, we now make sure to not send duplicate `displayNameUpdated` signals
upon each request for channels with CJK characters in their display name
* Default-initialize the `actualDisplayName` with the user's login name to not send an initial display name update if the display name is the same casing as the login name
2023-07-23 10:11:57 +00:00
pajlada
76527073cf
Ensure live status requests are always batched ( #4713 )
2023-07-02 13:52:15 +00:00
nerix
22b290cb2d
Improve network error messages ( #4704 )
2023-07-01 12:59:59 +00:00
pajlada
d2f1516818
Fix crash that could occur if closing the usercard quickly after blocking ( #4711 )
...
* Specifically, this adds a caller to the network request, which makes the
success or failure callback not fire.
This has the unintended consequence of the block list not reloading if
the usercard is closed, but it's not a big concern.
* Add unrelated `-DUSE_ALTERNATE_LINKER` cmake option
From 0517d99b46/CMakeLists.txt (L87-L103)
2023-07-01 12:01:47 +00:00
nerix
4b40b9a310
Define Git and date constants in executables only ( #4681 )
2023-06-17 19:43:39 +02:00
nerix
aff9342647
Add option to subscribe to and pin reply threads ( #4680 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-17 15:41:52 +00:00
dependabot[bot]
36bc8e0520
Bump lib/crashpad from ec99257
to 432ff49
( #4688 )
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: nerix <nerixdev@outlook.de>
2023-06-16 20:11:01 +02:00
Arne
6681ed5bfb
Remove QObjectRef in favor of QPointer ( #4666 )
...
* replace usage of QObjectRef with QPointer
* delete QObjectRef class
* inlucde QPointer header
* Add changelog entry
* use isNull() instead of ! data()
---------
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-04 11:24:04 +00:00
chrrs
bf4148a370
Consider nicknames when searching for messages ( #4663 )
...
Co-authored-by: pajlada <rasmus.karlsson+github@pajlada.com>
2023-05-31 19:38:17 +00:00
pajlada
5ca7d387e4
Expand upon test channels ( #4655 )
...
Available test channels:
- `$$$` - Fill up scrollback (1000 messages), then add a new message every 500ms
- `$$$:e` - Add a new message every 500ms
- `$$$$` - Fill up scrollback (1000 messages), then add a new message every 250ms
- `$$$$:e` - Add a new message every 250ms
- `$$$$$` - Fill up scrollback (1000 messages), then add a new message every 100ms
- `$$$$$:e` - Add a new message every 100ms
- `$$$$$$` - Fill up scrollback (1000 messages), then add a new message every 50ms
- `$$$$$$:e` - Add a new message every 50ms
- `$$$$$$$` - Fill up scrollback (1000 messages), then add a new message every 25ms
- `$$$$$$$:e` - Add a new message every 25ms
2023-05-27 13:33:01 +02:00
Daniel Sage
51f2c4d1c0
Add input completion test suite ( #4644 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-21 10:10:49 +00:00
olafyang
21d4b2cacc
add "/shoutout" command ( #4638 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-20 16:32:06 +00:00
Mm2PL
82dff89f3b
Add 'joined channel' system message. ( #4616 )
2023-05-19 10:30:30 +00:00
nerix
ce47d27d41
Refactor/Cleanup NetworkRequest and Related Code ( #4633 )
...
Cleanup unused code (Twitch v5)
Add json methods that simplify sending JSON. This also sets the Accepts header, since here, when JSON is sent, only JSON is accepted as a response (this is only done in Helix).
Clarify helix request creations
Cleaned some clang-tidy suggestions in Network{Request,Private}
2023-05-16 17:28:20 +02:00
pajlada
4fa2cc26c9
Document our pubsub usage & eventual eventsub usage ( #4630 )
...
* pubsub <-> eventsub documentation & clarification
* Update Get Chatters documentation
2023-05-14 08:55:48 +00:00
pajlada
eed2cfff5b
Clean up CI jobs ( #4606 )
...
Remove PCH as an option - it's now always disabled for all jobs
Disable LTO in the Windows build
Merge the Ubuntu Qt 6.2.4 & Ubuntu plugin build
Only upload a single macOS job into the nightly release, and clearly mark it as a macOS 10.15 build.
2023-05-08 14:08:43 +02:00
pajlada
caa0220ce6
Add a Send button that can be used to send messages ( #4607 )
...
This button is disabled by default, and can be enabled with the "Show send message button" setting.
2023-05-07 13:18:07 +00:00
nerix
4dd290e4e5
🛡 Add /shield
and /shieldoff
🛡 ( #4580 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-07 10:52:05 +00:00
nerix
95e7426283
Remove Redundant Parsing of Links ( #4507 )
...
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-22 22:58:37 +00:00
Zonian
d6ef48d4ef
Migrate Twitch badges to Helix ( #4537 )
...
Co-authored-by: iProdigy <8106344+iProdigy@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-16 09:58:45 +00:00
2547techno
52a6f259cf
Fix: check reply-parent-user-id for blocked user ( #4502 )
2023-04-13 16:13:49 +00:00
nerix
610394d696
Fix Twitch-Specific Filters Not Being Applied ( #4529 )
...
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-10 10:08:15 +00:00
pajlada
c8e1741e47
Remove CHATTERINO_TEST definition ( #4526 )
2023-04-09 12:18:56 +02:00
pajlada
d8df716fc2
Fix memory leak when using the Recent Messages API ( #4499 )
2023-04-01 11:57:48 +00:00
pajlada
130b23edaf
Add a local backup of the Twitch Badges API ( #4463 )
2023-03-19 11:28:28 +00:00
nerix
a777a227d4
Allow each layered image to retain its own flags ( #4460 )
...
This fixes an issue where context-menu items for zero-width emotes displayed the wrong provider.
2023-03-19 11:26:30 +01:00
Daniel Sage
0acbc0d2c3
Formalize zero-width emote implementation ( #4314 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-18 12:30:08 -04:00
nerix
db97a14cdc
Ignore BTTV user-events ( #4438 )
...
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-03-18 11:47:38 +00:00
nerix
d7206a2203
Support Animated FFZ Emotes and Authors for Global Emotes ( #4434 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-18 11:22:40 +00:00
Daniel Sage
b9e87dcd2b
Fix Handling of FFZ CDN URLs with https already appended ( #4432 )
2023-03-05 00:34:36 +00:00
nerix
a75feba4ca
Use unique_lock
when loading 7TV badges ( #4402 )
...
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-02-22 12:01:47 +00:00