Age | Commit message (Collapse) | Author |
|
Also: refactoring to streamline state events submission.
|
|
A few places in the library dealt with state events without any notion
of state_key inside events, including StateEvent[Base] and relevant
functions in Room. A number of workarounds have been made; e.g.,
Room::setMemberState() accepted userId as a separate parameter, ignoring
the state key inside the RoomMemberEvent already passed to it, and
Room::setLocalAliases() had a bug in the initial version where the
function still tried to pass aliases in an event with an empty state
key. This commit fixes this shortcoming: StateEventBase now gets
stateKey as one more parameter, Room::Private::getCurrentState()
respects stateKey and returns properly constructed stub events, and
Room::setMemberState() gives way to a more generic Room::setState() that
works uniformly with whatever state event you pass to it.
|
|
Closes #301.
|
|
[ci skip]
|
|
|
|
|
|
Clients should not need to call this method explicitly.
|
|
|
|
Closes #299. Due to restrictions for the NOTIFY signal notificationCountChanged and highlightCountChanged no more carry Room* as a parameter, breaking back-compatibility.
|
|
So that it can be called from QML code
|
|
Closes #268.
|
|
postHtmlText becomes just a synonym for 2-arg postHtmlMessage (hopefully
at least this doesn't confuse QML that is generally terrible at
resolving overloads).
|
|
|
|
|
|
|
|
|
|
Closes #236.
|
|
|
|
Don't use distinct items for each type of event; only for repeated/
combinable ones.
|
|
Initial (sans power levels checking) implementation of the check that
room should be upgraded. Closes most of #236.
|
|
A signal emitted when the room receives a tombstone event from the
server.
|
|
Use RoomCreateEvent and RoomTombstoneEvent in the backend, covering most
of #235.
|
|
Mirroring Connection::loadedRoomState but for each single room (will be
used as a NOTIFY signal for one-time-set events).
|
|
|
|
|
|
|
|
Also: const'ified other methods related to file urls.
|
|
Also: use constructors instead of list-based initialisation in FileTransferPrivateInfo to enable a case of "invalid/empty" FileTransferPrivateInfo with status == None.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
This allows to batch updates into signals being emitted only once per
sync. Also supercedes emitNamesChanged flag used in a few places.
|
|
SyncData now resides in its own pair of files and is capable to load either from file or from JSON. There is also (yet untested) capability to load rooms from files if a file name stands is the value for a given room id. This allows to store the master cache file separately from cache files for each room, massively easing the problem of bulky accounts that can overflow the poor capacity of Qt's JSON engine.
|
|
|
|
Also: make moveEventsToTimeline() always put historical events from
position -1 rather than 0 so that Private::baseState could always
correspond to the before-0 position.
|
|
- registerEventType(): comment the cryptic _ variable
- Room::postEvent: document the return value
- Room::Private: upgrade comments to doc-comments - even though in Private, they still are helpful to show hints in IDEs.
- General cleanup
|
|
No-order is already modelled with the other overload, and Omittable<>
breaks interfacing with QML.
|
|
Call events no more store deserialised values; instead they deserialise
values on the fly, same as all other events. They are no more treated as
state events (The Spec doesn't define them as state events in the first
place). A common base class, CallEventBase, is introduced that defines
data pieces common to all call events (call id and version).
|
|
TagRecord::order_type is float now, not QString.
|
|
|
|
|
|
|
|
|
|
Merge to latest commit.
|
|
This is to allow connecting to before-destruction of one specific room, rather than any room under a connection (for which Connection::aboutToDeleteRoom() still exists).
|
|
Doxygen/Qt style is preferred from now on.
|