* 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
Chatterino 2

Chatterino 2 is a chat client for Twitch.tv. The Chatterino 2 wiki can be found here. Contribution guidelines can be found here.
Download
Current releases are available at https://chatterino.com. Windows users can also install Chatterino from Chocolatey.
Nightly build
You can download the latest Chatterino 2 build over here
You might also need to install the VC++ Redistributables from Microsoft if you do not have it installed already.
If you still receive an error about MSVCR120.dll missing, then you should install the VC++ 2013 Restributable.
Building
To get source code with required submodules run:
git clone --recurse-submodules https://github.com/Chatterino/chatterino2.git
or
git clone https://github.com/Chatterino/chatterino2.git
cd chatterino2
git submodule update --init --recursive
Building on Windows with vcpkg
Code style
The code is formatted using clang format in Qt Creator. .clang-format contains the style file for clang format.
Get it automated with QT Creator + Beautifier + Clang Format
- Download LLVM: https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/LLVM-11.0.0-win64.exe
- During the installation, make sure to add it to your path
- In QT Creator, select
Help>About Plugins>C++>Beautifierto enable the plugin - Restart QT Creator
- Select
Tools>Options>Beautifier - Under
GeneralselectTool: ClangFormatand enableAutomatic Formatting on File Save - Under
Clang FormatselectUse predefined style: FileandFallback style: None
Qt creator should now format the documents when saving it.
Doxygen
Doxygen is used to generate project information daily and is available here.