Commit Graph

417 Commits

Author SHA1 Message Date
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
pajlada 9788d0f8f7 Added option to log streams by their ID, allowing for easier "per-stream" log analyzing (#5507) 2024-07-14 09:45:21 +00:00
nerix b9f669d3a5 feat: strip prefixes and suffixes in links (#5486) 2024-07-14 11:17:42 +02:00
pajlada 973b7a3bdd Add extra context to messages that are added to channels, allowing the logging controller to take more responsibility in what messages to log (#5499)
Co-auhtored-by: James Upjohn <jupjohn@jammeh.co.nz>
2024-07-13 11:15:11 +00:00
nerix 126200da82 show running qt version if it differs from compiled version (#5501) 2024-07-09 16:18:35 +02:00
pajlada 354079c74c refactor: add Channel::addSystemMessage function (#5500) 2024-07-07 22:03:05 +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
Mm2PL c980162656 Introduce HTTP API for plugins (#5383) 2024-06-22 10:04: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 65bfec963b feat(emote-popup): save size of popup (#5415)
* fix: remove added margins from emote window position

* chore: add changelog entry

* feat: store size of emote window

* chore: update changelog entry

* fix: disable layout save

* fix: PCH moment

* fix: multiply by scale
2024-06-01 10:38:39 +00:00
KleberPF d161036b18 Add feature to duplicate tabs (#5277)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-05-25 12:39:19 +00:00
pajlada c5802a0f49 fix: use irc-unknown when irc server couldn't be loaded (#5419) 2024-05-25 11:53:37 +00:00
nerix ec6b1ef24d fix(luals-meta): generate globals in c2 and echo @lua commands (#5385)
Co-authored-by: Mm2PL <miau@mail.kotmisia.pl>
2024-05-22 15:23:33 +02:00
nerix 56fa973d7c fix: prefer reporting error over status for 200 OK (#5378) 2024-05-05 19:37:22 +02:00
pajlada eafcb941f5 Release v2.5.1 (#5364) 2024-04-28 11:36:58 +02:00
nerix dfa929e207 fix: use the full url when resolving (#5345) 2024-04-21 19:24:11 +00:00
pajlada 3aead09339 Release v2.5.0 (#5337) 2024-04-21 11:17:25 +02:00
Maverick 7c97e6bcc7 Change order of query parameters of Twitch Player URLs. (#5326)
This ensures that it doesn't "fake redirect".

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-04-18 15:49:50 +00:00
pajlada 25a69fd10e Release v2.5.0-beta.1 (#5303) 2024-04-07 12:03:14 +02:00
nerix 2ea24c1a9d fix: use deleteLater for network objects and order them (#5297) 2024-04-03 21:08:52 +02:00
Maverick b6d75fd867 feat: add more items in macOS menu bar (#5266)
Co-authored-by: pajlada <rasmus.karlsson+github@pajlada.com>
2024-03-29 19:50:43 +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
askepticaldreamer 46c5609736 feat: Warn for commands with duplicate triggers (#4322)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2024-03-17 11:46:58 +00:00
pajlada 2361d30e4b fix: compare settings before updating them (#5240) 2024-03-09 15:03:26 +00:00
Mm2PL 5c51ec8382 Live streams that are marked as reruns now mark a tab as yellow instead of red (#5176) 2024-02-18 16:22:53 +00:00
Mm2PL 8e9aa87a08 Add a new Channel API for experimental plugins feature (#5141) 2024-02-03 19:12:00 +01:00
nerix 954e19817c fix: more MSVC warnings (#5137) 2024-01-30 17:28:36 +01:00
nerix 5cd4c51f07 chore: specialize Atomic<std::shared_ptr<T>> (#5133) 2024-01-26 21:55:30 +01:00
nerix 7951af6104 feat: add command line argument to select/add tab with a channel (#5111) 2024-01-20 12:20:40 +00:00
pajlada 718696db53 refactor: Un-singletonize Paths & Updates (#5092) 2024-01-16 20:56:43 +00:00
pajlada 7f935665f9 refactor: Remove the NullablePtr class (#5091) 2024-01-15 21:30:34 +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 fa5648fd9a refactor: NetworkPrivate (#5063)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-09 00:37:15 +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
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 25add89b14 feat: Add crash recovery on Windows (#5012) 2023-12-24 15:38:58 +01: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
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
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 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