Commit Graph

130 Commits

Author SHA1 Message Date
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
fossdd b5066881f9 docs: add https://to github URL (#5368) 2024-04-30 21:14:50 +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
pajlada fe1e498a5f chore: Run Ubuntu tests in Docker (#5170)
Co-authored-by: Wissididom <30803034+Wissididom@users.noreply.github.com>
2024-02-11 19:11:30 +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 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
nerix 2cb965d352 docs: cleanup/polish Markdown files (#5038)
Fixed some language stuff.
    Added alternative to httpbin.
    Updated expected space requirement on Windows.
    Removed unused VS component on Windows.
    Moved Qt Creator formatting to Windows docs.
    Updated nativs link to Qt 6.
    Added missing language to code blocks.
    Removed # Description from PR template and added instructions to fix a GitHub issue.

Co-authored-by: Wissididom <30803034+Wissididom@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson+github@pajlada.com>
2023-12-23 11:39:53 +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 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 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
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
pajlada ac6708b3a2 Fix input completion tests on Qt6 & run tests on 22.04 (#4774)
* Tests: Fix InputCompletion tests in Qt6

This is achieved by not checking exact order for certain completion tests

* Tests: Use Ubuntu 22.04 for all tests

This allows us to be a bit more loose and use more C++20 features in
tests

* Update dockerfiles
2023-08-27 11:11:59 +00:00
nerix ea30c3a619 Fix XDG tests on Windows (#4779)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-21 17:00:37 +00:00
Sam Heybey 69c983e0d9 Add support for opening links in incognito mode on Linux & BSD (#4745)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-06 15:57:01 +02: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 61566e2f4f Add string literal suffixes to create QStrings, QByteArrays, and QLatin1String(View)s at compile time (#4706) 2023-07-01 17:31:25 +02:00
nerix 22b290cb2d Improve network error messages (#4704) 2023-07-01 12:59:59 +00:00
nerix b9934a4532 Refactor tests and benchmarks (#4700) 2023-06-24 15:03:27 +02:00
nerix 5d3e5d9312 Fix anonymous users being pinged by justinfan64537 (#4698)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-20 17:42:29 +00:00
nerix 1bc423d9c4 Make tests more platform agnostic (#4650)
Use QTemporaryDir to create the test directory
Add option to use httpbin over local docker
Increase delay for opening a connection

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-26 12:54:23 +00:00