aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-18CMakeLists: fixed potential linking errors around quotient_common.hAlexey Rusakov
quotient_common.h has Q_NAMESPACE but no own compilation unit, and moc was not called on it either - using metaobject data on an enumeration defined in that file leads to a linking error due to sharedMetaObject not being defined. The fix makes so that the file is detected by automoc with the respective definition being generated. Cherry-picked from a83ec900 (0.6.x branch).
2021-07-16User::rename(): don't discard the current stateAlexey Rusakov
Closes #481.
2021-07-16SyncData::parseJson(): minor optimisationAlexey Rusakov
2021-07-16Log thumbnail requests in their own categoryAlexey Rusakov
As pointed out by one of users, thumbnail requests produce quite a bit of logging traffic, so it's better to manage them separately.
2021-07-16UriResolver: fix clang-tidy warningsAlexey Rusakov
2021-07-16Officially drop Qt Multimedia with Qt 6Alexey Rusakov
Closes #483.
2021-07-16Merge branch 'kitsune-fix-read-receipts-and-markers-0.6' into 0.6.xAlexey Rusakov
2021-07-14User::rename(): actually build on the current stateAlexey Rusakov
This is a further extension of #481 fix that takes the whole current state event content, rather than just the avatar URL.
2021-07-14SyncData::parseJson(): further minor optimisationAlexey Rusakov
Just to align with the similar changes coming in 0.7
2021-07-14SyncData::parseJson(): fix incorrect reserve() argAlexey Rusakov
That is unlikely to impact performance, since reserve() is usually called only once per given JSON object (`{ "join": { ... } }`).
2021-07-14CMakeLists: fixed potential linking errors around quotient_common.hAlexey Rusakov
quotient_common.h has Q_NAMESPACE but no own compilation unit, and moc was not called on it either - using metaobject data on an enumeration defined in that file leads to a linking error due to sharedMetaObject not being defined. The fix makes so that the file is detected by automoc with the respective definition being generated.
2021-07-11Fix Room::processAccountDataEvent() return valueAlexey Rusakov
(cherry picked from commit 7b65051e959968fe538f40c975d85757cfcc7df7) (cherry picked from commit 9edfefe9b209583d18ce92e7ffd73e8aa1f3ef1e)
2021-07-11Fix Room::processAccountDataEvent() return valueAlexey Rusakov
(cherry picked from commit 7b65051e959968fe538f40c975d85757cfcc7df7)
2021-07-10Merge branch '0.6.x' into kitsune-fix-read-receipts-and-markers-0.6Alexey Rusakov
2021-07-10Update and extend doc-comments for read marker-related methodsAlexey Rusakov
2021-07-10Fix Room::processAccountDataEvent() return valueAlexey Rusakov
2021-07-10Room: refactoring around logging (esp. profile logs)Alexey Rusakov
2021-07-10Room: fix the read markers/receipts confusionAlexey Rusakov
This turns the design changes laid out in #464 comments to code: - readMarker() now returns the fully read marker, unlike readMarker(User*) that returns a read receipt, even when called for the local user. - Private::setLastReadEvent() -> setLastReadReceipt(), incorporating the "promotion" logic from promoteReadReceipt(). - The above makes promoteReadReceipt() unneeded; the remaining piece of logic that recalculates the number of unread messages is put to its own method - Private::recalculateUnreadCount(). - Private::updateUnreadCount() is only slightly refreshed, continues to use the fully read marker position (as it used to). - Now that read receipts and fully read markers are managed separately, Private::setLastReadReceipt() has got its counterpart, Private::setFullyReadMarker(); both only update their respective markers locally (emitting signals as needed), without interaction with the homeserver. - Private::markMessagesAsRead() now delegates updating the fully read marker to setFullyReadMarker() and on top of that sends the new fully read marker to the homeserver. - Private::serverReadMarker -> fullyReadUntilEventId (to be really clear what it stores). - The hand-written PostReadMarkersJob is replaced with the generated SetReadMarkerJob that does the same thing (and can update the read receipt on top, though the current code doesn't use that).
2021-07-02Room::memberJoinState(): return Leave if user == nullptrAlexey Rusakov
2021-07-02Actually delete BaseJob::QueryAlexey Rusakov
It was a tiny wrapper around QUrlQuery to facilitate creation from an initializer list - however, Mustache templates long changed to not actually used that additional constructor.
2021-07-02Abandon BaseJob::Query - generated API filesAlexey Rusakov
2021-07-02Abandon BaseJob::Query - Mustache templateAlexey Rusakov
2021-06-30Add a commented out delimiter override exampleAlexey Rusakov
2021-06-29More re-generated API files (only doc-comments updated)Alexey Rusakov
All actual updates to the API go to 0.7.
2021-06-29.appveyor.yml: And another typo fixAlexey Rusakov
2021-06-28.appveyor.yml: typo fixAlexey Rusakov
2021-06-28.appveyor.yml: use an existing Qt 5.9 configAlexey Rusakov
2021-06-28.appveyor.yml: drop old E2EE code from testingAlexey Rusakov
2021-06-28gtad.yaml: update for use with GTAD pre-0.8Alexey Rusakov
2021-06-28gtad.yaml: update for use with GTAD pre-0.8Alexey Rusakov
2021-06-27Room::processEphemeralEvents(): refactoringAlexey Rusakov
2021-06-27Retain the current room member avatar when renamingAlexey Rusakov
Closes #481. Note: the library doesn't even have the API in User to set per-room avatars; one still can achieve that by calling Room::setState<RoomMemberEvent>(...) though (and it's likely to be _the_ recommended way to deal with per-room user profiles in 0.7, with User being entirely deprecated).
2021-06-23Step to Ubuntu 20.04; drop (old) E2EE code buildingAlexey Rusakov
2021-06-23Re-generate API filesAlexey Rusakov
2021-06-23*.mustache: Drop a stray leading end-of-lineAlexey Rusakov
An SPDX comment in the source code did not collapse entirely.
2021-06-23Require ClangFormat 10 or newer, if usedAlexey Rusakov
2021-06-23Update to the new matrix-doc layout and toolingAlexey Rusakov
Among things affecting Quotient, the update involved moving API files from api/ to data/api/, adding extensions to event schema files, and switching from ReStructured Text to Markdown as a lightweight markup language. This commit updates the build system and GTAD configuration to accommodate for these. The build system is also more robust now in choosing whether the update-api target should be provided. Previously the target was provided whenever GTAD_PATH and MATRIX_DOC_PATH were specified, even if they did not point to anything valid. CMake now checks that MATRIX_DOC_PATH is an actual directory and that GTAD_PATH points to an actual file. # Conflicts: # CMakeLists.txt
2021-06-23Re-generated API files according to the previous commitAlexey Rusakov
Only API-preserving changes are included in this branch (0.7 will have all changes).
2021-06-23Update to the new matrix-doc layout and toolingAlexey Rusakov
Among things affecting Quotient, the update involved moving API files from api/ to data/api/, adding extensions to event schema files, and switching from ReStructured Text to Markdown as a lightweight markup language. This commit updates the build system and GTAD configuration to accommodate for these. The build system is also more robust now in choosing whether the update-api target should be provided. Previously the target was provided whenever GTAD_PATH and MATRIX_DOC_PATH were specified, even if they did not point to anything valid. CMake now checks that MATRIX_DOC_PATH is an actual directory and that GTAD_PATH points to an actual file.
2021-06-13Merge pull request #480 from quotient-im/kitsune-qt6-compatAlexey Rusakov
Qt 6 support
2021-06-13CMakeLists: require explicit BUILD_WITH_QT6 for Qt 6Alexey Rusakov
It's not there, it's experimental - people should know what they are doing.
2021-06-13AppVeyor: disable E2EE building, drop older QtAlexey Rusakov
E2EE will be remade anyway so building it now makes little sense.
2021-06-13BaseJob: FollowRedirectsAttribute -> RedirectPolicyAttributeAlexey Rusakov
The latter obsoleted the former since Qt 5.9, actually.
2021-06-13CI: version Qt cacheAlexey Rusakov
2021-06-13CI: Use Qt 5.12, as required from nowAlexey Rusakov
2021-06-13Generate a moc file for quotient_common.hAlexey Rusakov
Previously Q_NAMESPACE did not require its own moc, somehow blending into others; now it does.
2021-06-13Uri: Fix ambiguity around QChar constructorsAlexey Rusakov
QChar now accepts more types for construction, and that unraveled concatenation of a Type/SecondaryType character with a QString. To fix it, give the compiler a hint by casting to the enum's underlying type (which also nicely documents that we _actually_ switch from enum to character type).
2021-06-13EncryptionEvent: fix "too perfect forwarding"Alexey Rusakov
Now that QMetaType introspects into types, it reveals hidden problems (which is very nice of it).
2021-06-13Exclude code no more needed with Qt6Alexey Rusakov
2021-06-13Disable the piece depending on Qt Multimedia for Qt 6Alexey Rusakov
Waiting for the Multimedia arrival in Qt 6.2.