Age | Commit message (Collapse) | Author |
|
|
|
|
|
Closes #361.
|
|
|
|
MSC1954: Remove prev_content from the essential keys list
|
|
redact
It seems that sometimes redactions may precede the unredacted events
within the same sync batch.
|
|
...to prevent from trying to send requests after closing the connection.
|
|
|
|
Fixes #318
|
|
Fixes #359
|
|
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().
|
|
To ease on back-compatibility.
|
|
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::.
|
|
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).
|