Commit graph

412 commits

Author SHA1 Message Date
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
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
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
nerix
6faf63c5c4
refactor: Remove Outcome from network requests (#4959) 2023-11-12 14:51:51 +01:00
pajlada
5c0219c245
refactor: Use override instead of virtual where possible (#4917) 2023-10-25 18:13:48 +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