aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-04Add tests for prettyPrint()Alexey Rusakov
2021-10-04prettyPrint(): tighten up Matrix identifier regexAlexey Rusakov
It was too permissive on characters before the identifier and also allowed the domain name to start on dash, which should not occur. Closes #512.
2021-10-04AccountRegistry: minor code cleanupAlexey Rusakov
2021-09-28SyncData: drop a shortcut that led to ignoring invitesAlexey Rusakov
Fixes #510.
2021-09-19Use C++ instead of commentingAlexey Rusakov
2021-09-18Merge pull request #505 from TobiasFella/encryptedfileAlexey Rusakov
2021-09-18Add the encryptedfile to the eventcontentTobias Fella
2021-09-15Merge pull request #507 from TobiasFella/roomcreationtypesAlexey Rusakov
Add room types to RoomCreateEvent
2021-09-14Add room types to RoomCreateEventTobias Fella
2021-09-12Merge pull request #506 from TobiasFella/activateencryptionAlexey Rusakov
Add convenience function for activating encryption
2021-09-12Merge pull request #499 from TobiasFella/mxcnamAlexey Rusakov
Implement the mxc protocol in the NetworkAccessManager
2021-09-12Fix a memory leak in DownloadRunnerAlexey Rusakov
2021-09-12Fix building with older QtAlexey Rusakov
2021-09-12Connection: update AccountRegistryAlexey Rusakov
Clients don't need to do it themselves.
2021-09-12MxcReply: make sure to create a Private objectAlexey Rusakov
2021-09-12NAM::createRequest(): more loggingAlexey Rusakov
2021-09-12Add a download test to quotestAlexey Rusakov
2021-09-11Add convenience function for activating encryption and fixTobias Fella
EncryptionEvent constructor
2021-09-11BaseJob: deprecate endpoint accessors; query returns an objectAlexey Rusakov
To provide more room for internal changes in BaseJob.
2021-09-11Further tweaks to MxcReplyAlexey Rusakov
- QNetworkReply::isSequential() already returns `true`, there's no need to overload it again. - Use `Q_SLOTS` instead of `slots` because it's an external library interface and clients may use other libraries using `slots` identifier; - Use `emit` instead of `Q_EMIT` because this is a part of internal implementation and if we ever use a library that has an `emit` identifier, a massive search-replace will be in order anyway. - Use `QMetaObject::invokeMethod()` with a queued connection as a clearer way to achieve the same goal as `QTimer::singleShot(0, ...)`.
2021-09-11Don't parent NAM to QCoreApplicationAlexey Rusakov
QThreadStorage accepts ownership over stored objects.
2021-09-10Move URL creation to Room/Connection; use query instead of fragmentAlexey Rusakov
The query is easier to manipulate; and the original mxc URL is not used for the real network request anyway.
2021-09-10Add "quotient.network" logging categoryAlexey Rusakov
2021-09-10Percent-encode all the thingsTobias Fella
2021-09-10Return a failed MxcReply on invalid requestsTobias Fella
2021-09-10Update lib/networkaccessmanager.cppTobias Fella
Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net>
2021-09-10Update lib/networkaccessmanager.cppTobias Fella
Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net>
2021-09-09Straighten up file transfer cancellationAlexey Rusakov
There was a mess with fileTransferCancelled(); it was only emitted when a download (but not an upload) was cancelled; besides, in case of downloads a file transfer info structure was getting deleted whereas uploads left a file transfer in Cancelled status. This all now converges on: - fileTransferFailed() for both failures and cancellations (to simplify slot connection, and also to follow the practice in, e.g., Qt Network). - the file transfer info structure is kept around in Cancelled status, following the logic used for failures. There's no particular cleanup which may become a problem if one uploads and cancels many times (download file transfers are keyed to event ids, mitigating the problem); this will be fixed in another commit. Closes #503. Closes #504.
2021-09-07Fix showing non-animated ImagesTobias Fella
2021-09-05Create a NAM for each threadTobias Fella
2021-09-05Implement the mxc protocol in the NetworkAccessManagerTobias Fella
Allows images to be loaded using the NetworkAccessManager instead of an ImageProvider
2021-09-03Merge pull request #500 from quotient-im/kitsune/bump-minimal-versionsAlexey Rusakov
Require CMake 3.16, kindly ask for C++20; drop qmake
2021-09-03Tacitly allow CMake 3.13 to keep LGTM workingAlexey Rusakov
Also: drop olm from the LGTM build environment, it's of no use there for now.
2021-09-03CONTRIBUTING.md: update code conventions to C++20Alexey Rusakov
2021-09-03CI experiment: requires GCC 10 and Clang 11Alexey Rusakov
2021-09-03Require CMake 3.16; drop qmake; use C++20 and newer compilersAlexey Rusakov
Also, refresh the documentation a bit.
2021-09-02Merge pull request #495 from quotient-im/kitsune-ci-windows-codeqlAlexey Rusakov
CI: add Windows, CodeQL
2021-09-01Drop .appveyor.ymlAlexey Rusakov
2021-09-01CMakeLists: allow to pass clang-format options in CLANG_FORMATAlexey Rusakov
This supersedes passing clang-format options in a separate CLANG_FORMAT_ARGS CMake variable.
2021-09-01CMakeLists: fix resolving gtad on WindowsAlexey Rusakov
2021-09-01Change GTAD/matrix-doc pathsAlexey Rusakov
`${{ runner.workspace }}` is, unfortunately, not portable to Windows.
2021-09-01Add update-api on Windows pipelineAlexey Rusakov
2021-09-01Fix bin path differences between POSIX and WindowsAlexey Rusakov
2021-09-01Fix building with MSVCAlexey Rusakov
Turned out it was broken, and I was looking the other way.
2021-09-01Add Windows, CodeQLAlexey Rusakov
Windows and CodeQL snippets picked from Quaternion
2021-09-01Merge pull request #498 from TobiasFella/versioninfoAlexey Rusakov
Add functions and macros to query for Quotient's version
2021-08-31Add functions and macros to query for Quotient's versionTobias Fella
2021-08-30Room: displayNameForHtmlAlexey Rusakov
This is useful for cases when the room display name is returned to QML that doesn't have an equivalent of QString::toHtmlEscaped().
2021-08-30SettingsGroup, AccountSettings: simplify constructorsAlexey Rusakov
The parameter packs intended to pass organisation/application names to QSettings never worked that way since Quotient::Settings didn't have that parameter pack in its constructor. On the other hand, setting organisation/application name using static methods before constructing the first settings object has been working just fine so far. If someone needs to create a settings object with customised org/app name for some reason (sneaking settings from other apps?), those can be brought back in a working manner and without breaking API/ABI even.
2021-08-26Merge pull request #497 from TobiasFella/accountregistryAlexey Rusakov
Add AccountRegistry