aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-24Clarify doc-comment for BaseJob::finished a bitKitsune Ral
[skip ci]
2018-12-17Merge pull request #265 from ara4n/matthew/macosKitsune Ral
fix macOS installation instructions
2018-12-16fix macOS installation instructionsMatthew Hodgson
2018-12-16qmc-example: check Room::messageSent() more carefullyKitsune Ral
2018-12-16qmc-example: refactor QMCTest to properly order actionsKitsune Ral
To be more specific: - No race condition in running tests when the test room is already joined; joining occurs before the very first sync. - qmc-example doesn't (in vain) wait for the last sync in order to make sure the final message ("All tests finished") is delivered - uses Room::messageSent() instead now. - Running QMCTest::loadMembers() does not rely on having a test room
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-14qmc-example: clearer QMC_CHECK; start tests only after the first sync is doneKitsune Ral
Because lazy-loading test is executed on a room different from the test room.
2018-12-13Room::getAllMembers: fix off-by-one errorKitsune Ral
2018-12-13qmc-example: Fix the lazy-loading testKitsune 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-12qmc-example: Use lazy-loading; check full-loading upon setDisplayedKitsune 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.
2018-12-08function_traits: more tests, fix function objects/lambdas not working with ↵Kitsune Ral
some compilers A member function reference is not the same as a member function pointer.
2018-12-08Merge branch 'kitsune-tweaks-fixes'Kitsune Ral
2018-12-08Omittable: better editability; drop implicit cast to boolKitsune Ral
2018-12-08Omittable: make operator-> and operator* return an empty object if omitted ↵Kitsune Ral
== true That is, instead of Q_ASSERTing in debug builds (release builds already work that way). The idea is that since the value is default-initialised anyway it can be used as a "blank canvas" to access specific fields inside the value's structure. The next commit will use that.
2018-12-08StateEvent<>: make data members privateKitsune Ral
Keeping them protected extends API surface with no reasonable use from it (and for now derived classes don't access StateEvent<> data members directly, anyway).
2018-12-08RoomMemberEvent: cleanupKitsune Ral
Don't make JSON for event content only to parse it again; drop extraneous constructs.
2018-12-08Special-case FALLTHROUGH for ClangKitsune Ral
2018-12-08function_traits<>: support any arity; add compile-time testsKitsune Ral
2018-12-08Connection: Avoid Omittable<>::operator boolKitsune Ral
It was accidentally (and incorrectly) used in tags sorting code; will be dropped from Omittable<> in a later commit.