Commit graph

834 commits

Author SHA1 Message Date
2547techno
6b7d12e410
Show channel point redemptions without messages in usercard. (#4557)
* set login name for channel point reward message

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: Mm2PL <mm2pl+gh@kotmisia.pl>
Co-authored-by: Mm2PL <miau@mail.kotmisia.pl>
2023-08-04 10:28:52 +00:00
nerix
703847c9ba
Add subtitle to Hype Chats (#4715)
* feat: more hype chat

* Add `std::chrono::seconds` overload to formatTime

* Move & rename it to HypeChat + some other mini things

* Add changelog entry

* fix formattime test

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-30 16:54:42 +00:00
nerix
33fa3e0a97
Use New 7TV Cosmetics System (#4512)
* feat(seventv): use new cosmetics system

* chore: add changelog entry

* fix: old `clang-format`

* fix: small suggestions pt1

* refactor: add 7tv api wrapper

* fix: small clang-tidy things

* fix: remove unused constants

* fix: old clangtidy

* refactor: rename

* fix: increase interval to 60s

* fix: newline

* fix: Twitch

* docs: add comment

* fix: remove v2 badges endpoint

* fix: deadlock

This is actually really sad.

* fix: remove api entry

* fix: old clang-format

* Sort functions in SeventvBadges.hpp/cpp

* Remove unused vector include

* Add comments to SeventvBadges.hpp functions

* Rename `addBadge` to `registerBadge`

* fix: cleanup eventloop

* ci(test): add timeout

---------

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-29 09:49:44 +00:00
nerix
fca57696bb
Increase max number of blocked users loaded from 100 to 1,000 (#4721)
Also includes a little refactor of how the requests are made & how the blocked users are stored
2023-07-23 11:26:12 +00:00
pajlada
a440f0261a
Fix crash that could occur when closing a split before its display name was updated (#4731)
This fixes a crash that could occur when closing a split before the
display name had a chance to update

The reason I found this was because the LiveController change I made
updated display names more regularly

Additionally, we now make sure to not send duplicate `displayNameUpdated` signals
upon each request for channels with CJK characters in their display name

* Default-initialize the `actualDisplayName` with the user's login name to not send an initial display name update if the display name is the same casing as the login name
2023-07-23 10:11:57 +00:00
pajlada
76527073cf
Ensure live status requests are always batched (#4713) 2023-07-02 13:52:15 +00:00
nerix
22b290cb2d
Improve network error messages (#4704) 2023-07-01 12:59:59 +00:00
pajlada
d2f1516818
Fix crash that could occur if closing the usercard quickly after blocking (#4711)
* Specifically, this adds a caller to the network request, which makes the
success or failure callback not fire.
This has the unintended consequence of the block list not reloading if
the usercard is closed, but it's not a big concern.

* Add unrelated `-DUSE_ALTERNATE_LINKER` cmake option

From 0517d99b46/CMakeLists.txt (L87-L103)
2023-07-01 12:01:47 +00:00
nerix
4b40b9a310
Define Git and date constants in executables only (#4681) 2023-06-17 19:43:39 +02:00
nerix
aff9342647
Add option to subscribe to and pin reply threads (#4680)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-17 15:41:52 +00:00
dependabot[bot]
36bc8e0520
Bump lib/crashpad from ec99257 to 432ff49 (#4688)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
Co-authored-by: nerix <nerixdev@outlook.de>
2023-06-16 20:11:01 +02:00
Arne
6681ed5bfb
Remove QObjectRef in favor of QPointer (#4666)
* replace usage of QObjectRef with QPointer

* delete QObjectRef class

* inlucde QPointer header

* Add changelog entry

* use isNull() instead of ! data()

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-06-04 11:24:04 +00:00
chrrs
bf4148a370
Consider nicknames when searching for messages (#4663)
Co-authored-by: pajlada <rasmus.karlsson+github@pajlada.com>
2023-05-31 19:38:17 +00:00
pajlada
5ca7d387e4
Expand upon test channels (#4655)
Available test channels:

- `$$$` - Fill up scrollback (1000 messages), then add a new message every 500ms
- `$$$:e` - Add a new message every 500ms
- `$$$$` - Fill up scrollback (1000 messages), then add a new message every 250ms
- `$$$$:e` - Add a new message every 250ms
- `$$$$$` - Fill up scrollback (1000 messages), then add a new message every 100ms
- `$$$$$:e` - Add a new message every 100ms
- `$$$$$$` - Fill up scrollback (1000 messages), then add a new message every 50ms
- `$$$$$$:e` - Add a new message every 50ms
- `$$$$$$$` - Fill up scrollback (1000 messages), then add a new message every 25ms
- `$$$$$$$:e` - Add a new message every 25ms
2023-05-27 13:33:01 +02:00
Daniel Sage
51f2c4d1c0
Add input completion test suite (#4644)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-21 10:10:49 +00:00
olafyang
21d4b2cacc
add "/shoutout" command (#4638)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-20 16:32:06 +00:00
Mm2PL
82dff89f3b
Add 'joined channel' system message. (#4616) 2023-05-19 10:30:30 +00:00
nerix
ce47d27d41
Refactor/Cleanup NetworkRequest and Related Code (#4633)
Cleanup unused code (Twitch v5)
Add json methods that simplify sending JSON. This also sets the Accepts header, since here, when JSON is sent, only JSON is accepted as a response (this is only done in Helix).
Clarify helix request creations
Cleaned some clang-tidy suggestions in Network{Request,Private}
2023-05-16 17:28:20 +02:00
pajlada
4fa2cc26c9
Document our pubsub usage & eventual eventsub usage (#4630)
* pubsub <-> eventsub documentation & clarification

* Update Get Chatters documentation
2023-05-14 08:55:48 +00:00
pajlada
eed2cfff5b
Clean up CI jobs (#4606)
Remove PCH as an option - it's now always disabled for all jobs

Disable LTO in the Windows build

Merge the Ubuntu Qt 6.2.4 & Ubuntu plugin build

Only upload a single macOS job into the nightly release, and clearly mark it as a macOS 10.15 build.
2023-05-08 14:08:43 +02:00
pajlada
caa0220ce6
Add a Send button that can be used to send messages (#4607)
This button is disabled by default, and can be enabled with the "Show send message button" setting.
2023-05-07 13:18:07 +00:00
nerix
4dd290e4e5
🛡 Add /shield and /shieldoff 🛡 (#4580)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-05-07 10:52:05 +00:00
nerix
95e7426283
Remove Redundant Parsing of Links (#4507)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-22 22:58:37 +00:00
Zonian
d6ef48d4ef
Migrate Twitch badges to Helix (#4537)
Co-authored-by: iProdigy <8106344+iProdigy@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-04-16 09:58:45 +00:00
2547techno
52a6f259cf
Fix: check reply-parent-user-id for blocked user (#4502) 2023-04-13 16:13:49 +00:00
nerix
610394d696
Fix Twitch-Specific Filters Not Being Applied (#4529)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-04-10 10:08:15 +00:00
pajlada
c8e1741e47
Remove CHATTERINO_TEST definition (#4526) 2023-04-09 12:18:56 +02:00
pajlada
d8df716fc2
Fix memory leak when using the Recent Messages API (#4499) 2023-04-01 11:57:48 +00:00
pajlada
130b23edaf
Add a local backup of the Twitch Badges API (#4463) 2023-03-19 11:28:28 +00:00
nerix
a777a227d4
Allow each layered image to retain its own flags (#4460)
This fixes an issue where context-menu items for zero-width emotes displayed the wrong provider.
2023-03-19 11:26:30 +01:00
Daniel Sage
0acbc0d2c3
Formalize zero-width emote implementation (#4314)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-18 12:30:08 -04:00
nerix
db97a14cdc
Ignore BTTV user-events (#4438)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-03-18 11:47:38 +00:00
nerix
d7206a2203
Support Animated FFZ Emotes and Authors for Global Emotes (#4434)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-03-18 11:22:40 +00:00
Daniel Sage
b9e87dcd2b
Fix Handling of FFZ CDN URLs with https already appended (#4432) 2023-03-05 00:34:36 +00:00
nerix
a75feba4ca
Use unique_lock when loading 7TV badges (#4402)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-02-22 12:01:47 +00:00
pajlada
c95a65c153
Fix Qt6 building (#4393) 2023-02-19 20:19:18 +01:00
pajlada
2629e3baa7
Stop whispers from showing up in /mentions unless they match another highlight (#4389) 2023-02-18 12:02:12 +00:00
nerix
e377c30192
Add Crashpad Support on Windows (#4351)
* feat: crashpad on windows

* feat: inline it

* feat: more crashpad

* chore: remove qBreakpad

* fix: add mention to crashpad

* refactor: version string

* feat: add crashpad module

* refactor: build crashpad from source

* fix: minor adjustments

* chore: add changelog entry

* fix: formatting and include

* fix: format

* build: use flags similar to release profile

* ci: build with crashpad on windows

* ci: recurse submodules

* ci: always include crashpad

* fix: try 7z

for some reason zstd just doesn't run

* fix: wrong path for symbols

* fix: copy

pls don't build

* ci: use new cache key

* fix: missing pragma

* ci: add workflow without crashpad

* docs: elevate changelog entry

* fix: add link to cmake issue

* fix: windows include issue

Someone (crashpad) includes Windows.h before winsock2.h

* fix: working directory

* fix: another working directory
2023-02-12 20:36:58 +01:00
nerix
c9a9e44e1f
Add HTTP & SOCKS5 proxy support (#4321)
This can be configured using the `CHATTERINO2_PROXY_URL` environment variable.
The behaviour is similar to curl's CURLOPT_PROXY
2023-02-11 23:16:51 +00:00
Mm2PL
d38187f794
Remove sending part of the multipart emoji workaround (#4361) 2023-02-09 16:45:53 +01:00
nerix
829c48d79a
Attempt to catch std::bad_function_call when adding a channel point reward (#4360)
* fix: attempt to catch std::bad_function_call

* chore: add changelog entry

* fix: spelling mistake

Co-authored-by: Leon Richardt <git@leon.dev>

---------

Co-authored-by: Leon Richardt <git@leon.dev>
2023-02-09 00:43:52 +01:00
nerix
0c74ab17ed
Refactor 7TV EventAPI (#4342)
* refactor: remove file prefix

* refactor: put eventapi into a namespace

* refactor: support multiple conditions

* fix: handle ack

* docs: add changelog entry

* fix: unsubscribe in destructor

* fix: naming of parameter

* fix: namespaces

* chore: casing

* fix: missing namespace

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-02-04 13:42:52 +01:00
LosFarmosCTL
6516116244
fix: compilation on macOS without precompiled headers (#4348) 2023-01-31 15:48:56 +01:00
Auro
d6ccab2cdf
Added option to highlight your own messages (#3833)
* Removed magic numbers when checking rowIndex

* Swap from static ints to enum

* Referred enum members by enum name

* Fixed formatting

* Added highlight option for self messages

* Update CHANGELOG.md

* Made disabled by default

* Moved setting from Messages tab to Users tab

* Moved checks to HighlightController

* Set row index to 0

sillE silly me

* Update CHANGELOG.md

* Moved check outside of loop

* Improved naming and documentation on variables

* Fixed formatting

* Fix compile errors

* Update ColorProvider self message highlight color when it's changed

Use the ColorProvider self message highlight color instead of rolling
our own non-updating color

* Update changelog entry

* Remove unused `customColor` from user highlights builder

* Use explicit lambda capture

* Update comment for the color provider color

* HighlightModelHpp: Future-proof custom row enum B)

* Document UserHighlightModel color changes

* Update colorprovider comment

* Update enabled, show in mentions & color setting paths

* Rename settings from `selfMessagesHighlight` to `selfMessageHighlight`

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-01-30 11:40:50 +01:00
pajlada
4958d08036
Change sound backend from Qt to miniaudio (#4334)
Thanks Greenlandicsmiley, Nerixyz, Yoitsu, and helmak for helping debug & test this

* Remove QMediaPlayer includes

* Prefer local path when generating the sound path

* Update changelog entry number

* Disable pitch & spatialization control
2023-01-29 10:36:25 +01:00
nerix
904749cf62
feat: Add Live Emote Updates for BTTV (#4147)
This feature is enabled by default and can be disabled in settings with the "Enable BTTV live emotes updates" setting.

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-01-21 14:06:55 +00:00
pajlada
18cb4bd6e5
Massage includes some more (#4294)
* Add `<functional>` include to QStringHash.hpp

This ensures the base `std::hash` template is declared before this
specialization

* Add missing includes to `src/providers/twitch/TwitchAccountManager.hpp`

* Move explicit HelixChatters constructor to the source file

* Remove unused includes & add used includes to NicknamesModel.hpp

* NicknamesModel.hpp: Remove `virtual` when `override` is used

* Add missing QStringHash include to TwitchEmotes.cpp

* Add missing includes to various files

* Print Qt version in cmake step

Technically unrelated, but I'm sneaking it in

* Add changelog entry
2023-01-08 12:07:06 +00:00
pajlada
c0f0a7e555
Fix link to the "connecting to the Twitch IRC server" guide (#4293) 2023-01-08 12:45:24 +01:00
nerix
1043f9f803
Remove Unnecessary Includes in Headers (#4275)
* refactor: remove unnecessary includes in headers

* fix: formatting

* chore: changelog

* fix: scrollbar

* fix: suggestions and old appbase remains

* fix: suggestion

* fix: missing Qt forward declarations

* fix: another qt include

* fix: includes for precompiled-headers=off

* Add missing `<memory>` includes

* Add missing `#pragma once`

* Fix tests

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-12-31 14:41:01 +00:00
pajlada
f04c4c7388
Fix crash that could occur when closing down the last of a channel when reloading emotes (#4278)
* Fix crash that could occur when a channel is closed

Ensure we copy the QString in case the channel goes out of scope and
we're referring to nothing

* Add changelog entry
2022-12-31 13:03:16 +00:00