aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2020-03-17Use constantRoland Pallai
Co-Authored-By: Kitsune Ral <Kitsune-Ral@users.sf.net>
2020-03-17MSC1849 compatible edited messages (#373)Roland Pallai
* Make handling of edited messages MSC1849 compatible Server side aggregation replaces `content` with `new_content` in edited messages. The same must be done at client side on incremental updates to keep timeline consistent. As server side aggregations is in use by default from Synapse 1.2.0 this patch fixes a real issue.
2020-03-15Connection: loginWithToken(); connectWithToken() -> assumeIdentity()Kitsune Ral
2020-03-14Connection: minor cleanupKitsune Ral
2020-03-13Connection: support getting the list of login flowsKitsune Ral
The flows themselves are not facilitated in any way (yet).
2020-03-13Merge pull request #346 from quotient-im/aa13q-e2ee-encrypted-msgKitsune Ral
E2EE: implement receiving of the messages
2020-03-12E2EE: Make building E2EE optional. Contributes to #369Alexey Andreev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-03-08fixing msc2432Ram Nad
2020-02-25Room: fix merge regressionAlexey Andreyev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-25E2EE: implement megolm inbound session decrypt for roomAlexey Andreyev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-25E2EE: add connection session decrypt, handle to-device and ↵Alexey Andreyev
device_one_time_keys_count Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-25E2EE: fix olm session decrypt, move to EncryptionManagerAlexey Andreyev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-25E2EE: EncryptedEvent constructor debug messageAlexey Andreyev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-25E2EE: implement SyncData::deviceOneTimeKeysCountAlexey Andreyev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-25E2EE: introduce RoomKeyEventAlexey Andreyev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-25E2EE: Fix EncryptionManager initialization placeAlexey Andreyev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-22RoomMemberEvent: add isRejectedInvite(), isBan(), and isUnban()Karol Kosek
2020-02-10Add EventContent::replacementOf() helperRoland Pallai
2020-02-10TextContent: use MSC-1849 compatible `m.relates_to` fieldRoland Pallai
2020-02-10Edit (transmit): fix asterisk marking for dumb clientsRoland Pallai
The prepared body got overwritten due to missing return statement.
2020-02-10Edit (transmit): fix json struct of `m.new_content`Roland Pallai
2020-02-07Fix build on big-endian systemsAndres 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-12Use parsed RoomPowerLevelsEvent in room upgradingBlack Hat
2020-01-01Fix linux buildBlack Hat
2020-01-01Fix linux buildBlack Hat
2020-01-01Add powerLevelForState()Black Hat
2020-01-01Mark methods as const.Black Hat
2019-12-30Simplify codeBlack Hat
2019-12-29Add missing fileBlack Hat
2019-12-29Merge branch 'master' of https://github.com/quotient-im/libQuotient into ↵Black Hat
bhat-powerlevel
2019-12-29Add RoomPowerLevelEvent typeBlack Hat
2019-12-28isEditing(): fix a bug in replacing eventsBlack Hat
2019-12-24RoomMemberEvent: introduce the reason field (MSC2367)Kitsune Ral
See https://github.com/matrix-org/matrix-doc/pull/2367. Closes #370.
2019-12-23ConnectionData::submit: when not queuing, still submit asynchronouslyKitsune Ral
Otherwise BaseJob::messageSent has every chance to be overlooked by clients who subscribe to it after calling callApi().
2019-12-23Connection::forgetRoom: slightly simplify codeKitsune Ral
2019-12-13Room: make downloaded file name building more robustKitsune Ral
Specifically, handle colons and long file names gracefully. Closes #366.
2019-12-13Room::postFile(): minor refactoringKitsune Ral
2019-12-12BaseJob::initiate(): fix nullptr dereferencingKitsune Ral
2019-12-12Room::downloadFile: minor cleanupKitsune Ral
2019-12-12BaseJob: prepare() -> initiate() + refactoring around itKitsune 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-12Connection::uploadFile/Content(): refactoring around QIODevice::open()Kitsune Ral
No more "The file is already open" log messages.
2019-12-12Move FileError definition from DownloadFileJob to BaseJobKitsune Ral
Will use it in BaseJob in a later commit.
2019-12-12Room::fileNameToDownload(): fix a typo in a check on WindowsKitsune Ral
As a result of the typo, the extension was never attached to returned file names if there was none originally.
2019-12-12RequestData: optimise fromData() and preopen the bufferKitsune Ral
It was just a coincidence that QBuffer allowed reading from it without being isReadable() at the moment of starting a job.
2019-12-11Merge branch 'kitsune-better-upgrade-ux'Kitsune Ral
2019-12-11BaseJob::StatusCode: offset first error from ErrorLevelKitsune Ral
Q_ENUM seems to resolve int to the first enum identifier with that value so NetworkError == ErrorLevel looks confusing in logs.
2019-12-11Pass action scope to Room::setTagsKitsune Ral
The tags can now be applied not only to the current room but also propagated to its predecessors and successors.
2019-12-09Room::creation() and Room::tombstone()Kitsune Ral
2019-12-09Room::predecessor() and Room::successor()Kitsune Ral
2019-12-09RoomEvent::timestamp() -> originTimestamp()Kitsune Ral
The previous name is still available but deprecated.