Age | Commit message (Collapse) | Author |
|
[skip ci]
|
|
|
|
...instead of a complicated explicit code converting from JSON
to varianthash to hash.
|
|
See https://github.com/matrix-org/matrix-doc/issues/2717
|
|
Qt 5.15 deprecates bearer management.
|
|
|
|
Member renames upon profile changes don't come right away, it turns out;
so check User::nameChanged instead of Room::memberRenamed.
|
|
|
|
* -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
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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).
|
|
|
|
|
|
|
|
|
|
#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.
|
|
|
|
The override adds the event's origin timestamp
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
Bridge postfixes stopped being a thing long ago; since then, bridged()
has nothing but an empty string, and rawName() coincides with name().
|
|
So that room avatar events could also be sent, not only received.
|
|
|
|
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.
|
|
|
|
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.
|
|
Matrix URIs and resolving them
|
|
|
|
|
|
Closes #314.
|
|
|
|
To enable reporting when the action is incorrect.
|
|
|
|
|
|
|
|
|
|
To ensure that the sync returns the details of the room just joined.
|
|
|
|
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.
|
|
...to spare the developer from scrolling up in the search of it.
|
|
Long run tests over 2+ days kept crashing before this commit but
stopped crashing with pipelining on and HTTP2 off.
|