aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-09jobs/generated: content-repo.*, create_room.*Kitsune Ral
2018-01-09jobs: expect application/json by default; set query in constructor body; ↵Kitsune Ral
properly convert numbers to strings in query The query should be set in constructor body because there's no reason to pass non-required parameters into the query. As for numbers to strings conversion - there was an attempt to use QJsonValue(a).toString() for that. That doesn't work; QJsonValue does not turn numbers to strings.
2018-01-09jobs/generated: Use BaseJob::addExpectedContentType()Kitsune Ral
2018-01-09BaseJob: Provide a simplified constructorKitsune Ral
2018-01-09BaseJob, MediaThumbnailJob: Support request and response headersKitsune Ral
Enable specifying headers in the request and checking/using headers in the response.
2018-01-09jobs/generated: Polish formatting; other minor cleanupKitsune Ral
2018-01-09BaseJob: change initial job status from NoError to PendingKitsune Ral
Otherwise isJobRunning() is of no great use.
2018-01-09Fix an occasional crash when resolving a server nameKitsune Ral
Closes #149.
2018-01-09Avatar: Use QPointer<> and isJobRunning()Kitsune Ral
2018-01-09Avatar: Mark get() as const operationKitsune Ral
With all the liberty that pimpl idiom gives it's easy to get away without proper const's; but let's be consistent :)
2018-01-09isJobRunning() facility functionKitsune Ral
2018-01-09Avatar: Use Connection::getThumbnail instead of callApi<>Kitsune Ral
2018-01-06Add a missing #includeKitsune Ral
std::bind belongs to <functional>, don't rely on implicitly including it from other standard headers.
2017-12-30BaseJob: do not suppress SSL errorsKitsune Ral
It is the application's responsibility to properly display the error and get confirmation from the user about it.
2017-12-30QMatrixClient::NetworkAccessManager (singleton Qt NAM that remembers ignored ↵Kitsune Ral
SSL errors) Closes #145.
2017-12-29Don't use generic lambdas in initialisersKitsune Ral
This seems to upset MSVC.
2017-12-29Fix building with Microsoft's standard libraryKitsune Ral
2017-12-29Allow to customize and connect to the used QNetworkAccessManager from clientsKitsune Ral
We don't really want to let the world know that we use the only instance of NAM; instead, we provide a point of customisation to whatever NAM is created in ConnectionData, in the form of a static customizeNetworkAccess() method that gets a function to run on a/the created NAM. This function can do additional configuration on NAM (such as setting a proxy factory, network configuration, or caching) and/or connect to its signals, such as sslErrors() and proxyAuthenticationRequired(). Closes #143.
2017-12-29Use std::unique_ptr instead of bare pointers; cleanup stale declarationsKitsune Ral
2017-12-28NetworkSettings: add setupApplicationProxy() accessible from QML; proxyPort ↵Kitsune Ral
is quint16 now setupApplicationProxy(), so that clients in QML could apply changes in proxy settings without going down to C++. quint16, because this is a type actually used by QNetworkProxy.
2017-12-28Switch from QPixmap to QImage; add convenience avatar() overloads to Room ↵Kitsune Ral
and User The switch is necessary because MediaThumbnailJob is supposed to return something that can be worked on in non-GUI threads (as is the case of QML image providers), and QPixmap is not supposed for usage out of the main thread.
2017-12-27Introduce StateEventBase - a non-template base for StateEvent<>Kitsune Ral
This will hold common logic for all state events, including the newly introduced repeatsState() that returns true when prev_content repeats content. This will be used to address QMatrixClient/Quaternion#245.
2017-12-27StateEvent<>: Look for prev_content in unsigned, not top-levelKitsune Ral
2017-12-26NetworkSettings: store proxy configurationKitsune Ral
No credentials, just type, host, and port.
2017-12-26Settings: factored out common declarations/definitions to macrosKitsune Ral
It cannot be made in templates because property and methods names are involved.
2017-12-25CMakeLists: Add -W to the mixKitsune Ral
2017-12-25qmake: Use QMAKE_CXX_FLAGS_WARN_ON rather than QMAKE_CXX_FLAGSKitsune Ral
Because the damn thing puts QMAKE_CXX_FLAGS before what's put by CONFIG, and CONFIG injects -W -Wall that cancels -Wno-unused-parameter.
2017-12-25Connection: change the attempt number propagated from BaseJobKitsune Ral
2017-12-25BaseJob: further minor code cleanupKitsune Ral
2017-12-25qmake: Use the compiler specified in the environment; revert to CONFIG += c++14Kitsune Ral
qmake doesn't follow standard CC and CXX environment variables and its CONFIG produces CXX_FLAGS added after QMAKE_CXX_FLAGS. Big thank you to The Qt Company :-|
2017-12-25qmake: Use -std=C++14, not -std=gnu++1y substituted for CONFIG += c++14Kitsune Ral
2017-12-25Polished warnings configurationKitsune Ral
The whole thing should go without or almost without warnings with GCC and with Clang (MSVC is another story and I don't care about it much).
2017-12-25Room: Remove C++14 code from the header fileKitsune Ral
This will provide some backwards-compatibility to clients that are not ready to move _their_ code to C++14 (at least, it will allow them to not add C++14 requirement to their makefiles as of yet).
2017-12-25BaseJob: consolidate job timeout configurationKitsune Ral
This prepares the backend to enable timeouts/retry intervals configurable from clients.
2017-12-25Connection: Be more accurate with lambda capturesKitsune Ral
2017-12-25Fix CIKitsune Ral
Old GCC was still invoked; qmake-based builds weren't switched to C++14.
2017-12-25Now really switching to the new toolchain: C++14, GCC/Clang 5, Qt 5.6Kitsune Ral
Also a bit of code tightening with some C++14 (but not only) things.
2017-12-25ReceiptEvent: use QVector instead of std::vectorKitsune Ral
Because we should practice what we preach in CONTRIBUTING.md.
2017-12-25CONTRIBUTING.md refreshed and slightly extendedKitsune Ral
2017-12-25Use pimpl for AvatarsKitsune Ral
2017-12-25Code cleanupKitsune Ral
2017-12-25Qt 5.6 or newer is required from now onKitsune Ral
2017-12-21Connection::logout: supply receiver to connect(job,...)Kitsune Ral
2017-12-20Connection::accessToken - return QByteArray instead of QStringKitsune Ral
Because that's what it really is.
2017-12-20Clean away legacy settings when possibleKitsune Ral
Otherwise they stick around when deleting actual settings (e.g. at logout).
2017-12-19Don't use LoginJob::homeServer() anymoreKitsune Ral
Because the respective parameter in /login result is deprecated. Closes #137.
2017-12-16Connection: proactively create a Room object upon joining a roomKitsune Ral
So that clients could start using this object without waiting for the next sync.
2017-12-16CMakeLists.txt: Make -Wreturn-type an errorKitsune Ral
Because a missing return in a non-void function is always an error.
2017-12-16Fix an assertion failure when redacting an unknown eventKitsune Ral
Closes #135.
2017-12-14Another fix for CI on OSXKitsune Ral