Commit graph

1712 commits

Author SHA1 Message Date
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
James Upjohn 218718e930
fix: prevent system messages from being ignored in multi-channel search (#3875) 2022-07-24 12:18:25 +02:00
Daniel Sage c58552781d
Add option to display tabs on the right and bottom (#3847)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-23 14:09:12 +00:00
Daniel Sage 3b9ac7456a
Fix crash when closing all tabs on macOS (#3860)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-23 15:42:41 +02:00
Daniel Sage 965b06677a
Fix crash when closing and quickly opening a split, then running /clearmessages (#3852) 2022-07-10 15:08:20 +02:00
Leon Richardt e1b512a373
ref: unify Split popup logic (#3848)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-07-07 17:28:38 +00:00
Leon Richardt 53a625e26e
fix(Split): always refresh tab when channel is set (#3849)
Fixes #3845

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-07-07 18:52:15 +02: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
Leon Richardt 881986d86f
fix: make popup windows have a parent per default (#3836)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-06-25 12:45:56 +00:00
pajlada 34ea303607
Move most Command variables into the CommandController shared variables (#3824) 2022-06-25 12:06:16 +00:00
Leon Richardt 6a58ce1273
feat: add Quick Switcher item to open channel in a new popup window (#3828)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-06-25 11:00:32 +00:00
Auro cdd949efd8
Moved highlight row index numbers to enum (#3829)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-06-25 09:14:19 +00:00
Brian 9583b49653
Added a Scroll to top keyboard shortcut for splits (#3802)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-06-18 11:48:55 +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
pajlada a83c139154
Fix crash that can occur when changing channels (#3799)
The signal that handled the splitinput completer never disconnected, so
if it closed it would access bad memory
2022-06-14 13:46:52 +00:00
matt d29243a2a5
Removed total views from the usercard (#3792) 2022-06-05 20:51:18 +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
Kasia a7939b727f
Organized version information (#3781)
added new `GIT_MODIFIED` variable - used to determine whether the vcs tree was compiled or not at the time of building the app
added information about running in DEBUG mode which might be very helpful to determine whether one is running a DEBUG build, e.g. in the process of troubleshooting/determining crash causes

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-06-04 19:00:42 +00:00
Kasia 5de4e9d9cc
Corrected determination of search popup's title (#3790) 2022-06-01 12:41:16 +00:00
pajlada e9e3e5a25a
Use setPlainText when finishing a completion (#3785) 2022-05-30 11:09:38 +00:00
Kasia 765a17d374
Simplify code for fake debug messages (#3775) 2022-05-29 12:53:22 +00:00
Mm2PL c8f5d35042
Added mod button-like placeholders in right click commands (#3765)
Implemented input.text to return altText when it makes no sense to contain data

Co-authored-by: Kasia <zneix@zneix.eu>
2022-05-29 12:23:29 +00:00
kornes 143f4ef2ec
Fix viewers list search when used before loading finishes (#3774)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-29 11:06:01 +00:00
badoge 57f92f5eaa
Added more streaming software to streamer mode binaries list (#3740)
Streamer mode now automatically detects if XSplit, PRISM Live Studio, Twitch Studio, or vMix are running

Co-authored-by: Kasia <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-28 12:17:42 +00:00
badoge 135f914b38
Hide category labels when searching in Viewer list (#3719)
This fixed a bug introduced in #3683

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-28 11:11:51 +00:00
xel86 3e1e30e4c2
Add scrollbar to Select filters dialog (#3737)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-28 10:25:58 +00:00
James Upjohn 57783c7478
feat: add global channel search support (#3694)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-23 00:47:16 +00:00
xel86 4239666934
Feature: execute commands on chat messages using the context menu (#3738) 2022-05-22 14:45:54 +00:00
Auro 28efd29dfa
Removed unused refreshButton pointer (#3744)
Follow-up to #1982
2022-05-17 10:44:57 +00:00
LosFarmosCTL 0605dabf31
fix: compilation on macOS without precompiled headers (#3741)
Co-authored-by: zneix <zneix@zneix.eu>
2022-05-17 10:16:33 +00:00
kornes 3bf1756579
Fix: ignore whitespaces pasted in EmotePopup search (#3730)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-16 09:42:17 +00:00
xel86 1bf31889f9
Fixed viewer list not being closable with the escape key (#3734) 2022-05-14 11:44:18 +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
kornes 07dd8c560b
Prevent user from entering incorrect characters in Live Notifications channels list (#3715)
Co-authored-by: Sidd <iProdigy@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-05-08 10:27:25 +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
LosFarmosCTL 66b9b04401
fix: raise existing emote popups from behind other windows (macOS) (#3713)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-05-07 14:31:14 +00:00
badoge d85d9d4910
Add option to open a user's chat in a new tab from the usercard avatar context menu (#3625)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-04-30 10:29:14 +00:00
kornes b825493d6e
Fix incorrect spacing of settings icons at high DPI (#3698)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-04-30 10:04:45 +00:00
badoge 7246ab38c7
Add chatter count for each category in viewer list (#3683)
Co-authored-by: Kasia <zneix@zneix.eu>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-04-24 15:54:37 +00:00
kornes f170d31ab5
Add missing tooltip hide on ChannelView leave event (#3686) 2022-04-24 17:23:23 +02:00
kornes 0de4a2160a
Add missing parent pointer to few QMessageBox and QFontDialog (#3679)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-04-16 08:59:20 +00:00
Mm2PL 45e8d1d96e
Include user's operating system information in the About page (#3663)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-04-09 12:55:27 +00:00
James Upjohn 04c355f7e9
feat: use message's original channel name when usercard popout is opened (#3623)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-04-09 11:27:21 +00:00
sando a53f8d32e1
Adjust large stream thumbnail to 16:9 (#3655)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-04-07 22:34:52 +00:00
Mm2PL 832e34186b
Fix announcement rendering (#3639)
* Fix announcement rendering

* Changelog

* Add test message to Window.cpp
2022-03-31 22:24:19 +00:00
Mm2PL 29117a930e
Add an action to select the word under the cursor (#3633) 2022-03-27 13:33:44 +02:00
qooq69 3c46572c51
Added margin to emote search (#3543)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-03-26 13:46:22 +00:00
Infinitay 554313d645
Add the ability to lock NotebookTab layout (#3627)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-03-26 14:16:45 +01:00
Mm2PL baeec59a8a
Don't grab the keyboard in channel picker dialog (#3575) 2022-03-20 16:31:56 -04:00
James Upjohn 495f4b15f4
fix: double right/middle clicking usernames starts text selection mode (#3608)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-03-19 13:22:42 +00:00
James Upjohn 67c10fafc7
chore: replace usages of obsolete twitch struct with backing field (#3614)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-03-19 11:02:29 +00:00
qooq69 5a89acbe82
Fixed SplitInput placeholder color (#3606) 2022-03-12 11:40:51 +01:00
Paweł df70ca59e3
Purged kraken (#3578)
* Purged kraken code

* Remove kraken documentation

* Update Helix documentation

* Ran prettier

* Removed kraken files from qmake build file

* Remove now unnecessary .finally() callback
2022-02-28 14:59:10 +00:00
qooq69 82196e3e82
Added incremental search to channel search. (#3544)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-02-13 15:05:38 +00:00
Mm2PL ad8246647f
Add context menu option to open the user's channel from a usercard (#3486)
Co-authored-by: Paweł <zneix@zneix.eu>
2022-02-13 01:37:14 +00:00
Infinitay 5978ed8b1f
Show context menu anywhere in MessageLayout when applicable (#3566)
Co-authored-by: James Upjohn <jammehcow@jammehcow.co.nz>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-02-13 00:46:39 +00:00
Mm2PL b2fa7b1d94
Make Tab Layout setting only accept predefined values (#3564)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-02-12 13:27:25 +01:00
pajlada 6ef8e482c3
Set window icon in the whole application instead of in BaseWindow (#3554)
This makes icon visible on Ubuntu 20.04 while using AppImage build (and possibly some other setups as well).
2022-01-30 16:08:02 +01:00
Mm2PL f4c82dfa59
Allow Hotkeys to execute moderation actions in usercards (#3483)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-01-29 16:54:57 +00:00
LosFarmosCTL b5b395f975
Colorize entire split input header instead of just the channel name (#3379)
Co-authored-by: Paweł <zneix@zneix.eu>
2022-01-22 16:23:02 +01:00
Mm2PL 6f7c3c8d7e
Made emote search not crash in non-Twitch channels. (#3527) 2022-01-22 14:05:01 +01:00
Infinitay 1d272c399b
Added ability to copy message ID with Shift + Right Click (#3481)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-01-16 13:35:00 +00:00
qooq69 687adf6b4e
Usercards no longer close when the originating window (e.g. a search popup) is closed (#3518)
Fixed being unable to open a usercard from inside a usercard while "Automatically close user popup when it loses focus" was enabled

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-01-16 12:31:24 +00:00
Patrick Geneva 201cd67e41
Larger user card drag area (#3508)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-01-16 12:31:48 +01:00
Paweł 700c9fc4f2
Don't crash upon right-clicking automod badge (#3496) 2022-01-14 02:44:13 +01:00
Leon Richardt 42002d80b7
fix: re-add build date to "About" page (#3464)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
2022-01-07 17:25:57 +01:00
Felanbird 1ba747efb1
Add login to Context Menu ignoreList (#3471) 2022-01-06 09:12:09 +00:00
Paweł 34203dfa7c
Optimize logs folder size calculation (#3427) 2022-01-05 21:17:35 +00:00
Felanbird 4f01ea4ab6
Add signup to Context Menu ignoreList (#3468) 2022-01-05 12:50:49 +00:00
Mm2PL 79db02aa66
Removed ability to reload emotes really fast (#3450)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-01-03 11:02:55 +00:00
Adam Davies 8e5468c316
Add search to emote popup (#3404)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-01-02 14:59:16 +00:00
pajlada 2b9e2bd1b0
Notebook::select now takes the optional parameter "focusPage". (#3446) 2022-01-02 15:00:19 +01:00
pajlada b031fc41ef
Fix debug hotkeys not showing up in debug builds (#3447) 2022-01-02 14:09:35 +01:00
Infinitay cbb6a9d568
Add subscriber and founder badge highlighting (#3445) 2022-01-02 13:30:53 +01:00
pajlada c26fb01df5
Fixed crash that could occur when the user closes the Settings dialog (#3444) 2022-01-01 13:15:52 +00:00
Adam Davies f64047d5ea
Add clear button to settings search bar (#3403)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-12-26 14:05:14 +00:00
Paweł 1682f0fb36
Refactor Tab completion for Twitch commands (#3144)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-12-26 14:21:52 +01:00
Mm2PL 94f7f09e73
Fixed character counter changing fonts after going over the limit (#3422)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-12-25 23:43:03 +00:00
pajlada cd77d14485
Add link to Privacy Policy and Terms of Service under the Link Previews section (#3424) 2021-12-25 13:59:39 +00:00
pajlada 51ece94f58
Update Settings and Signals version (#3398)
Co-authored-by: zneix <zneix@zneix.eu>
2021-12-19 14:57:56 +00:00
pajlada b41df18933
Fixed a crash that could occur on certain Linux systems when toggling the Always on Top flag. (#3385)
* Get `isVisible` value *before* toggling AlwaysOnTop hint

* Add changelog entry
2021-12-05 13:38:21 +01:00
mmb L ec966a1791 Remove local variables that are not referenced 2021-11-28 13:02:07 +01:00
Mm2PL f0df2fcb28
Fix Split Input hotkeys not being available when input is hidden (#3362) 2021-11-27 13:47:31 +01:00
Mm2PL 703f3717e2
Add custom hotkeys. (#2340)
Co-authored-by: LosFarmosCTL <80157503+LosFarmosCTL@users.noreply.github.com>
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-11-21 17:46:21 +00:00
Auro 3a5c2b1d33
Middle click split header to open in browser (#3356)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-11-20 13:27:26 +00:00
Felanbird f58f35292a
Fix comment typo (#3359) 2021-11-20 12:22:30 +01:00
Felanbird c19fd0d332
Add more ignored channels for context menu twitch links (#3352)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-11-14 12:21:17 +00:00
Mm2PL 1ca3dfde7f
Fixed splits losing filters when closing and reopening them (#3351)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-11-13 12:07:29 +00:00
Mm2PL 7f4b73910a
Added support for opening channels from twitch.tv/popout links. (#3309)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-11-06 13:43:03 +00:00
1xelerate a40677f4cd
feat: Add copy button for both login & display name inside the user info popout (#3335)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-11-06 12:44:27 +00:00
James Upjohn 67eff75873
feat: add "clear cache" button to settings (#3277)
Co-authored-by: Leon Richardt <leon.richardt@gmail.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-11-06 12:00:27 +00:00
Mm2PL fc4387014e
Allow for building without QtKeychain (#3318)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-10-31 19:45:23 +00:00
Felanbird d7337ff69f
Add "drops" as an ignoredUsername for context menu twitch links (#3310) 2021-10-31 12:16:07 +01:00
Ryan e24dffa961
Fix 'First Message' scrollbar highlights not being disabled (#3325)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-10-30 13:24:38 +02:00
pajlada 8ead95b959
Flatten the scrollbar highlight iteration (#3326) 2021-10-30 10:54:43 +00:00
Mm2PL c33efab751
Add includes so Chatterino compiles without PCH (#3308) 2021-10-26 17:20:28 +02:00
apa420 4a90f10df9
Fixed Searching for subcategories (#3157)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-10-24 18:04:24 +02:00
Auro 696979e9a3
Add chatter count to viewer list popout (#3261)
Co-authored-by: Paweł <zneix@zneix.eu>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2021-10-24 17:27:18 +02:00
Mikulex 3f12d5bb3b
Fix "Change channel" popup title (#3273)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2021-10-23 11:22:54 +00:00