aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2019-08-26Room::calculateDisplayname: use local aliases for room namingKitsune Ral
The Spec now allows it, even if with a disclaimer that it's subject for further removal.
2019-08-26setAvatarForRoom: try recover from otherAvatars inconsistencyKitsune Ral
Hopefully manages cases like #347 in a better way.
2019-08-25RoomMessageEvent::content(): constify event contentKitsune Ral
2019-08-20BaseJob/ConnectionData: connection-wide rate-limitingKitsune Ral
As before, completely transparent for clients, driven by 529 errors from the server (but cases of rate limiting are signalled by BaseJob::rateLimited). That brings changes to BaseJob API: timeouts now use int64_t and also can be handled in std::chrono terms; aboutToStart() -> aboutToSendRequest(); started() -> sentRequest(). Closes #292.
2019-08-20BaseJob: Status/StatusCode tweaks, cleanup, mo' commentsKitsune Ral
Notably, recovered Status::fromHttpCode() that was introduced in 5722ceaf4bd10c29f1091e3dc5a87f5650ea8c71 but fell victim of a careless merge (so much for introducing non-topical changes in feature branches).
2019-08-20Connection::run()Kitsune Ral
Finally, clients can pre-create job objects and then separately submit them for execution on a given connection - previously such separation was a privilege of Connection (others had to use Connection::callApi<>, which invoked jobs right away).
2019-08-20Store userId in ConnectionData instead of ConnectionKitsune Ral
To collect all connection-identifying information in a single place.
2019-08-19Room::Private::doSendEvent: fix too early change in BaseJob signalsKitsune Ral
That's a matter of another upcoming commit.
2019-08-18room.cpp: applied clang-format with updated penalty valuesKitsune Ral
2019-08-18Room: use new logging categoriesKitsune Ral
2019-08-18Room::decryptMessage: now with the header file changesKitsune Ral
2019-08-18Merge pull request #345 from rpallai/UnreadNotifsChangeKitsune Ral
Update the cache for sure if unread counters were changed
2019-08-18Room::decryptMessage: fix memory leaks and dangling pointersKitsune Ral
2019-08-18New logging categories: events.state, events.messages, and e2eeKitsune Ral
2019-08-17Update the cache for sure if unread counters were changedRoland Pallai
In Quaternion, I was able to reproduce a process where `d->notificationCount` and `d->highlightCount` were changed in `Room::updateData()` meanwhile `roomChanges` indicated `NoChange` thus the cache became permanently inconsistent with running state. Without deep understanding of `roomChanges` logic, I've applied this straightforward change which made this phenomenon unreproducible.
2019-08-16BaseJob: support M_USER_DEACTIVATED error codeKitsune Ral
Closes #344.
2019-08-13Support for server notices rooms (MSC1452)Kitsune Ral
Closes #326.
2019-08-12e2ee.h: Make constants inline instead of staticKitsune Ral
This changes from internal linkage for every translation unit including e2ee.h to external linkage across translation units but without the need to create a .cpp file just to define and init the constants.
2019-08-12Make Settings::remove() to clear the legacy; more doc-commentsKitsune Ral
2019-08-11Use [[maybe_unused]] instead of [[gnu::unused]]Kitsune Ral
2019-08-11Now that we're C++17, remove old compatibility cruftKitsune Ral
2019-08-11Drop EventType namespace and DEFINE_EVENTTYPE_ALIAS macroKitsune Ral
They've been deprecated for almost a year by now.
2019-08-11Connection: check for cache_type setting in libQuotient groupKitsune Ral
The fallback to libQMatrixClient still remains.
2019-08-11SyncData: x-qmatrixclient -> x-quotientKitsune Ral
2019-08-11CleanupKitsune Ral
[skip ci]
2019-08-09stringToHueF: pick a safer name for the variableKitsune Ral
std::string is still a thing, after all.
2019-08-09Namespace: QMatrixClient -> Quotient (with back comp alias)Kitsune Ral
2019-08-09Rename zero-impact stringsKitsune Ral
2019-08-02Room: avoid assertion crashes; name variables betterKitsune Ral
2019-08-02Room/qmc-example: consider fake state event rejection as validKitsune Ral
This is an addition in https://github.com/matrix-org/synapse/pull/5805 - Synapse no more tolerates fake state events (which actually obviates the need for this test but fake state events still go through on older Synapses). To allow checking for both cases Room behaviour has been slightly changed (without compat breakage) to make sure the pending event status is set to ReachedServer (and pendingEventChanged() is emitted, if necessary) before merging the pending event into the timeline.
2019-08-02Apply the new brace wrapping to source filesKitsune Ral
2019-08-02e2ee.h: add a missing #includeKitsune Ral
Revealed after reordering #includes with clang-format.
2019-08-02Merge branch 'master' into use-clang-formatKitsune Ral
2019-08-01Merge branch 'master' into kitsune-relationsKitsune Ral
Unified *Key -> *KeyL identifiers in roommessageevent.cpp along the way.
2019-07-31Merge pull request #335 from quotient-im/aa13q-e2ee-encrypted-msgKitsune Ral
E2EE: introduce EncryptedEvent
2019-07-31Room::postReaction()Kitsune Ral
2019-07-31Support for receiving m.reaction eventsKitsune Ral
* struct EventRelation; class ReactionEvent; Room::relatedEvents() * Reaction events are processed in both history and sync batches * Redacting a reaction removes it from the list of related events * QMCTest::sendReaction()
2019-07-31Initial support for edited messages (receive only)Kitsune Ral
2019-07-31converters.h: fallback to intrusive toJson() for JsonObjectConverter; ↵Kitsune Ral
general improvements Single-argument fromJson<Omittable<T>>() now works as well.
2019-07-31converters.h: more comments; documented addParam<>()Kitsune Ral
[skip ci]
2019-07-27E2EE: introduce EncryptedEventAlexey Andreyev
2019-07-14E2EE: provide a shared header with encryption standard key namesAlexey Andreyev
2019-07-12Minor polishKitsune Ral
2019-07-10Merge pull request #330 from quotient-im/bhat-wellknownKitsune Ral
.well-known support
2019-07-09Add more checks according to the specBlack Hat
2019-07-09Merge branch 'master' into use-clang-formatKitsune Ral
2019-07-09Move serverPart() to the public APIKitsune Ral
Also: Connection::resolveServer() now only accepts MXIDs, not domains.
2019-07-08E2EE: fix EncryptionManager algorithm namesAlexey Andreyev
2019-07-08Merge pull request #332 from quotient-im/aa13q-e2ee-pickleKitsune Ral
E2EE: add new account and identity keys generation logic
2019-07-08Room: Set roomId and sender on pending eventsKitsune Ral
Also: refactoring to streamline state events submission.