aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-06More stringent serverpart checks in user idsKitsune Ral
May lead to new crashes due to nullptr returned from Connection::user() on more utterly invalid content from the wire that the library still doesn't properly invalidate. This has long been quite a good case for exceptions, or another error-handling framework: Connection::user() can return nullptr either when out of memory or when the id is invalid or empty, and other places are likely to treat invalid ids in different ways but probably just hope that memory exhaustion "never happens", or try to handle it in a quite different way than an empty or invalid id. Something to think of in 0.7. (cherry picked from commit 3c85f049389dec3b0ee6406f0be2cfaf0089f1fe)
2020-10-28Merge pull request #411 from JohnDr/johnd-modsKitsune Ral
Added filter param to getPreviousContent
2020-10-27Added filter param to getPreviousContent so that a server side filterJohn
can be applied.
2020-09-04Update documentationKitsune Ral
[skip ci]
2020-09-04CONTRIBUTING.md: clarify the matrix-doc repo situationKitsune Ral
[skip ci]
2020-09-04Fixes of clazy warningsKitsune Ral
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.