aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2019-09-29function_traits: drop unused piecesKitsune Ral
is_callable won't ever be needed because std::is_invokable is here; arg_number and returns() didn't find its users; and function_type has been just broken all along for member functions.
2019-09-29Simplify visit() signatureKitsune Ral
Checking that BaseEventT descends from Event is really extraneous.
2019-09-29Make connectSingleShot work wherever QObject::connect worksKitsune Ral
Also: doc-comment connectUntil and unify implementation of both functions.
2019-09-29Settings: childGroups() should merge legacy and current groups; QMC->QTNT in ↵Kitsune Ral
macros Because otherwise migrating one group to the current location leads to all other groups suddenly disappearing from Settings view.
2019-09-29Fix formatting weirdnessKitsune Ral
Alas, clang-format is not terrifically good around [[attributes]]
2019-09-24Room: cleanupKitsune Ral
2019-09-12Introduce HashQ<> and UnorderedMap<>Kitsune Ral
Invading into std:: is frowned upon, even though legitimate from the C++ standard perspective. Given that it's possible to pass a hash object to unordered_map, it only takes an alias for std::unordered_map to avoid having to specialize std::hash. And besides, a generic compatibility bridge between qHash and std::hash has been long needed. std::hash<QString> in converters.h remains for now; it will be dropped separately when the API files get regenerated to use UnorderedMap.
2019-08-29Merge pull request #348 from quotient-im/kitsune-better-basejobKitsune Ral
Better BaseJob
2019-08-27More compliant 'using' for chrono_literalsKitsune Ral
Compilers warn on using 'using ...::operator""s' because they think we're redefining the reserved suffix.
2019-08-27Don't use enumerator attributesKitsune Ral
Anything after enumerators is a problem for moc before Qt 5.12; so we can't use enumerator attributes before then.
2019-08-27Tighten the code; add a missing #includeKitsune Ral
MSVC warns on class/struct mismatch and errors on std::array because `<array>` is not indirectly included on that platform.
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.