aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-12-14Room::markMessagesAsRead(): Move private overload to pimplKitsune Ral
2017-12-13EventsBatch: document the classKitsune Ral
2017-12-13Refactoring around Room::Private::insertEvent(s)Kitsune Ral
2017-12-12Deduplicate events within a batchKitsune Ral
Closes #130.
2017-12-12Fix a compiler warningKitsune Ral
2017-12-11Whitelist origin_server_ts in redaction logicKitsune Ral
The Spec doesn't mention it but both Synapse and Riot act as if origin_server_ts was whitelisted, and it was also confirmed in #matrix-dev to be reasonable behaviour.
2017-12-10Fixed compilation with older QtKitsune Ral
2017-12-10Enable sending requests for redaction to the serverKitsune Ral
Closes #118
2017-12-10Process incoming redactionsKitsune Ral
This only applies to new messages; historical redaction events are just skipped because historical events are already redacted on the server side. Closes #117.
2017-12-10RedactionEvent and RoomEvent::redactedBecause()Kitsune Ral
A RoomEvent now has an optional pointer to a RedactionEvent that is non-null if the room event is redacted. transactionId and serverTimestamp are only filled if the event is not redacted. There's no way to construct a redacted event as of yet.
2017-12-10Introduce RoomEventsViewKitsune Ral
Will be used in Room to work with ranges of events.
2017-12-10EventType: Add more enumeration valuesKitsune Ral
2017-12-10Use the generated PostReceiptJob; don't compile unused job classesKitsune Ral
Rewire Connection::postReceipt() to the generated job too; this call is still deprecated though.
2017-12-10Log room creation only onceKitsune Ral
2017-12-10Elaborate a deprecation commentKitsune Ral
2017-12-10Fix setting the homeserver hostname (not URL) coming from /loginKitsune Ral
2017-12-07Fix compilation with Qt 5.2Kitsune Ral
2017-12-07PasswordLogin: Fix the legacy job class to compile with new BaseJob::DataKitsune Ral
2017-12-07New generated jobs for: room directory, 3PIDs, redactions, typing ↵Kitsune Ral
notifications and others Closes #128 (the issue has the full list of jobs arriving herewith).
2017-12-07GTAD: Enable content-repo stubs generationKitsune Ral
2017-12-07Use new GTAD features: avoid copying of custom schemas; inline body where ↵Kitsune Ral
appropriate Body inlining is needed in content-repo cases and also cases with freeform JSON in the body (such as the one of upcoming PostReceiptJob).
2017-12-07New generated jobs for: room directory, 3PIDs, redactions, typing ↵Kitsune Ral
notifications and others Closes #128 (the issue has the full list of jobs arriving herewith).
2017-12-07Make BaseJob::Data consume QByteArray as well, not only QJsonObjectKitsune Ral
This is needed to support cases of content-repo, where the request/response bodies are not JSON.
2017-12-07jobs/generated: don't rely on QString's COW; firmer formattingKitsune Ral
2017-12-07Connection: no more default to matrix.org; update HS URL from /login responseKitsune Ral
2017-12-07Generated jobs: Apply naming convention to parametersKitsune Ral
It's now camelCase everywhere, even if The Spec uses snake_case (it is not consistent in that respect).
2017-12-07Generated jobs: Don't dump empty strings to body parametersKitsune Ral
This is important for (soon to be added) LoginJob, since the server is sensitive to getting an (even empty) entity for "medium" as opposed to omitting it entirely. This cannot be addressed on the spec level; on the other hand, removing empty parameters from the payload reduces useless bytes getting on the wire.
2017-12-07converters.h: Use perfect forwardingKitsune Ral
2017-12-07Connection: undeprecate joinRoom()Kitsune Ral
This is for the same reason as Connection::getThumbnail() - it's the only non-template (hence, supported by QML and Qt queued signal connections) way to invoke joining a room.
2017-12-07converters.h: support QByteArrayKitsune Ral
2017-12-07Make BaseJob::Data consume QByteArray as well, not only QJsonObjectKitsune Ral
This is needed to support cases of content-repo, where the request/response bodies are not JSON.
2017-12-06jobs/generated: don't rely on QString's COW; firmer formattingKitsune Ral
2017-12-06GTAD pre-0.4, with local data types and parametrised arrays; make avoidCopy? ↵Kitsune Ral
actually work Along with this: - avoid copying of QStrings (unneeded convenience in our case) - even less empty lines
2017-12-06converters.h: Use perfect forwardingKitsune Ral
2017-12-06Connection: undeprecate joinRoom()Kitsune Ral
This is for the same reason as Connection::getThumbnail() - it's the only non-template (hence, supported by QML and Qt queued signal connections) way to invoke joining a room.
2017-12-06converters.h: support QByteArrayKitsune Ral
2017-11-30Connection: no more default to matrix.org; update HS URL from /login responseKitsune Ral
2017-11-30Generated jobs: Apply naming convention to parametersKitsune Ral
It's now camelCase everywhere, even if The Spec uses snake_case (it is not consistent in that respect).
2017-11-28Merge branch 'master' into kitsune-gtadKitsune Ral
2017-11-28Bumped up the soname versionKitsune Ral
NB: Dynamic library generation requires CMake; no libqmatrixclient.pro yet.
2017-11-26Make connectToServer/connectWithToken auto-resolve HS if neededKitsune Ral
"Needed" means when the current HS URL is invalid even by its outlooks. If it is just inaccessible, no attempt to fix things will be made. This breaks compatibility with previous library behaviour because connectWithToken historically has been fully synchronous and clients depend on that. connectWithToken _may_ work synchronously if HS URL is good enough; but this is no more guaranteed. Moreover, in the future the server will be probed via /versions before working, so connectWithToken will become entirely asynchronous.
2017-11-26Deprecated resolved(); grouped signals from the same operationsKitsune Ral
2017-11-25Make Connection::resolveServer() work as it shouldKitsune Ral
Closes #119; many thanks to @r0kk3rz for prodding me into that.
2017-11-25ConnectionData::setBaseUrl()Kitsune Ral
2017-11-22Undeprecated Connection::getThumbnail(), moved Q_INVOKABLE calls to slotsKitsune Ral
Connection::getThumbnail() should not have been deprecated because it's the only way to request a thumbnail using an event loop (i.e. from QML or via QMetaObject::invokeMethod).
2017-11-22Use unique_ptr for connectionDataKitsune Ral
2017-11-22Force-create NAM earlierKitsune Ral
To somewhat ease a bump at sending the first network request.
2017-11-21Use QStringLiteral instead of bare QString constructors for string constantsKitsune Ral
For job endpoints, we should eventually move to QLatin1String or QByteArray instead. Maybe later.
2017-11-21Eliminate race condition in Avatar::get()Kitsune Ral
The race occurred because _ongoingRequest wasn't properly reinitialized if another request on a bigger size arrives while a request for a smaller size is in the air. The old request is now abandoned and continuations are collected inside the Avatar object rather than in the lambda connected to the job. Closes #124. Along the way, _scaledPixmaps is now std::vector instead of QHash since usually it only contains very few (1 or 2) entries and QHash is a waste of memory for that.
2017-11-21Mitigate the mess with slashes between base URL and endpoint stringKitsune Ral
Closes #125