* Make main.cpp's toxSave free functions into a ToxSave class so that it can be
given Settings on construction.
* Add void* to IPC callbacks so that classes can get back to themselves.
Grossly expose it publicly from Nexus for the time being since Profile is
sometimes constructed from main, while Nexus is also a singleton. So
CameraSource can't be constructed in main and be passed in to Nexus on
construction. This should be temporary, until Nexus's singleton is
removed as well.
foo=dirname "$0" only works if the script is called with an absolute path and
that path contains no spaces. Add quotes everywhere to contain spaces in
directory names or file names, and add realpath to get the absolute path
regardless of call path.
Not necessarily needed, but like in e405868037
it can avoid some annoying issues when e.g. that script was called with a
relative path in CI.
This reverts commit fd2997c2db.
Core tests are no longer online, so no longer are flaky nor tie up many
minutes of test runner time. So re-enable for all jobs.
Re-use tox instances between tests to avoid re-bootstrapping or re-requesting
friendship, saving time. Test case order within core_test is now important.
Taken directly from 9777aa619d/warnings
* Remove Wuseless-cast, because Qt's MOC-generated code hits it.
* Remove Wduplicated-branches, Wduplicated-branches, Wformat-truncation
because they aren't supported on our oldest CI job.
* Move free functions to the anonymous namespace
* Additionally move static free functions to the anonymous namespace
* Move functions that must be accessed externally to static class functions
Avoid shadowing variables:
* Rename variables to something better if possible
* If not, postfix shadowing arguments with _. Favour leaving member
variables without postfixes.
* Rename variables prefixed with _ to avoid library function collisions
* Avoid double underscore anywhere in names
* Make definition and declaration argument names match where seen
* Favour using class variable over argument variable, where equivalent
* Remove explicit this-> where equivalent
Makes it so that looking back in chat history, you can see which users you were
connected to for any message. Otherwise self client restarts are unseen.
Follows showGroupJoinLeaveMessages setting which defaults to false, so only
users who opt in will see the messages.
Scrap generic numArg handling. It somewhat increases complexity and doesn't
reduce code either.
They're still slightly flaky even with insanely long timeouts, and even when not they waste a huge amount of our runner time sitting and waiting for the DHT to disconnect and reconnect.
Still run on our fedora job to get almost all of the benefit, plus AddressSanitizer is enabled there for better testing synergy.