aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-01-07isJobRunning() -> isJobPending()Kitsune Ral
To be very clear what this function checks. See also #437.
2021-01-07BaseJob: setStatus(Pending) on scheduling a retryKitsune Ral
Fixes #437. (cherry picked from commit 12e00b234e5c5f4ed57b5c400d06f780e71014f4)
2021-01-07Connection::resolveServer: abandon is not a failureKitsune Ral
So just reset the base URL and return, with no error signals. (cherry picked from commit be00308ad67286b45912202750fe49fb87f16e4a)
2021-01-07BaseJob: more loggingKitsune Ral
(cherry picked from commit 4f06d46d6d6062d6d17f69eeaddb7810edac5bbf)
2021-01-07Prefer connecting to BaseJob::result(), not finished()Kitsune Ral
...because finished() includes abandoning and should only be relevant when lifecycle issues are involved. (cherry picked from commit 90d41b697af39253483d9bcca4e57b11d2197112)
2021-01-07Connection::resolveServer: abandon is not a failureKitsune Ral
So just reset the base URL and return, with no error signals.
2021-01-07BaseJob: setStatus(Pending) on scheduling a retryKitsune Ral
Fixes #437.
2021-01-07BaseJob: more loggingKitsune Ral
2021-01-07Prefer connecting to BaseJob::result(), not finished()Kitsune Ral
...because finished() includes abandoning and should only be relevant when lifecycle issues are involved.
2021-01-07Merge pull request #436 from heirecka/datadir-instead-hard-coding-shareKitsune Ral
Use CMAKE_INSTALL_DATADIR instead of hard-coding share
2021-01-06Use CMAKE_INSTALL_DATADIR instead of hard-coding shareHeiko Becker
Signed-off-by: Heiko Becker <heirecka@exherbo.org>
2021-01-02Drop .travis.ymlKitsune Ral
[skip ci]
2021-01-02Drop .travis.ymlKitsune Ral
[skip ci]
2021-01-02.clang-format: backport ClangFormat compat fixesKitsune Ral
Cherry-picked and squashed from 2fed7f8a and 23cf8bec.
2021-01-02Backport .github/workflows/ci.yml from masterKitsune Ral
Mostly taken from #434, except removed E2EE matrix variants since E2EE is not ready on 0.6.x and is discouraged from using.
2021-01-02Merge pull request #434 from quotient-im/kitsune-gha-ciKitsune Ral
Migrate to GitHub Actions
2021-01-02Add Valgrind on LinuxKitsune Ral
2021-01-01GTAD requires GCC 8 at leastKitsune Ral
2021-01-01Add update-api supportKitsune Ral
Along adding update-api support DESTDIR and CMAKE_ARGS were moved to the environment setup step in order to use `${{ runner.workspace }}` for installation and not pollute `${{ github.workspace }}` where libQuotient sources reside.
2021-01-01Better quotest origin line; setup CC/CXX globallyKitsune Ral
There's no "job number" anymore but a textual description of the job is even better.
2021-01-01A few renames; trigger by PRs too; start quotestKitsune Ral
2021-01-01Add E2EE config; install libQuotient, build quotestKitsune Ral
2021-01-01Use the default path to install QtKitsune Ral
2021-01-01Fix using a C compiler for CXX; don't fail-fastKitsune Ral
2021-01-01.clang-format: more old ClangFormat compatKitsune Ral
2021-01-01.clang-format: ensure older ClangFormat compatibilityKitsune Ral
IndentGotoLabels is a ClangFormat 10 thing
2020-12-29First shot at GHAKitsune Ral
2020-12-29Connection: fix FTBFS with Quotient_E2EE_ENABLEDKitsune Ral
(cherry picked from commit 0f974c0f96f29035ee766e8913504fed4a4903a5)
2020-12-28Merge pull request #425 from ognarb/stickerKitsune Ral
Add support for stickers
2020-12-28Merge branch 'kitsune-fix-msvc-build' into masterKitsune Ral
2020-12-28Connection: fix FTBFS with Quotient_E2EE_ENABLEDKitsune Ral
2020-12-28event.h: Fix breakage of AppVeyor CIKitsune Ral
The breakage was caused by 639f1d48.
2020-12-28Add cmake changeCarl Schwan
2020-12-28Add support for sticker eventsCarl Schwan
2020-12-28Room: inline a once-used variableKitsune Ral
2020-12-28Room: really fix namesakes assertion failureKitsune Ral
This removes now-deprecated RoomMemberEvent API usages and also does a few more things differently from the stable branch. Rather than rely on prev_content (the way pre-0.7 goes), processStateEvent() now includes a pre-check for no-op state events (the fix in ff020f3b turned out to be insufficient for such events and they still caused the same assertion failure at some point down the line). Now the state event is only added to currentState and, where relevant, to baseState, if it actually changes the room state; otherwise, it is ignored for the purpose of state tracking (even when still added to the timeline, if it came in the timeline block). One side-effect of this change is that processStateEvent() now returns OtherChange instead of NoChange for unknown state events. At the same time removeMemberFromMap() now has an additional safety net, making sure that a given user is actually deleted from the map even if their name is mismatched. This comes at a cost of looking through the whole hashmap but normally should not occur with the current code that shaves away no-op state events. We'll only see when some client starts to actively use 0.7 (quotest doesn't trigger those).
2020-12-28Add a new logging category for room member changesKitsune Ral
MEMBERS, aka quotient.events.members.* - this was promised in ff020f3b but not actually done "before merging".
2020-12-28Use generated SetReadMarkerJob instead of PostReadMarkersJobKitsune Ral
2020-12-28Connection: refactor the resolve/login codeKitsune Ral
1. resolveServer() now emits homeserverChanged() even when there's no .well-known file found. 2. checkAndConnect() entirely removed from the header file. 3. Sunny-day scenario for assumeIdentity() is now asynchronous, triggering a call to /whoami to double-check the user. (based on commit 6c9ff40dbd91cc4966f0ecf9ed817efc2495a2fb to master)
2020-12-28Cleanup and clang-tidy/clazy fixesKitsune Ral
(cherry picked from commit 56c1db077b5da653c230432abc6c746318a77bed)
2020-12-28BaseJob::initiate: add Q_LIKELYKitsune Ral
...to show the sunny-day case. (cherry picked from commit 5d15e3b23649a54abdb3812c10f4a7d2ce07d7dd)
2020-12-28BaseJob::initiate: add Q_LIKELYKitsune Ral
...to show the sunny-day case.
2020-12-28Cleanup and clang-tidy/clazy fixesKitsune Ral
2020-12-28Connection: refactor the resolve/login codeKitsune Ral
1. resolveServer() now emits homeserverChanged() even when there's no .well-known file found. 2. checkAndConnect() entirely removed from the header file. 3. Sunny-day scenario for assumeIdentity() is now asynchronous, triggering a call to /whoami to double-check the user. 4. LoginFlow aliases is moved out from LoginFlows to Quotient namespace.
2020-12-28More comments/documentationKitsune Ral
Notably, recommend using loginFlowsChanged() rather than homeserverChanged() to detect when a Connection object is ready for a login sequence. Related: #427.
2020-12-28event.h: Minor tweaks around visit<>Kitsune Ral
2020-12-27Fix use-after-free of QNetworkReply in BaseJobNicolas Fella
Usually QNetworkAccessManager expects the user to delete the replies, but when the QNetworkAccessManager itself is deleted it deletes all pending replies (https://code.woboq.org/qt5/qtbase/src/network/access/qnetworkaccessmanager.cpp.html#529). This can lead to use-after-free crashes when d->reply is accessed. By putting the reply into a QPointer the exiting if(d->reply) checks can work properly. (cherry picked from commit 9d854e778d8d6ef8e03e1ea74fe958675b24fd45)
2020-12-27function_traits<>: define as empty by defaultKitsune Ral
An incomplete type was preventing some SFINAE cases for literal types.
2020-12-27Merge pull request #430 from nicolasfella/replycleanupKitsune Ral
Fix use-after-free of QNetworkReply in BaseJob
2020-12-27Fix use-after-free of QNetworkReply in BaseJobNicolas Fella
Usually QNetworkAccessManager expects the user to delete the replies, but when the QNetworkAccessManager itself is deleted it deletes all pending replies (https://code.woboq.org/qt5/qtbase/src/network/access/qnetworkaccessmanager.cpp.html#529). This can lead to use-after-free crashes when d->reply is accessed. By putting the reply into a QPointer the exiting if(d->reply) checks can work properly.