Commit Graph
285 Commits
Author SHA1 Message Date
pajladaandGitHub a01a824d38 fix: watch streak filter (#6841)
Reported-by: Gucci-z
2026-03-14 11:26:15 +00:00
ad20b93646 fix(updates): handle nightly downgrade message (#6842)
Co-authored-by: Wissididom <30803034+Wissididom@users.noreply.github.com>
2026-03-14 11:16:34 +01:00
NerixyzandGitHub a57422ba8a chore(filters): improve test coverage and add benchmarks (#6814) 2026-02-28 12:42:08 +00:00
NerixyzandGitHub 16a39fcbf3 fix(spellcheck): use input highlighter's word segmentation to find word (#6822)
We used to use `QTextCursor`'s definition of a word when right-clicking.
This doesn't necessarily align with ours (e.g.
https://github.com/Chatterino/chatterino2/pull/6821#issuecomment-3941244373).
Furthermore, we didn't consider the character after a word as part of
it. Since Qt does some rounding, it might determine that you clicked on
the character after a word if you clicked on the right side of it. With
this PR, that's fixed.

Here's a visualization of which characters we consider as part of a word
(separated by even/odd):

```
     ███     █████  ██████   ████
this is some text#I#write in here
█████   █████     ██      ███
```

Fixes #6819

Reported-by: pajlada <rasmus.karlsson@pajlada.com>
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
Parent-pr: https://github.com/chatterino/chatterino2/pull/6446
2026-02-28 12:02:25 +00:00
NerixyzandGitHub ab895e5d73 chore: display follower mode duration in hours or days if possible (#6812)
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
2026-02-28 11:19:17 +00:00
NerixyzandGitHub 09a6c3fd7a refactor(websockets): Balance IPv4 and IPv6 attempts (#6804)
Reviewed-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2026-02-15 11:07:06 +00:00
ArneandGitHub 8f660b6de5 fix(spellcheck): some chatters and emotes not ignored (#6780)
Reviewed-by: Nerixyz <nerixdev@outlook.de>
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
2026-01-31 15:45:29 +01:00
NerixyzandGitHub cebe7e415c chore: add tests for input highlighting (#6779)
Reviewed-by: Arne <78976058+4rneee@users.noreply.github.com>
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
2026-01-31 09:18:43 +00:00
NerixyzandGitHub a869cd4bd1 feat(plugins): add display name change event to Channel (#6594)
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl>
2026-01-29 18:25:39 +01:00
Mm2PLandGitHub 60ecf1a8d7 refactor: DebugCount (#6753)
Reviewed-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Reviewed-by: Nerixyz <nerixdev@outlook.de>
2026-01-28 10:37:06 +00:00
NerixyzandGitHub f2c4c63d59 fix(liveupdates): add subscription to backlog if failed (#6763)
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
2026-01-24 12:04:24 +00:00
NerixyzandGitHub d21b3c6e38 feat(plugins): Added message read/update methods to the Channel API. (#6650)
This PR adds methods to read and update messages in a channel. Specifically, it adds:
 - message_snapshot
 - last_message
 - replace_message/replace_message_at
 - clear_messages
 - find_message_by_id
 - has_messages
 - count_messages


Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl>
2026-01-20 23:46:39 +00:00
NerixyzandGitHub 282a96660f fix(http): Send multipart body for PUT (#6746) 2026-01-18 11:47:44 +00:00
pajladaandGitHub eaeeaf004d chore(reuse): annotate our source files with our license (#6719) 2026-01-07 00:45:57 +01:00
NerixyzandGitHub b7b592098f refactor(emojis): use std::variant and QStringView (#6714) 2026-01-05 20:06:42 +00:00
327dc0ebcb feat: add filter for external badges (#6709)
Co-authored-by: Ava Chow <github@achow101.com>
Reviewed-by: Nerixyz <nerixdev@outlook.de>
2026-01-05 16:20:21 +01:00
pajladaandGitHub 5827bd1c67 chore: explicitly license snapshot tests as CC0-1.0 (#6707)
These tests mostly contain maps of Twitch messages -> our internal formats, and should be reusable without any attribution.
2026-01-04 15:05:12 +00:00
pajladaandGitHub 6935c7d7a0 chore: reduce wait interval in plugin test (#6708)
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl>
2026-01-04 14:23:08 +01:00
pajladaandGitHub 18e3d7c72b refactor: rename Badge to TwitchBadge (#6706)
this change is made to clarify that the previously-called Badge object
is actually specialized for Twitch badges
2026-01-04 12:52:02 +01:00
pajladaandGitHub 0f58bc3410 feat(xdg): return base or user directories (#6702) 2026-01-03 12:08:01 +00:00
pajladaandGitHub 135d6ef9ae chore: add unit tests for XDGDirectory (#6701) 2026-01-03 12:28:45 +01:00
James UpjohnandGitHub f4212028d6 feat: show mod/VIP badges from shared chats (#6653)
Reviewed-by: Nerixyz <nerixdev@outlook.de>
Reviewed-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2026-01-02 13:36:22 +00:00
nerixandGitHub e2ba7dff03 feat(plugins): add debug.traceback (#6652)
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl>
2025-12-28 12:03:43 +00:00
7d4ea79376 refactor: move Twitch PubSub to use liveupdates (#6638)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2025-12-16 10:06:15 +00:00
nerixandGitHub 74b4674c6b feat(plugins): allow message introspection (#6353)
This allows users to introspect messages (i.e. look at the elements they're made up of).

Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl>
2025-12-07 14:52:59 +00:00
nerixandGitHub 0aff6fbe83 feat: show BTTV Pro badges (#6625)
Reviewed-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2025-12-07 14:15:58 +00:00
c67953d14f feat(plugins): minimal account API (#6554)
Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl>
2025-12-05 14:56:51 +00:00
pajladaandGitHub d3287a615b refactor: split some highlight structs away from HighlightController (#6613) 2025-11-30 13:31:50 +00:00
nerixandGitHub 30019b71aa refactor: remove LimitedQueueSnapshot (#6606)
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
2025-11-27 18:49:40 +00:00
nerixandGitHub c4dd5f43ce feat: add ability to limit message snapshot size (#6602)
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
2025-11-26 23:35:34 +01:00
nerixandGitHub b63739e792 feat(plugins): add JSON parsing/serialization (#6420)
Reviewed-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
2025-11-21 17:43:28 +01:00
nerixandGitHub 115428d7f4 test(plugins): check unwinding and version (#6586) 2025-11-17 17:29:07 +01:00
nerixandGitHub 7f393e2401 refactor(liveupdates): use WebSocketPool over websocketpp (#6308)
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
2025-11-08 12:46:10 +00:00
nerixandGitHub 072bc897a0 fix(websockets): add query to URL (#6141)
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
2025-11-02 15:07:58 +00:00
nerixandGitHub 38a3bf2ef8 fix: warnings when compiling with Qt 6.10 (#6422) 2025-10-05 13:18:54 +00:00
nerixandGitHub 486aa238de fix: compilation error with Clang 21 (#6519) 2025-10-05 10:00:51 +00:00
c5b0669812 refactor: turn Emotes into EmoteController (#6516)
* refactor: turn `Emotes` into `EmoteController`

* changelog

* why does clang-format do this???

* nit: remove unused include from EmoteController.hpp

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2025-10-04 10:05:27 +00:00
33f6383122 Add support for plugin links (#6386)
Co-authored-by: Nerixyz <nerixdev@outlook.de>
2025-10-02 18:56:51 +00:00
nerixandGitHub 3f05edc071 refactor: merge emote element flags (#6511) 2025-09-30 19:07:25 +02:00
pajladaandGitHub 6e0533e1da chore: make sanitizers opt in (#6493)
Make code sanitizers opt in with the `CHATTERINO_SANITIZER_SUPPORT` CMake option. After that's enabled, use the `SANITIZE_*` flag to enable individual sanitizers.

Building tests is not required - sanitizers can be enabled in the app by itself.
2025-09-25 23:43:54 +02:00
James UpjohnandGitHub 448b321259 fix: log deletion messages to file log (#6465) 2025-09-20 13:08:10 +02:00
nerixandGitHub c7dea40b6b fix(plugins): Implement __eq for Channel (#6456) 2025-09-14 11:28:39 +00:00
c7a7740bfe fix: image uploader setting import (#6387)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2025-08-28 22:25:26 +00:00
nerixandGitHub dcae8e67cc feat: add tooltips with follow/sub durations to usercard (#6384) 2025-08-17 21:16:35 +02:00
nerixandGitHub 0f11a9050a fix: take handler for sol_lua_check as function reference (#6393)
* fix: take handler for `sol_lua_check` as function reference

* changelog

* fix: includes

* uintptr type

* fix: ub and eq
2025-08-16 19:21:04 +00:00
nerixandGitHub 8c05f37af3 test: Add snapshot tests for imageuploader import/export (#6394) 2025-08-14 18:07:50 +02:00
nerixandGitHub 4ffdc2fa7b feat: dynamically track mutability of messages (#6367) 2025-08-04 19:04:59 +00:00
nerixandGitHub a4478748f7 feat(plugins): add basic message construction (#5754) 2025-07-31 15:36:39 +02:00
pajladaandGitHub aa8f8f2e3e fix: split header "add split" button inconsistency (#6349) 2025-07-26 12:23:29 +00:00
nerixandGitHub cd7b710d94 feat: show text if emote failed to load (#6355) 2025-07-26 10:24:56 +00:00