aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-04SyndData::parseJson: use fromJson()Kitsune Ral
...instead of a complicated explicit code converting from JSON to varianthash to hash.
2020-09-04csapi/profile.*: require displayname/avatar_urlKitsune Ral
See https://github.com/matrix-org/matrix-doc/issues/2717
2020-08-23More cleanup; drop Qt bearer management on Qt 5.15+Kitsune Ral
Qt 5.15 deprecates bearer management.
2020-08-22quotest: fix FTBFS after a sloppy cherry-pickKitsune Ral
2020-08-22quotest: fix changeName test failuresKitsune Ral
Member renames upon profile changes don't come right away, it turns out; so check User::nameChanged instead of Room::memberRenamed.
2020-08-22Cleanup and some extra commentsKitsune Ral
2020-08-11Build system optimisationsKitsune Ral
* -DQT_NO_JAVA_STYLE_ITERATORS * Use precompiled headers on CMake >= 3.16 (except GCC, blame its cheap PCH implementation) * -fvisibility-inlines-hidden when using CMake
2020-08-11Drop unneeded #includeKitsune Ral
2020-08-04quotest: fix the log wordingKitsune Ral
2020-08-04Connection: self-delete after emitting loggedOut()Kitsune Ral
The Connection object has quite few uses after logging out - neither rooms nor users under it no more represent actual situation, and the object cannot be cleanly reused for a new login (also, the use case for that is pretty dubious). This doesn't cover the case when the session has been forcibly logged-out by the server (causing loginError() to be emitted) - in that case re-authentication is an expected flow.
2020-08-04User: optimise names/avatars storing and updatingKitsune Ral
The current mechanism relied on a complicated and fragile machinery around setNameForRoom() and setAvatarForRoom() that maintained the "most used" entity for a given user along with "other" ones. Given that per-room avatars are pretty rare in Matrix, it's also been inefficient as kitsune-benchmark-set_ForRoom branch shows. The new mechanism stores the "default" (as per user profile) name and avatar and maintains a singleton map of avatar objects across all users. Per-user profile only (normally) exists for the local user so there's yet another inefficiency that will be fixed further down the road by introducing a separate user profile class.
2020-08-04quotest: don't fail on past name changes coming in syncKitsune Ral
Sync may bring past events in a few batches, it turns out, and quotest used to choke on name changes from its own past executions. Also: fix whitespacesmissing ina log line.
2020-08-04BaseJob: go for a retry on IncorrectResponseKitsune Ral
The most frequent occurence of IncorrectResponse so far is a proxy/CDN failure. This is not a grave error; there's a chance that the retry will succeed. In the worst case the job will fail after 3 identical errors (except SyncJob that will try to get through forever - but SyncJob failures should still be indicated in the client's UI in some non-intrusive way).
2020-08-04Connection: stop the sync loop on SyncJob::failureKitsune Ral
2020-08-04Cleanup around [BaseJob::]IncorrectResponse[Error]Kitsune Ral
2020-08-04Room: various minor tweaks and fixesKitsune Ral
2020-08-04quotest: clean up the room state after testingKitsune Ral
2020-08-03quotest: use #test instead of #quotient in loadMembers testKitsune Ral
#quotient:matrix.org is a primary channel to talk to users and developers, and events produced by changeName test come really noisy. #test:matrix.org is a perfect place to test things out, OTOH.
2020-08-03CleanupKitsune Ral
2020-08-02Event::dumpTo: make protected, and RoomEvent overrideKitsune Ral
The override adds the event's origin timestamp
2020-08-02Bump the API versionKitsune Ral
2020-08-02User: fix FTBFS and access after moveKitsune Ral
2020-08-02quotest: add changeName testKitsune Ral
2020-07-30User: minor cleanup; doc-commentsKitsune Ral
2020-07-29User: only set object name at initialisationKitsune Ral
User::updateName() usually operates on a specific room; setting an object name from an arbitrary (whichever came last at any point in time) room member event for a given user does not look like a good idea. And having it in User::updateAvatar() seems to be a copy-paste fallout.
2020-07-29Fix FTBFSKitsune Ral
2020-07-29User: don't spend another pointer on ConnectionKitsune Ral
Users are always parented to their Connection; there's no need to store a pointer to the connection on top of the one already stored by QObject.
2020-07-29User: deprecate bridged() and rawName()Kitsune Ral
Bridge postfixes stopped being a thing long ago; since then, bridged() has nothing but an empty string, and rawName() coincides with name().
2020-07-26RoomAvatarEvent: add constructors from contentKitsune Ral
So that room avatar events could also be sent, not only received.
2020-07-24SECURITY.md: add 0.6.x breedKitsune Ral
2020-07-24Room: send read receipts in a background requestKitsune Ral
Sending them in the foreground causes Quaternion to throw scary messages when read receipts don't go through while that's actually not a big deal. Also, network traffic deprioritisation.
2020-07-24csapi/: refresh from the latest matrix-docKitsune Ral
2020-07-23Room::P::isEventNotable(): edits are not notableKitsune Ral
Edits are (normally) applied to some other event up the timeline, therefore not displayed. Having [1] in unread counts while seeing nothing in the timeline is quite confusing.
2020-07-22Merge pull request #407 from quotient-im/kitsune-resource-resolverKitsune Ral
Matrix URIs and resolving them
2020-07-22quotest: Minor refactoring of basic URI testsKitsune Ral
2020-07-21Uri: bare-sigil URIs are invalidKitsune Ral
2020-07-21Connection: tolerate an empty set of room versionsKitsune Ral
Closes #314.
2020-07-21converters.*: clean away old cruftKitsune Ral
2020-07-20UriResolverBase::visitUser(): add return valueKitsune Ral
To enable reporting when the action is incorrect.
2020-07-19MatrixUri->Uri: Extend to non-Matrix URIsKitsune Ral
2020-07-18quotest: unit tests for MatrixUriKitsune Ral
2020-07-18class MatrixUri; support action=join and via=Kitsune Ral
2020-07-18quotest: consolidate processing of syncDone()Kitsune Ral
2020-07-18quotest: delay sync start till after joiningKitsune Ral
To ensure that the sync returns the details of the room just joined.
2020-07-18Fix building with older QtKitsune Ral
2020-07-18ResourceResolverKitsune Ral
Introducing the uniform way to resolve Matrix URIs and identifiers to Room/User objects, passing an optional event id (if supplied) to the client-defined handler. Just call ResourceResolver::visitResource() or ResourceResolver::openResource() and you'll have that string parsed and dispatched where you need.
2020-07-18quotest: log final report as late as possibleKitsune Ral
...to spare the developer from scrolling up in the search of it.
2020-06-26Disable HTTP2; enable pipeliningKitsune Ral
Long run tests over 2+ days kept crashing before this commit but stopped crashing with pipelining on and HTTP2 off.
2020-06-20Room: PostReadMarkersJob should be in backgroundKitsune Ral
...meaning - errors from it should not throw up at a user, who has no clue (they still should go to logs for investigation).
2020-06-19Fix FTBFS and warnings with E2EE switched onKitsune Ral