aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-04csapi/profile.h: require displayname/avatar_urlKitsune Ral
See https://github.com/matrix-org/matrix-doc/issues/2717
2020-09-04CONTRIBUTING.md: clarify the matrix-doc repo situationKitsune Ral
[skip ci]
2020-09-03Code formatting fixKitsune Ral
2020-09-03Address clazy warningsKitsune Ral
2020-09-03SyndData::parseJson: use fromJson()Kitsune Ral
...instead of a complicated explicit code converting from JSON to varianthash to hash.
2020-08-30Bump version in CMakeLists.txt to 0.6.1Kitsune Ral
The new release upcoming.
2020-08-23User: displayname() should fallback to name()Kitsune Ral
As of 0.6.1, User::name() triggers fetching the user profile (whether this is right is a separate question but that's the way it works with the current library API) - displayname() should use it rather than shortcut to d->defaultName to get results consistent with User::name().
2020-08-23csapi/profile.cpp: fix setting empty name/avatarKitsune Ral
This is a temporary workaround for https://github.com/matrix-org/synapse/issues/8029 - note that regenerating CS API code will lead to overwriting this. The proper fix should be done in matrix-doc (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 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-17Fetch user profile when neededKitsune Ral
5849686e introduced a new way of storing user avatars and names - unfortunately it didn't fully cover the case of the user's default (profile) name and avatar. This commit fixes it; in 0.6.x branch, the fix requires a const_cast<> hack since name() and avatarObject() invocations are used as triggers to fetch the profile. 0.7 will have User::fetchProfile() method instead.
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.
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-04Quotest: fix whitespacesmissing ina log lineKitsune Ral
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 commit c69f100e 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 - this will be fixed in 0.7 by introducing a special class for a user profile.
2020-08-04Room: various minor tweaks and fixesKitsune Ral
2020-08-03quotest: 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-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).