Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-02-22 | RoomMemberEvent: add isRejectedInvite(), isBan(), and isUnban() | Karol Kosek | |
2020-02-07 | Fix build on big-endian systems | Andres Salomon | |
On little-endian systems, this call to qToLittleEndian(hash) disappears completely. On big-endian systems, it turns into qbswap(hash), and causes a build error. qbswap() isn't defined for QByteArrays, because QByteArray isn't an array containing multi-byte elements. Since each element is a single byte, machine endianness isn't a factor. (If we really wanted to swap the bytes, we'd need to reverse every 4 bytes of the array.) This just drops the call to QToLittleEndian completely. The lines after it converts part of the hash to a QDataStream, which DOES have to worry about endianness, but that code is also specifically calling QDataStream::setByteOrder to specify little-endian. | |||
2020-01-12 | Use parsed RoomPowerLevelsEvent in room upgrading | Black Hat | |
2020-01-01 | Fix linux build | Black Hat | |
2020-01-01 | Fix linux build | Black Hat | |
2020-01-01 | Add powerLevelForState() | Black Hat | |
2020-01-01 | Mark methods as const. | Black Hat | |
2019-12-30 | Simplify code | Black Hat | |
2019-12-29 | Add missing file | Black Hat | |
2019-12-29 | Merge branch 'master' of https://github.com/quotient-im/libQuotient into ↵ | Black Hat | |
bhat-powerlevel | |||
2019-12-29 | Add RoomPowerLevelEvent type | Black Hat | |
2019-12-28 | isEditing(): fix a bug in replacing events | Black Hat | |
2019-12-24 | RoomMemberEvent: introduce the reason field (MSC2367) | Kitsune Ral | |
See https://github.com/matrix-org/matrix-doc/pull/2367. Closes #370. | |||
2019-12-23 | ConnectionData::submit: when not queuing, still submit asynchronously | Kitsune Ral | |
Otherwise BaseJob::messageSent has every chance to be overlooked by clients who subscribe to it after calling callApi(). | |||
2019-12-23 | Connection::forgetRoom: slightly simplify code | Kitsune Ral | |
2019-12-13 | Room: make downloaded file name building more robust | Kitsune Ral | |
Specifically, handle colons and long file names gracefully. Closes #366. | |||
2019-12-13 | Room::postFile(): minor refactoring | Kitsune Ral | |
2019-12-12 | BaseJob::initiate(): fix nullptr dereferencing | Kitsune Ral | |
2019-12-12 | Room::downloadFile: minor cleanup | Kitsune Ral | |
2019-12-12 | BaseJob: prepare() -> initiate() + refactoring around it | Kitsune Ral | |
* BaseJob::initiate() now calls ConnectionData::submit() without relying on Connection to do that * ConnectionData::submit() is now the only site where a job enters Pending state * No more shortcuts to BaseJob::sendRequest(), even retries are sent through the ConnectionData submission queue * Additional validation in BaseJob::initiate() that the request data device is actually open (because QtNetwork API officially requires that, even if you can get away passing a closed QBuffer to it) | |||
2019-12-12 | Connection::uploadFile/Content(): refactoring around QIODevice::open() | Kitsune Ral | |
No more "The file is already open" log messages. | |||
2019-12-12 | Move FileError definition from DownloadFileJob to BaseJob | Kitsune Ral | |
Will use it in BaseJob in a later commit. | |||
2019-12-12 | Room::fileNameToDownload(): fix a typo in a check on Windows | Kitsune Ral | |
As a result of the typo, the extension was never attached to returned file names if there was none originally. | |||
2019-12-12 | RequestData: optimise fromData() and preopen the buffer | Kitsune Ral | |
It was just a coincidence that QBuffer allowed reading from it without being isReadable() at the moment of starting a job. | |||
2019-12-11 | Merge branch 'kitsune-better-upgrade-ux' | Kitsune Ral | |
2019-12-11 | BaseJob::StatusCode: offset first error from ErrorLevel | Kitsune Ral | |
Q_ENUM seems to resolve int to the first enum identifier with that value so NetworkError == ErrorLevel looks confusing in logs. | |||
2019-12-11 | Pass action scope to Room::setTags | Kitsune Ral | |
The tags can now be applied not only to the current room but also propagated to its predecessors and successors. | |||
2019-12-09 | Room::creation() and Room::tombstone() | Kitsune Ral | |
2019-12-09 | Room::predecessor() and Room::successor() | Kitsune Ral | |
2019-12-09 | RoomEvent::timestamp() -> originTimestamp() | Kitsune Ral | |
The previous name is still available but deprecated. | |||
2019-12-09 | Code cleanup | Kitsune Ral | |
2019-12-09 | Room: more doc-comments | Kitsune Ral | |
2019-12-09 | Initialise read marker if none is found in the whole timeline | Kitsune Ral | |
Closes #361. | |||
2019-12-09 | Merge branch 'kitsune-look-further-for-redactions' | Kitsune Ral | |
2019-12-08 | Merge pull request #365 from quotient-im/aa13q-msc1954-drop-prev-content | Kitsune Ral | |
MSC1954: Remove prev_content from the essential keys list | |||
2019-12-08 | Room::addNewMessageEvents: search the whole sync batch for events to | Kitsune Ral | |
redact It seems that sometimes redactions may precede the unredacted events within the same sync batch. | |||
2019-12-08 | ConnectionData: stop the timer on destruction | Kitsune Ral | |
...to prevent from trying to send requests after closing the connection. | |||
2019-12-08 | Remove extraneous qualification | Kitsune Ral | |
2019-12-06 | MSC1954: Remove prev_content from the essential keys list | Alexey Andreyev | |
Fixes #318 | |||
2019-11-30 | Fix room highlighting for names with hashtag | Alexey Andreyev | |
Fixes #359 | |||
2019-11-19 | BaseJob: Don't send accessToken if not needed; send again on 401 | Kitsune Ral | |
The first part closes #358; the second part is a workaround for non-standard cases when endpoints without security by the spec turn out to be secured (in particular, the case of authenticating media servers). | |||
2019-11-10 | Cleanup | Kitsune Ral | |
2019-11-10 | makeRedacted: fix code formatting | Kitsune Ral | |
2019-11-02 | Compatibility with Qt 5.14 | Kitsune Ral | |
2019-11-01 | Omittable: Add direct-list-initialising operator=; document | Kitsune Ral | |
See the change in connection.cpp for the example of usage. Also: removed static_asserts: the first one is provided by std::optional, and the second one is only relevant to edit(). | |||
2019-11-01 | Reinstate Omittable<>::omitted (deprecated) | Kitsune Ral | |
To ease on back-compatibility. | |||
2019-11-01 | Omittable: get rid of value() | Kitsune Ral | |
Xcode 10 doesn't have it, and value() is not quite fitting mostly-exceptionless Quotient anyway. | |||
2019-11-01 | Derive Omittable<> from std::optional<> | Kitsune Ral | |
That breaks API all over the place but: 1. The fixes are trivial. 2. More of std:: is used instead of home-baking the same stuff. | |||
2019-10-21 | Connection: record sync timeout; suspend sync before logout | Kitsune Ral | |
This is mostly internal but clients may see fewer spurious sync failures upon logging out. | |||
2019-10-21 | Connection: make syncLoop() reentrant | Kitsune Ral | |
...in the sense that you can call it twice and expect the second invocation to be gracefully ignored rather than two loops conflicting with each other. |