Commit graph

77 commits

Author SHA1 Message Date
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
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
pajlada
354079c74c
refactor: add Channel::addSystemMessage function (#5500) 2024-07-07 22:03:05 +02:00
pajlada
c5802a0f49
fix: use irc-unknown when irc server couldn't be loaded (#5419) 2024-05-25 11:53:37 +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
nerix
954e19817c
fix: more MSVC warnings (#5137) 2024-01-30 17:28:36 +01:00
pajlada
5b6675abb4
refactor: fix clang-tidy auto*, const&, and curly braces (#5083) 2024-01-14 17:54:52 +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
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
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
8fe3af3522
Fix signal connection nodiscard warnings (#4818) 2023-09-16 11:52:51 +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
kornes
b209c50b01
Fix channel search when custom scrollback limit is used (#4496) 2023-04-01 12:34:34 +00:00
Daniel Sage
33db006635
Fix crash when adding recent messages to empty Channel (#3932)
* Fix crash when adding recent messages to empty Channel

* Update CHANGELOG.md
2022-08-20 11:01:16 +02:00
nerix
8ea5b49c52
fix: Mentions of "You" in timeouts will link to your own user now instead of the user "You" (#3922)
* fix: link to the current user in timeouts

* fix: `readability-suspicious-call-argument`

* docs: add changelog entry

* fix: link both users when replacing timeout

* Update changelog entry

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-08-14 15:34:32 +02:00
Mm2PL
756bd90b17
Fix weird IRC channels causing crashes due to bad cast (#3918) 2022-08-11 18:29:04 +02:00
Daniel Sage
46f43f3ce8
Automatically load recent messages on reconnect (#3878)
* Add working reconnect recent messages

* Rename method to messagesUpdated

* Use audo declarations

* Add docs to new LimitedQueue methods

* Add more documentation, try atomic loading flag

* Update CHANGELOG.md

* Remove unused include

* Rename 'reconnected' signal to 'connected'

* Reserve before filtering on arbitrary update

* Extract recent messages fetching to own class

* Use std::atomic_flag instead of std::atomic_bool

* Add PostToThread include

* Add chatterino.recentmessages logging

* Remove unneeded parameters, lambda move capture

* Remove TwitchChannel::buildRecentMessages

* Add documentation, use more clear method name

* Reword changelog entry

I think it sounds better like this :)

* Rework how filling in missing messages is handled

This should hopefully prevent issues with filtered channels with old messages
that no longer exist in the underlying channel

* Check existing messages when looking for reply

* Clean up string distribution in file

* Try to improve documentation

* Use std::function for RecentMessagesApi

* Only trigger filledInMessages if we inserted

* Remove old unused lines

* Use make_shared<MessageLayout> instead of new MessageLayout

* Alphabetize QLogging categories

* Reorder CHANGELOG.md
2022-08-06 18:18:34 +02:00
Daniel Sage
20c974fdab
Added support for Twitch's Chat Replies (#3722)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-31 10:45:25 +00:00
Mm2PL
bbadbc4b33
Add logging to experimental IRC (#2996)
Co-authored-by: xHeaveny <69117321+xHeaveny@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-07-02 09:42:28 +00:00
pajlada
6599009e79
Fix split focusing being broken in certain circumstances when the "Show input when it's empty" setting was disabled (#3838)
Co-authored-by: Kasia <zneix@zneix.eu>
2022-06-26 16:53:09 +00:00
Daniel Sage
81caf1aae0
Rewrite & optimize LimitedQueue (#3798)
* Use circular buffer for LimitedQueue

* Reduce copying of snapshot

* Small optimizations

* Remove unneeded lock statements

* Add LimitedQueue tests

* Fix includes for limited queue benchmark

* Update CHANGELOG.md

* Use correct boost version iterators

* Use a shared_mutex to clarify reads and writes

* Update `find`/`rfind` to return the result as a boost::optional

* Use `[[nodiscard]]` where applicable

* Update comments

* Add a couple more doc comments

* Replace size with get

get is a safe (locked & checked) version of at

* Use std::vector in LimitedQueueSnapshot

* Update LimitedQueue benchmarks

* Add mutex guard to buffer accessors

We do not know whether T is an atomic type or not
so we can't safely say that we can copy the value
at a certain address of the buffer.

See https://stackoverflow.com/a/2252478

* Update doc comments, add first/last getters

* Make limit_ const

* Omit `else` if the if-case always returns

* Title case category comments

* Remove `at`

* Fix `get` comment

* Privatize/comment/lock property accessors

 - `limit` is now private
 - `space` is now private
 - `full` has been removed
 - `empty` now locks

* Remove `front` function

* Remove `back` method

* Add comment to `first`

* Add comment to `last`

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-06-18 10:44:48 +00:00
Mm2PL
f1e843a672
Make deletions show like timeouts/bans. (#2841)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-06-06 17:51:57 +02:00
apa420
d59bb805bb
Added system message on new date (#2748)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-05-09 18:44:57 +02:00
Yoitsu
00ccdbc781
clang-tidy: use std::move where applicable (#2605)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-04-10 12:34:40 +00:00
fanway
bf4c9cebb1
Use display/localized names in tab and split titles (#2189) 2020-12-06 14:07:33 +01:00
Leon Richardt
0eed45ae67
Chore: Proper Lambda Formatting (#2167)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2020-11-08 12:02:19 +01:00
dnsge
4199a01b96 Advanced channel filters (#1748)
Adds custom channel filters complete with their own mini-language. Filters can be created in settings, and applied by clicking the three dots to open the Split menu and selecting "Set filters".
2020-10-18 15:18:20 +02:00
Daniel
ba06b10135
Open usercard on mention click (#1674) 2020-07-18 16:03:51 +02:00
0xRainy
0e564065ba
Added recent messages to UserInfoPopup (#1729)
There's a Refresh button added to the popup to refresh the users messages in the popup. Not automatic now while we figure out how fast/slow it would be.

Co-authored-by: dnsge <sagedanielr@gmail.com>
2020-06-21 14:15:14 +02:00
hemirt
1fd64be7f5
Makes it possible to hide one man spam (#1496) 2020-02-02 08:31:37 -05:00
pajlada
3c8992cac1
Remove FMT dependency (#1472)
All occurrences of log() have been replaced with qDebug()

bonus meme: remove a bunch of std::string usages in the pubsub client

Fixes #1467
2020-01-03 20:51:37 +01:00
fourtf
6f710823ed renamed getInstance() -> instance() for singletons 2019-10-07 22:42:34 +02:00
fourtf
27d6cf2bfd reconnect for irc + show errors + nickRequired 2019-09-18 08:05:51 +02:00
fourtf
96dac0fd3d moved chatters to ChannelChatters 2019-09-17 12:11:11 +02:00
fourtf
b84c3ac3be Fixes #1220 Added setting do disable timeout stacking 2019-08-21 00:41:48 +02:00
Rasmus Karlsson
954b1b138a Add a setting for the timeout stack style:
"Stack" is the default behaviour, it will search 20 messages up and 5
seconds back in time to stack the timeout.
"Stack sparingly" will try to do the same, but only if the user has not
typed a message inbetween the this and the last timeout.

Fixes #1157
2019-07-28 13:21:54 +02:00
Rasmus Karlsson
ba1a56c3b7 Don't early out after replacing a timeout message.
Otherwise, this could lead us to not gray out messages after the timeout we're stacking on

Work on #1157
2019-07-28 13:21:54 +02:00
apa420
3c1d264689 Added trashcan, replaced messageID var with this-message().id, removed pubsub stuff that didn't belong 2019-04-28 02:25:05 +02:00
apa420
4f79d6fc07 Added deleted messages, will also add the disabled tag to denied automod messages 2019-04-19 22:44:02 +02:00
pajlada
97faec15e0
Merge pull request #979 from hemirt/whispers
do not disable whispers on clears and timeouts
2019-04-16 15:06:42 +02:00
Rasmus Karlsson
a4cba22bcb reformat 2019-04-13 16:38:01 +02:00
Rasmus Karlsson
13475332fb Adds VIP rate limit support
Closes #875
2019-04-13 15:26:47 +02:00
hemirt
d6c5dd6d6c do not disable whispers on timeout
changed order to short-out the if clause when its not the correct user
of the message
2019-03-20 20:59:57 +01:00
hemirt
1a1d0f305c make whispers not disabled on clear 2019-03-20 20:53:24 +01:00
pajlada
3f41dfeff9
Merge pull request #965 from moe-ka/master
Fix for inline whispers being logged
2019-03-02 09:37:09 +01:00
hemirt
3c01af9805 changes and fix displayname of 'is live' message 2019-03-01 21:18:32 +01:00
moe-ka
26592c082f check for none overriding flags 2019-02-28 05:08:46 +00:00
moe-ka
3ddac8b12a More accurate name for flag (MessageFlag::DoNotLog), disable logging for
sent whispers.
2019-02-27 18:30:26 +00:00