Age | Commit message (Collapse) | Author |
|
This is mostly internal but clients may see fewer spurious sync failures
upon logging out.
|
|
...in the sense that you can call it twice and expect the second
invocation to be gracefully ignored rather than two loops conflicting
with each other.
|
|
|
|
|
|
Because https://doc.qt.io/qt-5/moc.html#limitations .
For direct connections that doesn't matter but it very much does
for queued ones. Along with this DirectChatsMap and IgnoredUsersList
have been moved from Connection:: to Quotient::.
|
|
Also: some bits of refactoring in the test code
to make it more extensible. Closes #352.
|
|
All direct slots connected to finished() will run before success() is
even emitted; so create the room object in the earliest slot connected
to finished(), rather than to success().
|
|
When homeserver's csapi is in a subdomain, e.g. matrix.example.org, the
authority of api endpoint url differs from server name, example.org.
This causes Room::localAliases() to fail.
|
|
|
|
|
|
Because Apple stdlib doesn't have std::function deduction guides.
|
|
|
|
Closes #354.
|
|
|
|
|
|
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.
|
|
Checking that BaseEventT descends from Event is really extraneous.
|
|
Also: doc-comment connectUntil and unify implementation of both functions.
|
|
macros
Because otherwise migrating one group to the current location leads to all other groups suddenly disappearing from Settings view.
|
|
Alas, clang-format is not terrifically good around [[attributes]]
|
|
|
|
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.
|
|
Better BaseJob
|
|
Compilers warn on using 'using ...::operator""s' because they
think we're redefining the reserved suffix.
|
|
Anything after enumerators is a problem for moc before Qt 5.12; so
we can't use enumerator attributes before then.
|
|
MSVC warns on class/struct mismatch and errors on std::array because
`<array>` is not indirectly included on that platform.
|
|
The Spec now allows it, even if with a disclaimer that
it's subject for further removal.
|
|
Hopefully manages cases like #347 in a better way.
|
|
|
|
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.
|
|
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).
|
|
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).
|
|
To collect all connection-identifying information in a single place.
|
|
That's a matter of another upcoming commit.
|
|
|
|
|
|
|
|
Update the cache for sure if unread counters were changed
|
|
|
|
|
|
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.
|
|
Closes #344.
|
|
Closes #326.
|
|
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.
|
|
|
|
|
|
|
|
They've been deprecated for almost a year by now.
|
|
The fallback to libQMatrixClient still remains.
|
|
|