Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-12-13 | Room::postFile(): minor refactoring | Kitsune Ral | |
2019-12-12 | BaseJob::initiate(): fix nullptr dereferencing | Kitsune Ral | |
2019-12-12 | Room::downloadFile: minor cleanup | Kitsune Ral | |
2019-12-12 | BaseJob: prepare() -> initiate() + refactoring around it | Kitsune Ral | |
* 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) | |||
2019-12-12 | Connection::uploadFile/Content(): refactoring around QIODevice::open() | Kitsune Ral | |
No more "The file is already open" log messages. | |||
2019-12-12 | Move FileError definition from DownloadFileJob to BaseJob | Kitsune Ral | |
Will use it in BaseJob in a later commit. | |||
2019-12-12 | Room::fileNameToDownload(): fix a typo in a check on Windows | Kitsune Ral | |
As a result of the typo, the extension was never attached to returned file names if there was none originally. | |||
2019-12-12 | RequestData: optimise fromData() and preopen the buffer | Kitsune Ral | |
It was just a coincidence that QBuffer allowed reading from it without being isReadable() at the moment of starting a job. | |||
2019-12-11 | Merge branch 'kitsune-better-upgrade-ux' | Kitsune Ral | |
2019-12-11 | BaseJob::StatusCode: offset first error from ErrorLevel | Kitsune Ral | |
Q_ENUM seems to resolve int to the first enum identifier with that value so NetworkError == ErrorLevel looks confusing in logs. | |||
2019-12-11 | Pass action scope to Room::setTags | Kitsune Ral | |
The tags can now be applied not only to the current room but also propagated to its predecessors and successors. | |||
2019-12-09 | Room::creation() and Room::tombstone() | Kitsune Ral | |
2019-12-09 | Room::predecessor() and Room::successor() | Kitsune Ral | |
2019-12-09 | RoomEvent::timestamp() -> originTimestamp() | Kitsune Ral | |
The previous name is still available but deprecated. | |||
2019-12-09 | Code cleanup | Kitsune Ral | |
2019-12-09 | Room: more doc-comments | Kitsune Ral | |
2019-12-09 | Initialise read marker if none is found in the whole timeline | Kitsune Ral | |
Closes #361. | |||
2019-12-09 | Merge branch 'kitsune-look-further-for-redactions' | Kitsune Ral | |
2019-12-08 | Merge pull request #365 from quotient-im/aa13q-msc1954-drop-prev-content | Kitsune Ral | |
MSC1954: Remove prev_content from the essential keys list | |||
2019-12-08 | Room::addNewMessageEvents: search the whole sync batch for events to | Kitsune Ral | |
redact It seems that sometimes redactions may precede the unredacted events within the same sync batch. | |||
2019-12-08 | ConnectionData: stop the timer on destruction | Kitsune Ral | |
...to prevent from trying to send requests after closing the connection. | |||
2019-12-08 | Remove extraneous qualification | Kitsune Ral | |
2019-12-06 | MSC1954: Remove prev_content from the essential keys list | Alexey Andreyev | |
Fixes #318 | |||
2019-11-30 | Fix room highlighting for names with hashtag | Alexey Andreyev | |
Fixes #359 | |||
2019-11-19 | BaseJob: Don't send accessToken if not needed; send again on 401 | Kitsune Ral | |
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). | |||
2019-11-10 | Cleanup | Kitsune Ral | |
2019-11-10 | makeRedacted: fix code formatting | Kitsune Ral | |
2019-11-02 | Compatibility with Qt 5.14 | Kitsune Ral | |
2019-11-01 | Omittable: Add direct-list-initialising operator=; document | Kitsune Ral | |
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(). | |||
2019-11-01 | Reinstate Omittable<>::omitted (deprecated) | Kitsune Ral | |
To ease on back-compatibility. | |||
2019-11-01 | Omittable: get rid of value() | Kitsune Ral | |
Xcode 10 doesn't have it, and value() is not quite fitting mostly-exceptionless Quotient anyway. | |||
2019-11-01 | Derive Omittable<> from std::optional<> | Kitsune Ral | |
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. | |||
2019-10-21 | Connection: record sync timeout; suspend sync before logout | Kitsune Ral | |
This is mostly internal but clients may see fewer spurious sync failures upon logging out. | |||
2019-10-21 | Connection: make syncLoop() reentrant | Kitsune Ral | |
...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. | |||
2019-10-21 | Merge branch 'kitsune-quotest2' | Kitsune Ral | |
2019-10-21 | ConnectionData: fix read-after-free in clearing the job queue | Kitsune Ral | |
2019-10-20 | Qualify types in signals and Q_INVOKABLEs | Kitsune Ral | |
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::. | |||
2019-10-18 | qmc-example -> quotest, QMCTest -> TestManager | Kitsune Ral | |
Also: some bits of refactoring in the test code to make it more extensible. Closes #352. | |||
2019-10-17 | Connection::joinRoom: make sure the room object is created early enough | Kitsune Ral | |
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(). | |||
2019-10-02 | Fix Room::localAliases() | Black Hat | |
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. | |||
2019-10-02 | BaseJob::Private: experiment with [[nodiscard]] | Kitsune Ral | |
2019-10-02 | More fixes for Apple not having deduction guides in stdlib | Kitsune Ral | |
2019-10-02 | wrap_in_function() | Kitsune Ral | |
Because Apple stdlib doesn't have std::function deduction guides. | |||
2019-10-01 | Room::getCurrentState() | Kitsune Ral | |
2019-09-29 | Connection: allRooms(), rooms(), roomsCount(); deprecate roomMap() | Kitsune Ral | |
Closes #354. | |||
2019-09-29 | BaseJob, urlForLog() -> dumpRequest(): include HTTP verb into log lines | Kitsune Ral | |
2019-09-29 | Rename pieces with qmc/qmatrixclient | Kitsune Ral | |
2019-09-29 | function_traits: drop unused pieces | Kitsune Ral | |
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. | |||
2019-09-29 | Simplify visit() signature | Kitsune Ral | |
Checking that BaseEventT descends from Event is really extraneous. | |||
2019-09-29 | Make connectSingleShot work wherever QObject::connect works | Kitsune Ral | |
Also: doc-comment connectUntil and unify implementation of both functions. |