Commit Graph

132 Commits

Author SHA1 Message Date
pajlada 175afa8b16 refactor: make a single MessageBuilder (#5548) 2024-08-24 10:18:27 +00:00
pajlada 66c3bc2112 feat: add FlagsEnum::isEmpty for checking if a FlagsEnum is empty (#5550) 2024-08-18 12:22:41 +02:00
pajlada 74d65a345d fix: cleanly exit on shutdown (#5537)
Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Co-authored-by: Nerixyz <nerixdev@outlook.de>
2024-08-10 14:24:25 +02:00
pajlada f0802af055 refactor: move seventv/bttv event apis to application (#5532) 2024-08-08 15:08:31 +02:00
nerix aed55ac1ba fix: replace defines with constexpr/const and use more absolute paths for includes (#5527)
bye bye nuuls
2024-08-03 10:00:58 +00:00
nerix 5ee5abf5b2 fix: sort elements after RTL reordering (#5525) 2024-07-28 10:29:29 +00:00
nerix ff7cc09f8b chore: cleanup, document, and test some RTL code (#5473) 2024-07-27 11:19:26 +00:00
nerix a2cbe6377d chore: improve link parser and its tests a bit (#5522) 2024-07-23 23:38:17 +02:00
nerix 847e4f0932 fix: count parentheses in links (#5515) 2024-07-21 16:00:12 +02:00
pajlada 5deec1f02f chore: remove Singleton & replace getIApp with getApp (#5514) 2024-07-21 13:09:59 +00:00
nerix 4a7a5b09ce fix: disallow more characters in links (#5509) 2024-07-20 10:06:23 +00:00
nerix b3c09b65d8 chore: mini refactorings and dead code removal (#5512) 2024-07-20 11:35:59 +02:00
nerix deb4401036 chore: make FlagsEnum constexpr (#5510) 2024-07-16 16:35:44 +02:00
nerix b9f669d3a5 feat: strip prefixes and suffixes in links (#5486) 2024-07-14 11:17:42 +02:00
nerix 189be8c68f chore: remove old Qt 5.12 code, update docs and FreeBSD runner (#5396)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-06-23 12:26:59 +00:00
pajlada d053a681a0 make TwitchPubSubClient.DisconnectedAfter1s test less flaky (#5461) 2024-06-16 12:39:30 +00:00
pajlada 9b31246502 feat: allow timeout-related commands to be used in multiple channels (#5402)
This changes the behaviour of the following commands:
 - `/ban`
 - `/timeout`
 - `/untimeout`
 - `/unban`

All of those commands now accept one or more `--channel` parameters to override which channel the action should take place in.
The `--channel` parameter accepts a channel ID or channel name with the same syntax as the other "user targets" do (e.g. `id:11148817` or `pajlada`)

examples
Ban user in the chat you're typing in:  
`/ban weeb123`

Ban user in the chat you're typing in, with a reason specified:  
`/ban weeb123 the ban reason`

Ban user in a separate chat, with a reason specified:  
`/ban --channel pajlada weeb123 the ban reason`

Ban user in two separate chats, with a reason specified:  
`/ban --channel pajlada --channel id:117166826 weeb123 the ban reason`


Timeout user in the chat you're typing in:  
`/timeout weeb123`

Timeout user in the chat you're typing in, with a reason specified:  
`/timeout weeb123 10m the timeout reason`

Timeout user in a separate chat, with a reason specified:  
`/timeout --channel pajlada weeb123 10m the timeout reason`

Timeout user in two separate chats, with a reason specified:  
`/timeout --channel pajlada --channel id:117166826 weeb123 10m the timeout reason`


Unban user in the chat you're typing in:  
`/unban weeb123`

Unban user in a separate chat:  
`/unban --channel pajlada weeb123`

Unban user in two separate chats:  
`/unban --channel pajlada --channel id:117166826 weeb123`
2024-06-16 12:22:51 +02: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
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 4a1ce2a3b3 refactor: clean up toStdString usages in tests (#5346)
* tests: Add QString/QStringView << operators for std::ostream

This makes it easier to print QString/QStringView's in ASSERT_EQ outputs

* tests: clean up toStdString usages

* fix: use QByteArray.toStdString instead
2024-04-21 20:52:44 +00: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
pajlada dc989a9298 fix: output less qt debug stuff in tests (#5253) 2024-03-17 14:20:19 +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
pajlada e7508332ff refactor: Fonts (#5228) 2024-03-10 13:27:08 +00:00
nerix c1fa51242f refactor: turn StreamerMode into a singleton(-like thing) (#5216) 2024-03-01 21:12:02 +01: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
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 326a402710 refactor: Make ChatterinoBadges less of a singleton (#5103) 2024-01-19 17:25:52 +01:00
pajlada 93e2bc18fa refactor: move Network files from src/common/ to src/common/network/ (#5089) 2024-01-15 21:28:44 +01: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 1192393039 fix: Avoid unnecessary NotebookTab updates (#5068)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-06 11:04:04 +00:00
pajlada 99b537ffd9 Add some tests for NotebookTab (#5070)
* EmptyApplication: Add asserts to rest of getters (except for getSeventvAPI)

* Theme: make getTheme call getIApp()->getThemes() instead

this allows it to be used in tests
realistically this should be deprecated & users of it should just call
getIApp()->getThemes() directly

* Use getIApp() instead of getApp() in a few places
2024-01-06 11:42:45 +01:00
pajlada 5b741a8eb6 refactor: Remove Emoji's EmojiMap with a vector (#4980) 2023-11-26 18:17:58 +00:00
nerix 854032fce9 fix: Only display spaces between words in reply context (#4977) 2023-11-26 11:15:35 +01:00
nerix 6faf63c5c4 refactor: Remove Outcome from network requests (#4959) 2023-11-12 14:51:51 +01: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
kornes da31e47f9a Add selection unit tests (#4904) 2023-10-23 20:39:15 +00:00
nerix fcb6eff8cc Remove direct dependency on Qt 5 compatibility module (#4906) 2023-10-23 21:28:02 +02: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
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
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 7cb04bf58b Remove BaseSettings & merge ConcurrentSettings (#4775) 2023-08-28 17:51:28 +02:00