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