aboutsummaryrefslogtreecommitdiff
path: root/lib/events
AgeCommit message (Collapse)Author
2020-12-28More comments/documentationKitsune Ral
Notably, recommend using loginFlowsChanged() rather than homeserverChanged() to detect when a Connection object is ready for a login sequence. Related: #427.
2020-12-28event.h: Minor tweaks around visit<>Kitsune Ral
2020-11-19Fix Q_ASSERT failure on sending messagesKitsune Ral
Changes in e81117fb exposed a flaw in EncryptionEvent causing assertion failure when this event is default-initialised (i.e. no encryption).
2020-11-15Cleanup across event classesKitsune Ral
In particular: removed unnecessary #includes, deprecated and no more used constructs, replaced stored members with dynamic generation from JSON (TypingEvent and, especially promising for performance, ReceiptEvent)
2020-11-14Make StateEventBase Q_GADGET tooKitsune Ral
To align with the two other base event classes (Event and RoomEvent).
2020-11-14CleanupKitsune Ral
2020-11-14Drop EventFactory<RoomPowerLevelsEvent>Kitsune Ral
RoomPowerLevelsEvent is not used in csapi/ classes so the factory is of no use either.
2020-11-12More JSON key constantsKitsune Ral
2020-11-10MembershipType: drop warning on empty valuesKitsune Ral
This is a usual situation when a membership type is undefined; and the current code constructs _a lot_ of stub events by loading them from empty JSON. So just silence those warnings for now.
2020-11-08More robust member profile data retrievalKitsune Ral
MemberEventContent: displayname and avatarUrl are now Omittables; CS API doesn't guarantee their presence (see also https://github.com/matrix-org/matrix-doc/issues/1375) but Quotient used to assume they are always there, causing #412. RoomMemberEvent: displayname() -> newDisplayName() and avatarUrl() -> newAvatarUrl(), to emphasise the actual semantics (and also the changed interface). The old signatures still work but are deprecated. Instead of roomMembername() (with weird camel-casing), three new methods in addition to safeMemberName() are introduced to Room: - memberName() - produces the "best known" display name for a given member; User::name() uses it to avoid the pitfall of #412. - disambiguatedMemberName() - this is what roomMembername() used to be; not recommended for direct use when UI is concerned. - safeMemberName() - remains as is, with the fix to the documentation that used to mislead that the function returns HTML-escaped content (it didn't, and doesn't). - htmlSafeMemberName() - does what safeMemberName() claimed to do. Respectively, memberNames() is deprecated in favor of safeMemberNames() and htmlSafeMemberNames(). The corresponding Q_PROPERTY uses safeMemberNames() now. Similar to memberName(), Room has got memberAvatarUrl() to spare User class from diving into Room state to find the member avatar URL. Closes #412.
2020-08-11Drop unneeded #includeKitsune Ral
2020-08-03CleanupKitsune Ral
2020-08-02Event::dumpTo: make protected, and RoomEvent overrideKitsune Ral
The override adds the event's origin timestamp
2020-07-26RoomAvatarEvent: add constructors from contentKitsune Ral
So that room avatar events could also be sent, not only received.
2020-03-26Refactoring around Connection::onSyncSuccess()Kitsune Ral
The method grew large and a bit unwieldy over the years.
2020-03-26AliasesEventContent::toJson(): optimise generated JSONKitsune Ral
2020-03-21Merge pull request #383 from ram-nad/msc2432-fixKitsune Ral
fixing msc2432
2020-03-20Make rvalue constructor explicit Update lib/events/roomcanonicalaliasevent.hRam Nad
Co-Authored-By: Kitsune Ral <Kitsune-Ral@users.sf.net>
2020-03-20Make constructor explicit lib/events/roomcanonicalaliasevent.hRam Nad
Co-Authored-By: Kitsune Ral <Kitsune-Ral@users.sf.net>
2020-03-20made suggested changesRam Nad
2020-03-20Add warranty in lib/events/roomcanonicalaliasevent.hRam Nad
Co-Authored-By: Kitsune Ral <Kitsune-Ral@users.sf.net>
2020-03-19Merge pull request #376 from rpallai/editing-fixesKitsune Ral
Simple changes for sending edits
2020-03-17Use constantRoland Pallai
Co-Authored-By: Kitsune Ral <Kitsune-Ral@users.sf.net>
2020-03-13Merge pull request #346 from quotient-im/aa13q-e2ee-encrypted-msgKitsune Ral
E2EE: implement receiving of the messages
2020-03-08fixing msc2432Ram Nad
2020-02-25E2EE: EncryptedEvent constructor debug messageAlexey Andreyev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-25E2EE: introduce RoomKeyEventAlexey Andreyev
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
2020-02-22RoomMemberEvent: add isRejectedInvite(), isBan(), and isUnban()Karol Kosek
2020-02-10Add EventContent::replacementOf() helperRoland Pallai
2020-02-10TextContent: use MSC-1849 compatible `m.relates_to` fieldRoland Pallai
2020-02-10Edit (transmit): fix asterisk marking for dumb clientsRoland Pallai
The prepared body got overwritten due to missing return statement.
2020-02-10Edit (transmit): fix json struct of `m.new_content`Roland Pallai
2020-01-01Fix linux buildBlack Hat
2020-01-01Fix linux buildBlack Hat
2020-01-01Add powerLevelForState()Black Hat
2020-01-01Mark methods as const.Black Hat
2019-12-30Simplify codeBlack Hat
2019-12-29Add missing fileBlack Hat
2019-12-29Merge branch 'master' of https://github.com/quotient-im/libQuotient into ↵Black Hat
bhat-powerlevel
2019-12-29Add RoomPowerLevelEvent typeBlack Hat
2019-12-24RoomMemberEvent: introduce the reason field (MSC2367)Kitsune Ral
See https://github.com/matrix-org/matrix-doc/pull/2367. Closes #370.
2019-12-09RoomEvent::timestamp() -> originTimestamp()Kitsune Ral
The previous name is still available but deprecated.
2019-11-10CleanupKitsune Ral
2019-11-01Derive Omittable<> from std::optional<>Kitsune Ral
That breaks API all over the place but: 1. The fixes are trivial. 2. More of std:: is used instead of home-baking the same stuff.
2019-09-29Simplify visit() signatureKitsune Ral
Checking that BaseEventT descends from Event is really extraneous.
2019-09-12Introduce HashQ<> and UnorderedMap<>Kitsune Ral
Invading into std:: is frowned upon, even though legitimate from the C++ standard perspective. Given that it's possible to pass a hash object to unordered_map, it only takes an alias for std::unordered_map to avoid having to specialize std::hash. And besides, a generic compatibility bridge between qHash and std::hash has been long needed. std::hash<QString> in converters.h remains for now; it will be dropped separately when the API files get regenerated to use UnorderedMap.
2019-08-25RoomMessageEvent::content(): constify event contentKitsune Ral
2019-08-13Support for server notices rooms (MSC1452)Kitsune Ral
Closes #326.
2019-08-11Use [[maybe_unused]] instead of [[gnu::unused]]Kitsune Ral
2019-08-11Now that we're C++17, remove old compatibility cruftKitsune Ral