Age | Commit message (Collapse) | Author |
|
(Mostly) fixes #397. Fixes #398. If there's a need to reparent the job
to some other object, it should now be done after callApi()/run() call
(not that there were many touch points before that moment, anyway).
Collateral damage: job-starting methods are no more const (but that
didn't belong them anyway, too).
|
|
Also: use 4-arg connect() to make sure lambdas are disconnected
if the connection is gone.
|
|
|
|
The method grew large and a bit unwieldy over the years.
|
|
|
|
fixing msc2432
|
|
The response in the web browser is quite barebone, just enough
to give feedback that things are alright. Closes #386. Closes #388.
|
|
|
|
|
|
The flows themselves are not facilitated in any way (yet).
|
|
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
|
|
|
|
device_one_time_keys_count
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
|
|
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
|
|
|
|
* BaseJob::initiate() now calls ConnectionData::submit()
without relying on Connection to do that
* ConnectionData::submit() is now the only site where a job enters
Pending state
* No more shortcuts to BaseJob::sendRequest(), even retries are sent
through the ConnectionData submission queue
* Additional validation in BaseJob::initiate() that the request data
device is actually open (because QtNetwork API officially
requires that, even if you can get away passing a closed QBuffer
to it)
|
|
No more "The file is already open" log messages.
|
|
The first part closes #358; the second part is a workaround for non-standard
cases when endpoints without security by the spec turn out to be secured
(in particular, the case of authenticating media servers).
|
|
See the change in connection.cpp for the example of usage.
Also: removed static_asserts: the first one is provided by std::optional,
and the second one is only relevant to edit().
|
|
Xcode 10 doesn't have it, and value() is not quite fitting
mostly-exceptionless Quotient anyway.
|
|
That breaks API all over the place but:
1. The fixes are trivial.
2. More of std:: is used instead of home-baking the same stuff.
|
|
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::.
|
|
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().
|
|
Closes #354.
|
|
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.
|
|
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.
|
|
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.
|
|
The fallback to libQMatrixClient still remains.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.well-known support
|
|
|
|
|
|
Also: Connection::resolveServer() now only accepts MXIDs, not domains.
|
|
|
|
|
|
See https://github.com/KDE/clazy/blob/master/docs/checks/README-auto-unexpected-qstringbuilder.md
Closes #613.
|
|
|
|
|
|
|
|
Use Connection::accessToken() instead.
|
|
Closes #301.
|
|
|