aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2019-01-05API version++; use QMediaResource from QtMultimedia (new dep) to detect m.videoKitsune Ral
resolution The API version number should have been bumped long ago.
2019-01-05EventContent::ImageInfo: support originalFilename in POD constructorKitsune Ral
It's not mandated by the spec for anything except m.file but hey it's convenient.
2019-01-05Room: findPendingEvent; fixes for postFile()Kitsune Ral
2019-01-05RoomMessageEvent: easier creation of file-based eventsKitsune Ral
2019-01-05More defaults to construct LocationContent and PlayableContentKitsune Ral
2019-01-05Support file events in Room::retryMessage/discardMessageKitsune Ral
2019-01-05Room::postFile() and supplementary things in Room::PrivateKitsune Ral
2019-01-05PendingEventItem: add FileUploaded status and setFileUploaded helper functionKitsune Ral
2019-01-05EventContent: only dump to json non-empty/valid valuesKitsune Ral
2019-01-05Make content in events editableKitsune Ral
2019-01-05EventContent: use qint64 for the payload sizeKitsune Ral
2019-01-05Room::fileSourceKitsune Ral
Also: const'ified other methods related to file urls.
2019-01-05FileTransferInfo: new properties: isUpload and startedKitsune Ral
Also: use constructors instead of list-based initialisation in FileTransferPrivateInfo to enable a case of "invalid/empty" FileTransferPrivateInfo with status == None.
2019-01-05Connection::upload*: autodetect content type if not suppliedKitsune Ral
2018-12-26EventContent: allow empty (default-constructed) thumbnailsKitsune Ral
2018-12-26RoomAvatarEvent: use correct #includesKitsune Ral
2018-12-24Clarify doc-comment for BaseJob::finished a bitKitsune Ral
[skip ci]
2018-12-16Room: messageSent(), better pendingEventAboutToAdd(), more doc-commentsKitsune Ral
2018-12-16Room::getAllMembers: revert off-by-one "bugfix"Kitsune Ral
It actually introduces an off-by-one error; the original code was correct. #qmatrixclient:matrix.org is used instead of #test:matrix.org to check lazy-loading (see https://github.com/matrix-org/synapse/issues/4300)
2018-12-14Merge pull request #263 from QMatrixClient/kitsune-lazy-loadingKitsune Ral
Lazy loading members
2018-12-13Room::getAllMembers: fix off-by-one errorKitsune Ral
2018-12-13Connection: initialize lazyLoading member variableKitsune Ral
2018-12-13Merge branch 'kitsune-joinstate-unsigned'Kitsune Ral
2018-12-13Bump room state cache version to reset the cacheKitsune Ral
2018-12-13Merge branch 'kitsune-omittable-bool' into kitsune-lazy-loadingKitsune Ral
2018-12-13Regenerate csapi/Kitsune Ral
2018-12-13gtad.yaml: wrap bool in Omittable<>Kitsune Ral
Case in point: https://github.com/matrix-org/matrix-doc/issues/1750
2018-12-13gtad.yaml: use more compact definitions where possibleKitsune Ral
2018-12-12gtad.yaml: use more compact definitions where possibleKitsune Ral
2018-12-12csapi/rooms.h: regenerate to update doc-commentsKitsune Ral
2018-12-12Room: more doc-commentsKitsune Ral
2018-12-12Room::allMembersLoaded(); more doc-commentsKitsune Ral
2018-12-11Merge branch 'master' into kitsune-lazy-loadingKitsune Ral
2018-12-11Make Room::setDisplayed() trigger loading all membersKitsune Ral
Closes #253.
2018-12-11RoomMemberEvent: properly integrate with GetMembersByRoomJobKitsune Ral
GetMembersByRoomJob was dysfunctional so far, creating "unknown RoomMemberEvents" instead of proper ones. Now that we need it for lazy- loading, it's fixed!
2018-12-11Expose Connection::nextBatchToken()Kitsune Ral
2018-12-10Room::getPreviousContent: use early returnKitsune Ral
...instead of the entire function body wrapped in an if block.
2018-12-10Suppress a function_traits<> test with lambdas on MSVC2015Kitsune Ral
Assigning a lambda to a static variable causes it to fail with 'auto must always deduce to the same type' error.
2018-12-09Room: defer memberListChanged(); track room summary changesKitsune Ral
This concludes beta-version of lazy-loading support in libQMatrixClient (#253).
2018-12-09Room: track more changes; fix cache smashing upon restartKitsune Ral
Commit fd52459 introduced a regression rendering the cache unusable after a client restart (an empty state overwrites whatever state was in the cache). This commit contains the fix, along with more room change tracking. # Conflicts: # lib/room.h
2018-12-09Room: track more changes; fix cache smashing upon restartKitsune Ral
Commit fd52459 introduced a regression rendering the cache unusable after a client restart (an empty state overwrites whatever state was in the cache). This commit contains the fix, along with more room change tracking.
2018-12-09fromJson, fillFromJson: avoid overwriting pods if the JSON value is undefinedKitsune Ral
2018-12-09MSC 688: MSC-compliant RoomSummary; update Room::calculateDisplayname()Kitsune Ral
The members of the summary can be omitted in the payload; this change fixes calculation of the roomname from hero names passed in room summary. Also: RoomSummary can be dumped to QDebug now.
2018-12-09JoinState: use unsigned int as the underlying typeKitsune Ral
2018-12-08Omittable<>::merge<>Kitsune Ral
2018-12-08Room summariesKitsune Ral
2018-12-08Connection: support members lazy-loadingKitsune Ral
This should cover the Connection-related part of #253. Connection gained lazyLoading/setLazyLoading accessors and the respective Q_PROPERTY. When lazy loading is on, sync() adds lazy_load_members: true to its filter.
2018-12-08SyncJob: accept Filter instead of QString for the filterKitsune Ral
2018-12-08EventContent: minor cleanupKitsune Ral
2018-12-08Refactor toJson/fillJsonKitsune Ral
Both now use through a common JsonConverter<> template class with its base definition tuned for structs/QJsonObjects and specialisations for non-object types. This new implementation doesn't work with virtual fillJson functions yet (so EventContent classes still use toJson as a member function) and does not cope quite well with non-constructible objects (you have to specialise JsonConverter<> rather than, more intuitively, JsonObjectConverter<>), but overall is more streamlined compared to the previous implementation. It also fixes one important issue that pushed for a rewrite: the previous implementation was not working with structure hierarchies at all so (in particular) the Filter part of CS API was totally disfunctional.