Age | Commit message (Collapse) | Author | |
---|---|---|---|
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-12-05 | Merge pull request #363 from quotient-im/aa13q-room-highlighting | Kitsune Ral | |
Fix room highlighting for names with hashtag | |||
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-19 | Add LGTM badge | Kitsune Ral | |
2019-11-10 | Cleanup | Kitsune Ral | |
2019-11-10 | makeRedacted: fix code formatting | Kitsune Ral | |
2019-11-02 | Add LGTM support | Kitsune Ral | |
See https://lgtm.com | |||
2019-11-02 | Compatibility with Qt 5.14 | Kitsune Ral | |
2019-11-01 | Merge branch 'kitsune-std-optional2' | 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 | Merge branch 'kitsune-std-optional' | Kitsune Ral | |
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-23 | Remove the old source file | Kitsune Ral | |
2019-10-22 | Merge branch 'kitsune-quotest3' | Kitsune Ral | |
2019-10-21 | Quotest: more work on test invocation | Kitsune Ral | |
Tests should be private slots, not public slots; and they are invoked through a QueuedConnection so that both sync and async tests could be processed uniformly with clear code. | |||
2019-10-21 | Quotest: use clog instead of cout | Kitsune Ral | |
Because cout is not synchronised with stderr and the library's debug printing is not aligned with that from quotest. qDebug()/qWarn() would probably be even better, for consistency; but require switching from std::string to QString. | |||
2019-10-21 | Quotest: derive TestManager from QCoreApplication | Kitsune Ral | |
Also: joining the test room didn't survive being a test in its own right and has been reverted to be a part of setupAndRun(). | |||
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-update-docs' | Kitsune Ral | |
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-21 | tests/CMakeLists.txt: QMC -> Quotient; add Qt5::Test to deps | Kitsune Ral | |
2019-10-20 | Update documentation regarding C++17 support level | Kitsune Ral | |
[skip ci] | |||
2019-10-20 | Quotest: factor out tests into TestSuite; rework sync tests | Kitsune Ral | |
Synchronous tests now use QSignalSpy instead of connecting to the signal just before its emission. | |||
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 | TestManager::setTopic: add debug logging | Kitsune Ral | |
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. |