Commit graph

754 commits

Author SHA1 Message Date
nerix dc62e8248b
Add (invisible) resize handle to frameless usercards and reply threads (#4795)
* feat: add resize handle to usercards&reply threads

* Add changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-09-17 11:27:20 +00:00
Mm2PL d752ce86fd
Add WindowManager::getLastSelectedWindow() to replace getMainWindow() (#4816)
1. No longer can return a nullptr if no window was ever focused
  2. When closing a window, it will no longer return an invalid pointer
2023-09-16 20:53:44 +00:00
qooq69 38c994be49
Fixed Usercard Popup not floating on tiling WMs on Linux (#3511) 2023-09-16 22:15:01 +02:00
pajlada 8fe3af3522
Fix signal connection nodiscard warnings (#4818) 2023-09-16 11:52:51 +00:00
nerix 2d5f078306
Style account switcher to match the current theme (#4817) 2023-09-15 18:44:36 +02:00
nerix 337b043bc3
Fix input in reply thread popup losing focus when dragging (#4815) 2023-09-13 20:38:32 +00:00
pajlada 9ca2578c1e
Refactor Image & Image's Frames (#4773) 2023-09-13 19:26:45 +00:00
nerix 283ede86ad
Only layout visible ChannelViews (#4811) 2023-09-10 17:08:13 +02:00
Daniel Sage 1b9ee939bb
Select correct notebook tab after closing while filtered (#4770) 2023-09-10 10:38:59 +00:00
pajlada 813d96867b
Migrate to the new Get Channel Followers Helix endpoint, fixing follower count not showing up in usercards (#4809) 2023-09-09 12:51:45 +00:00
nerix 515c40f857
Use QFontMetrics::elidedText over manual implementation (#4807) 2023-09-09 12:09:25 +00:00
pajlada d4558b5fe5
Fix all warnings from the cppcoreguidelines-pro-type-member-init clang-tidy check (#4426) 2023-09-09 11:11:19 +00:00
pajlada 877a4e05fa
Remove boost::noncopyable use & boost::random dependency (#4776)
The use has been removed from the following files:
* Atomic.hpp
* SignalVector.hpp
* Benchmark.hpp
* IvrApi
* LoggingChannel.hpp
* Singleton.hpp
* Image.hpp
* PrecompiledHeader.hpp
* Message.hpp
* MessageElement.hpp
* MessageLayout.hpp
* MessageLayoutElement.hpp
* Fonts.hpp (just include)
2023-09-09 10:23:20 +00:00
pajlada ba440e0ccb
Fixed /shoutout command not working with usernames starting with @'s (e.g. /shoutout @forsen) (#4800) 2023-08-28 17:17:03 +00:00
pajlada 7cb04bf58b
Remove BaseSettings & merge ConcurrentSettings (#4775) 2023-08-28 17:51:28 +02:00
pajlada 4c942a2a42
Fix data race in PubSub (#4771) 2023-08-27 21:35:38 +00:00
pajlada ac6708b3a2
Fix input completion tests on Qt6 & run tests on 22.04 (#4774)
* Tests: Fix InputCompletion tests in Qt6

This is achieved by not checking exact order for certain completion tests

* Tests: Use Ubuntu 22.04 for all tests

This allows us to be a bit more loose and use more C++20 features in
tests

* Update dockerfiles
2023-08-27 11:11:59 +00:00
nerix 72f0f49fbf
Set QT_ENABLE_HIGHDPI_SCALING to 0 on Qt 6 on Windows (#4767) 2023-08-27 10:32:09 +00:00
nerix 15bd72eed1
Encode modes file in UTF8 (#4791) 2023-08-27 11:45:16 +02:00
pajlada 05a72d335a
Release v2.4.5 (#4787)
* Update documentation for Ubuntu PPA & appdata.xml updates
2023-08-26 12:33:01 +02:00
Felanbird 381d5c4276
Change Elevated Messages to Hype Chats (#4766) 2023-08-14 17:19:20 +00:00
Felanbird 2d30ff62bf
Prepare changelog for v2.4.5 release (#4765) 2023-08-14 11:14:24 +02: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
Mm2PL 1e35391075
Hide AutoMod term management messages in Streamer Mode. (#4758)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-12 12:16:30 -04:00
pajlada 3e1e400e3e
Refactor recent messages API (#4763)
This exposes internal functions for testing by splitting the implementation & internal API into separate files
2023-08-12 11:34:59 +00:00
Mm2PL ec0d77643f
Remove USEWEBENGINE (#4757)
This code has been sitting behind a define since 2018 (de3a490). I'm not opposed to this code coming back however in this state, it feels better to remove it.
2023-08-07 18:24:17 +00:00
Mm2PL 59160c5d04
Minor: Add missing hotkey Action for Open Player in Browser. (#4756) 2023-08-07 13:41:32 +00:00
Sam Heybey 69c983e0d9
Add support for opening links in incognito mode on Linux & BSD (#4745)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-06 15:57:01 +02:00
Mm2PL 168f346c81
Remove restriction on Go To Message on system messages from search (#4614)
* Remove restriction on go to message on system messages

Fixes #4608

* changelog

* Change the changelog entry from a bugfix to minor

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-05 16:36:49 +00:00
pajlada 1aedd4d668
Highlights loaded from message history will now correctly appear in the /mentions channel (#4752)
* added messages in mentions tab if correct predicate is met

* Update CHANGELOG.md

* Apply Felanbird's fix

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>

---------

Co-authored-by: 2547techno <technowizz2547@gmail.com>
Co-authored-by: 2547techno <109011672+2547techno@users.noreply.github.com>
Co-authored-by: Mm2PL <miau@mail.kotmisia.pl>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-08-05 14:23:40 +00:00
Mm2PL e13df1f602
Split log line generation from message search text (#4742)
* Split log line generation from message search text

* changelog

* remove empty space at the beginning of usernames

* Move changelog entry

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-08-05 13:09:56 +00:00
Mm2PL 5727db2029
Fixed subscriptions and announcements not being blockable (#4748)
* Check blocks for usernotices

* changelog

* cstd = {.name="C++20"}

* Update CHANGELOG.md

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-08-05 12:45:43 +00:00
nerix accf91a48f
Build Windows Installer in CI (#4408)
* feat: build installer in CI

Co-authored-by: 8thony <114905842+8thony@users.noreply.github.com>

* fix: use inno-setup from PATH

* fix: only match `v*` tags

* fix: don't add to release

* fix: only run on master

---------

Co-authored-by: 8thony <114905842+8thony@users.noreply.github.com>
2023-08-05 12:27:09 +00:00
nerix 1438529e98
Sync channels with browser (#4741)
* feat: keep channels from browser tabs alive

* chore: add changelog entry

* fix: add comment

* fix: rename key

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-08-05 12:23:26 +00:00
pajlada 9e2eb0dd29
Fix tooltip & popup positioning (#4740)
* Fix tooltip & popup positioning

This tries to ensure the tooltip & popups are created on the correct
monitor

* Add changelog entry

* Clean up debug output

* Use the full frame geometry to figure out screen bound movements

* Remove the now-unused `setStayInScreenRect` function

* Change the UserInfoPopup offset to be based on its width & height
instead

* Remove more debug output
2023-08-05 11:22:37 +00:00
Mm2PL b98be3b0f3
Fixed right-clicking mentions no longer working. (#4751)
* fix up rightclicking mentions

* changelog

* Merge changelog entries other PR was merged after 2.4.4
2023-08-05 11:17:34 +00:00
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
Mm2PL 89323ffa1f
Fixed tab completion rarely completing the wrong word. (#4735)
* Fixed tab completion rarely completing the wrong word.

Fixes: #3101

* Use QSignalBlocker instead of janky bool, add comment about hidden logic

* copypasteo
2023-07-31 21:34:53 +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 71594ad0d8
Remove getApp and getSettings calls from Message-Rendering (#4535)
* refactor: remove singletons from message rendering

* chore: add changelog entry

* Disable the `cppcoreguidelines-avoid-const-or-ref-data-members` clang-tidy check

* auto *app

* Selection is a struct, not a class

* Use ChannelView's `signalHolder_` instead of `channelConnections_`

* Remove `applySettings` step, instead just connect & set each setting individually

* rename & constify some context values

* Handle empty "last message color" setting value better (as it was
        originally in this pr before I removed that change :-)

* unrelated mini refactor cleanup

* let painSelection handle size_t instead of int

* Add some more comments to the MessageLayoutContext structs

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-30 12:52:39 +00:00
Brian c496a68633
Fix: Incorrect tab focus in reply threads (#4739)
* Fix: Incorrect tab focus in reply threads
fixes #4737

* Append to changelog

---------

Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2023-07-29 17:06:12 +00:00
Abhinav Neelam 9cb59f753f
focus message input when selecting emotes in emote popup (#4719)
* focus input when selecting emotes in emote popup

* changelog

---------

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2023-07-29 13:16:19 +00:00
SputNikPlop 7079729591
fix: change viewer list to chatter list (#4732)
* fix: change viewer list to chatter list

* fix: enter changelog entry
2023-07-29 10:47:24 +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 9f8a1d8823
Add command to automatically reload your theme (#4718) 2023-07-23 12:13:21 +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 5c8c05b1af
Recreate ma_device on failure (#4729) 2023-07-22 13:20:30 +00:00
Mm2PL 0e83367a2b
Force shortcuts to show in context menus on macOS (#4722)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-07-22 11:36:52 +00:00
Mm2PL ae8b2adcdd
Add accelerators to the right click menu for messages (#4705) 2023-07-22 12:54:48 +02:00