aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-16BaseJob: preserve the calculated error code if JSON error code is unknownKitsune Ral
Resetting the code to IncorrectRequestError has been a part of the cause for the incorrect Quaternion behaviour on expired tokens.
2019-04-15BaseJob: fix a possible crash upon logoutKitsune Ral
See https://github.com/QMatrixClient/Quaternion/issues/566 for details.
2019-04-06CMakeLists.txt: API version should be 0.5.1 instead of 0.5Kitsune Ral
Also: modernised version setting.
2019-04-06Room::processStateEvent: be more careful with signals handling at user renamesKitsune Ral
2019-04-05Update README.md and CONTRIBUTING.md (attn: LGPL v3 coming)Kitsune Ral
[skip ci]
2019-04-04Clean up on clang-tidy/clazy analysisKitsune Ral
2019-04-03Room::postFile: initiate uploading the file even before adding a pending eventKitsune Ral
This is to make sure a pending event with file transfer already placed.
2019-04-03room.h: more doc-commentsKitsune Ral
2019-03-31CMakeLists.txt: bump the version to 0.5.1Kitsune Ral
2019-03-31Room: track invited users; polish the room naming algorithmKitsune Ral
It's no more entirely along the spec lines but gives better results with or without lazy-loading, across a wide range of cases. Closes #310.
2019-03-31Room::updateData(): recalculate room name only when state changes occurKitsune Ral
2019-03-31Room::refreshDisplayName() - for debugging purposes onlyKitsune Ral
Clients should not need to call this method explicitly.
2019-03-30User::nameForRoom(): null hint is not a hintKitsune Ral
This caused the library to erroneously believe that users with no representation in other rooms have no display name even if that display name is provided for the given room.
2019-03-30Connection: make sure to mark rooms supposed to be direct chats as suchKitsune Ral
Closes #305. Relies on correct tracking of Invite membership from the previous commit.
2019-03-30Room::processStateEvent, User: take the previous membership state from ↵Kitsune Ral
oldStateEvent memberJoinState() just happens to return the not-yet-updated state, making its use around state changes very sensitive to moving things around. The event's own prevContent is unsigned, therefore untrusted.
2019-03-29Room::processRedaction(): avoid accidental creation of entries inKitsune Ral
currentState; cleanup
2019-03-27qmc-example: add a couple homeserver data sanity checksKitsune Ral
2019-03-27Connection::domain()Kitsune Ral
2019-03-26Room::canSwitchVersions(): return false on tombstoned roomsKitsune Ral
A softer take on #306.
2019-03-24linkifyUrls(): fix linkification of emails containing "www."Kitsune Ral
Closes #303.
2019-03-23Room::downloadFile(): Tighten URL validationsKitsune Ral
Check the URL before passing over to Connection::downloadFile(), not only the file name.
2019-03-23Update to the latest CS API definitionsKitsune Ral
No breaking changes; GetAccountDataJob/GetAccountDataPerRoomJob added.
2019-03-21sanitized(): revert to only dropping Unicode RLO/LRO markers (no HTML escaping)Kitsune Ral
Because user display names (in particular) can be used in non-HTML context. Clients should take care about HTML escaping where appropriate.
2019-03-21Room::displayName: fix NOTIFY signal for Q_PROPERTYKitsune Ral
2019-03-17prettyPrint: do not apply sanitized()Kitsune Ral
Only display names should be sanitized; messages are only HTML-escaped.
2019-03-17User: strip RLO/LRO markers on renaming as wellKitsune Ral
Continuation of work on #545.
2019-03-17RoomMemberEvent: sanitize user display namesKitsune Ral
MemberEventContent::displayName() will strip away Unicode text direction override characters. Direct access to JSON can still provide "raw" data.
2019-03-14Fix read receipts and redactions on v3 roomsKitsune Ral
Previously slashes in eventIds (that come plenty in v3 due to base64 encoding) were not properly encoded - they are now.
2019-03-10Room::checkVersion(): be tolerant to already upgraded roomsKitsune Ral
2019-02-27Refresh CONTRIBUTING.mdKitsune Ral
2019-02-27qmc-example: use Connection::syncLoopKitsune Ral
2019-02-27Connection::stopSync: undo the sync loopKitsune Ral
2019-02-27BaseJob::abandon() fixesKitsune Ral
1. It should work with non-started jobs now (Closes #289). 2. It should allow clients to still handle `finished()` instead of cutting them off right before emitting the signal.
2019-02-26README.md: use dash instead of tilde in pre-releasesKitsune Ral
[skip ci]
2019-02-26README.md: update versioning convention for pre-releasesKitsune Ral
2019-02-26Room::avatarObjectKitsune Ral
Closes #268.
2019-02-26Linkify Matrix identifiersKitsune Ral
This is a crude interim implementation until we get new fancy Matrix URIs.
2019-02-26prettyPrint(): only linkify http(s), ftp, mailto, magnet linksKitsune Ral
Closes #278.
2019-02-26Room: avoid dangling pointers, even if not dereferencedKitsune Ral
Closes #288; fixes one more case similar to #286. Also: disconnect file transfer signals correctly in Room::postFile.
2019-02-26Merge pull request #287 from a-andreyev/aa13q-fix-5.6-build-qhashKitsune Ral
Fix Qt<5.7 build for std::hash<StateEventKey>
2019-02-26Room::addNewMessageEvents: fix possible use of an invalid iteratorKitsune Ral
Closes #286.
2019-02-25Have a build-wide macro for compilers that don't handle init-lists rightKitsune Ral
WORKAROUND_EXTENDED_INITIALIZER_LIST -> BROKEN_INITIALIZER_LISTS is available from util.h now.
2019-02-25RoomMessageEvent: support m.in_reply_to (not spec-compliant yet); optimise ↵Kitsune Ral
away TextContent when not needed 1. The spec says "if you support rich replies you MUST support fallbacks" - this commit only adds dealing with event JSON but not with textual fallbacks. 2. TextContent is only created if there's something on top of plain body (an HTML body or a reply).
2019-02-25Room::postHtmlMessage: default message type to m.textKitsune Ral
postHtmlText becomes just a synonym for 2-arg postHtmlMessage (hopefully at least this doesn't confuse QML that is generally terrible at resolving overloads).
2019-02-25makeRedacted: update the list of preserved partsKitsune Ral
Closes #256.
2019-02-24Fix Qt<5.7 build for std::hash<StateEventKey>Alexey Andreyev
2019-02-24Merge branch 'kitsune-aliases-map'Kitsune Ral
2019-02-24Merge pull request #285 from Kaffeine/kaffeine/fix_debug_private_apiKitsune Ral
Refactor Connection::SupportedRoomVersion debug operators
2019-02-23Remove the 'pretty' SupportedRoomVersion vector debug operatorAlexander Akulich
This way we conform with Qt standard debug output and do not rely on a Qt private API. This also fixes compilation for Qt < 5.7.
2019-02-22Room::setAliases, Connection: roomByAlias, updateRoomAliasesKitsune Ral