Commit graph

462 commits

Author SHA1 Message Date
Felanbird
ac7baf4073
Add is:reply search predicate (#4119)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-11-06 11:37:14 +00:00
Felanbird
1e6e18f53a
Add is:redemption search predicate (#4118) 2022-11-06 12:14:27 +01:00
Daniel Sage
36402a2faf
Fix Reply Text Showing In Reply Thread Popup (#4101) 2022-11-02 23:20:37 +00:00
Daniel Sage
7640677a43
Improve Appearance of Reply Curve (#4077) 2022-11-02 09:19:44 +01:00
pajlada
e3af865a70
Add helper function for ensuring a function is run in the GUI thread (#4091) 2022-10-30 13:01:54 +00:00
pajlada
e6e9b98f66
Remove unused values from MessageLayoutContainer (#4081) 2022-10-23 08:31:38 +00:00
xel86
76530d061c
Make reply thread subtext easier to click (#4067)
Co-authored-by: Daniel Sage <24928223+dnsge@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-22 10:46:20 +00:00
Felanbird
dd6cb80ab9
Add searching & filtering for bits (#4069) 2022-10-18 20:26:12 +02:00
nerix
3e41b84ed7
feat: Add 7TV Emotes and Badges (#4002)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-16 11:22:17 +00:00
nerix
4e2da540d2
refactor: Remove Leading Mention in Replies and Highlight Participated Threads (#4047) 2022-10-08 16:25:32 +02:00
pajlada
03051bf0bd
Bump MessageFlag underlying type to be 64-bit (#4042) 2022-10-03 14:55:46 -04:00
nerix
ba586f01d0
fix: Display Sent IRC Messages Like Received Ones (#4027) 2022-10-01 15:36:22 +00:00
xel86
bfcc9ff7a4
Add search predicates for badges and sub tiers (#4013)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-10-01 12:30:29 +00:00
Felanbird
d024a1ef7e
Add is:elevated-msg search predicate (#4018)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-10-01 11:01:54 +00:00
Felanbird
0ab59d44f0
Add Basic Elevated Message support (#4016) 2022-09-30 23:23:31 +00:00
nerix
be72d73c3d
feat: add Go to message action in various places (#3953)
* feat: add `Go to message` action in search popup

* chore: add changelog entry

* fix: only scroll if the scrollbar is shown

* fix: go to message when view isn't focused

* feat: animate highlighted message

* fix: missing includes

* fix: order of initialization

* fix: add `ChannelView::mayContainMessage` to filter messages

* feat: add `Go to message` action in `/mentions`

* fix: ignore any mentions channel when searching for split

* feat: add `Go to message` action in reply-threads

* fix: remove redundant `source` parameter

* feat: add `Go to message` action in user-cards

* feat: add link to deleted message

* fix: set current time to 0 when starting animation

* chore: update changelog

* fix: add default case (unreachable)

* chore: removed unused variable

* fix: search in mentions

* fix: always attempt to focus split

* fix: rename `Link::MessageId` to `Link::JumpToMessage`

* fix: rename `selectAndScrollToMessage` to `scrollToMessage`

* fix: rename internal `scrollToMessage` to `scrollToMessageLayout`

* fix: deleted message link in search popup

* chore: reword explanation

* fix: use for-loop instead of `std::find_if`

* refactor: define highlight colors in `BaseTheme`

* core: replace `iff` with `if`

* fix: only return if the message found

* Reword/phrase/dot changelog entries

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-09-11 16:37:13 +02:00
Felanbird
92301e7d72
Update gifFrameLength name as suggested by clang-tidy (#3947) 2022-09-04 17:25:34 +00:00
Daniel Sage
8ec032fc84
Periodically free memory from unused images (#3915)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-09-04 11:23:14 +00:00
nerix
c1af2c3faa
feat: add settings to toggle BTTV/FFZ global/channel emotes (#3935)
* feat: add settings to disable BTTV/FFZ global/channel emotes

* docs: add changelog entry

* fix: capitalize `BTTV` and `FFZ`

* fix: rename and move settings
2022-08-28 12:20:47 +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
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
pajlada
3f1b16a855
[Chore] Remove unused class MessageContainer (#3889) 2022-07-31 13:41:24 +00: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
James Upjohn
a280089693
Drop trailing whitespace from Twitch system messages (#3888)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-31 11:55:25 +02:00
Jaxkey
f49e8b4bc8
Show all global FFZ badges of a user (#3818)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-06-27 18:36:58 +00:00
pajlada
8bdfbf7b87
Allow non-message phrases to be highlighted by self (#3835)
* All non-phrase highlights can now trigger on messages from self

New state:
Allows self highlights: Subscription, Whisper, User, Badge
Does not allow self highlights: Message

* Add changelog entry

* fix PR number in changelog
2022-06-26 10:43:34 +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
Kasia
683701623a
Added interface for highlights to Application (#3808) 2022-06-09 14:37:52 +00:00
pajlada
7ccf60111d
Overhaul highlight system (#3399)
Checks have been moved into a Controller allowing for easier tests.
2022-06-05 15:40:57 +00:00
kornes
efcfb19187
Add safe checks around use of QImageReader (#3736)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-28 13:48:31 +02:00
Kasia
7d0023cf73
Corrected the way we parse comma-separated "list tags" in PRIVMSGs (#3771)
tl;dr: we now split by slash only its first occurrence instead of every occurrence.
2022-05-28 09:55:48 +00:00
Kasia
137269e91b
Fix QString::SkipEmptyParts for real this time (#3747)
Follow-up to #3726
2022-05-17 09:33:27 +00:00
pajlada
3119a9bab3
Store serverReceivedTime in messages (#3735)
Co-authored-by: James Upjohn <jammehcow@jammehcow.co.nz>
2022-05-15 06:08:28 +00:00
Kasia
46a5c9509e
Fix Qt::SkipEmptyParts deprecation warning (#3726)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-14 10:11:39 +00:00
James Upjohn
a5930f222a
Fix self-highlighting from resub messages (#3708)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-08 11:44:32 +00:00
nerix
f97780d84e
Improve Twitch PubSub connection reliability (#3643)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-07 15:22:39 +00:00
pajlada
4aa5b04e37
Disable formatting on "contested lines" (#3714)
These lines are formatted differently between clang-format 10 (on CI) and clang-format 11+ (on most dev systems)
2022-05-07 14:57:26 +00:00
Auro
94e4cd2c1d
Added is:first-msg search option (#3700)
* added first-msg for flag predicate

* Update CHANGELOG.md

* Update changelog entry phrasing

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-04-30 11:23:48 +02:00
hicupalot
bfb024b1e7
Added quotation marks in the permitted/blocked Automod messages (#3654)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-04-07 08:15:41 -04:00
LosFarmosCTL
092f66dc15
Fix crash when displaying a highlight inside of a sub message with sub message highlights turned off (#3556) 2022-02-12 11:57:33 +01:00
Mm2PL
ddbeb356a5
Fixed automod and unban messages showing when moderation actions were disabled (#3548) 2022-01-28 22:30:32 +00:00
Patrick Geneva
e742860af7
Make animated image playback speed match browser (Firefox and Chrome) behaviour (#3506)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Paweł <zneix@zneix.eu>
2022-01-15 19:23:08 +00:00
karl-police
499d06fcd1
Remove first timestamp from genereated AutoMod queue messages (#3503)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-01-15 17:49:28 +00:00
Paweł
700c9fc4f2
Don't crash upon right-clicking automod badge (#3496) 2022-01-14 02:44:13 +01:00
pajlada
51ece94f58
Update Settings and Signals version (#3398)
Co-authored-by: zneix <zneix@zneix.eu>
2021-12-19 14:57:56 +00:00
Adam Davies
937e33a2fd
Fix zero-width emotes sometimes wrapping lines incorrectly (#3389)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-12-06 22:49:08 +00:00
Rasmus Karlsson
3fcb6346f5 MessagePredicate: Add virtual destructor 2021-11-28 13:02:07 +01:00
Felanbird
8116c30261
Add some commented First Message code for consistency (#3370) 2021-11-28 12:19:08 +01:00
pajlada
3c4331b8cb
Fix link parsing in IRC (#3334) 2021-11-07 13:55:43 +00:00
Ryan
b4be7a4b1f
Fix underlying text from disabled emotes not being colorized after using /me (#3333) 2021-10-31 11:37:06 +01:00