Commit graph

3855 commits

Author SHA1 Message Date
Mm2PL
756bd90b17
Fix weird IRC channels causing crashes due to bad cast (#3918) 2022-08-11 18:29:04 +02:00
Rasmus Karlsson
76a891c5de Revert "Reduce GIF frame window from 30ms to 20ms (#3886)"
This reverts commit ebc7852f9f.
2022-08-06 19:29:08 +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
Leon Richardt
2dd37ca210
chore: warn when parsing environment variable fails (#3904)
* chore: warn when parsing environment variable fails

* doc: update changelog
2022-08-06 13:38:10 +02:00
Troy
ebc7852f9f
Reduce GIF frame window from 30ms to 20ms (#3886)
* fix frame timings

* add changelog
2022-08-01 00:15:12 +02:00
pajlada
109fb5c016
Only run clang-tidy CI Action on PRs (#3892) 2022-07-31 15:32:43 +00:00
pajlada
81773c7d30
Add .clang-tidy file and CI (#3890)
The CI comments are optional
2022-07-31 14:16:22 +00: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
Daniel Sage
bda060f42e
Delete .pri files, move warnings to src/CMakeLists.txt (#3883) 2022-07-30 12:39:13 +02: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
Mm2PL
044dd8a616
Remove official support for QMake (#3839)
* delet chatterino.pro

* Update documentation

* Update Github Actions config

* Update Cirrus CI config

* Attempt to fix Cirrus CI

* Add changelog entry

* Delete tools/update_filelist.py

It was a QMake-only script? Maybe will need revert + change to CMake or something?

* fix?

* Fuck this linter

* Attempt to clean up build.yml a little

* Add cmaake to install list, remove step for qmake PATH

* Change list entries to always use 1.

Sneaky unrelated change

* These are no longer tests!

* FUCK YOU PRETTIER

* Make BUILDING_ON_LINUX.md simpler

* Get rid of Jenkins

* Get rid of travis

* Remove dupes

* Remove appveyor

* Remove qmake from conanfile

* Try removing explicit qmake path

* Nothing uses the qt style plugins installer anymore

* Update manual linux building instructions

* Update freebsd compilation instructions with a copy paste from the linux instructions

* Remove unused docker files

* Remove linux breakpad build script as it's unused

* Update changelog entry phrasing

* Lint build markdown files

* Change top changelog entry to not be confused as a link

* Skip QtCreator conan setup if conan is disabled

This reduces the amount of warnings & errors Windows users get with
QtCreator

* lint building on linux file

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2022-07-23 14:04:29 +02:00
Brian
9aa15f1ff5
Windows OpenSSL link update (#3864) 2022-07-16 23:03:15 +00: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
Johannes
3341a44fb5
add potentially missing qt5 dependency (#3851)
Co-authored-by: Kasia <zneix@zneix.eu>
2022-07-06 16:30:26 +00:00
Mm2PL
bbadbc4b33
Add logging to experimental IRC (#2996)
Co-authored-by: xHeaveny <69117321+xHeaveny@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-07-02 09:42:28 +00:00
dependabot[bot]
0ab53d62ea
Bump lib/magic_enum from 6956c56 to 4802f79 (#3843)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-29 10:13:11 +02:00
Jaxkey
1456838dbb
Add Jaxkey to contributors list (#3842) 2022-06-28 17:19:56 +00: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
Felanbird
2bf58fba17
Updated Building On Windows OpenSSL information (#3840) 2022-06-26 23:35:59 +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
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
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
pajlada
6e0852fb49
Update WinToast to the latest version available at 2022-06-25 (#3834)
Closes #3817
2022-06-25 10:31:54 +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
exstrim401
95e6d8ac2f
Add icon in the CMake macOS bundle (#3832) 2022-06-25 10:42:50 +02: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
Brian
fd87cbb626
Strip leading @ from usernames in the /block and /unblock commands (#3816)
Co-authored-by: Felanbird <41973452+Felanbird@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
2022-06-18 11:18:51 +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
f3f340335f
Make generic version of batcher function (#3822) 2022-06-17 20:52:20 +02: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
Kasia
28744810c4
Bump Qt 5.12.10 to 5.12.12 (#3809)
Normalize cache method between build and test workflow
Normalize Qt install method between build and test workflow
Add explicit Qt version in test workflow
Allow builds to be triggered through workflow dispatch https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch
2022-06-14 14:48:21 +02:00
Kasia
683701623a
Added interface for highlights to Application (#3808) 2022-06-09 14:37:52 +00:00
pajlada
9219647b6a
Fix highlights not showing in mentions (#3801) 2022-06-06 15:36:53 +02: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
pajlada
6c38d3ecab
Add the ability to skip generation of git and date data (#3800)
This can be done by setting the `CHATTERINO_SKIP_DATE_GEN` and `CHATTERINO_SKIP_GIT_GEN` environment variables
2022-06-05 14:44:20 +00:00
Brian
a95abc3421
Fixed broken openssl link (#3797) 2022-06-04 21:47:38 +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
Brian
a693bc23f8
Updated boost convenience link (#3796)
Updating from beta to stable release of 1.79
2022-06-04 18:20:58 +00:00
Felanbird
b580b98365
Update Windows build docs to rename the correct folder (#3795) 2022-06-04 17:48:57 +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