aboutsummaryrefslogtreecommitdiff
path: root/lib/room.h
AgeCommit message (Collapse)Author
2019-02-26Room::avatarObjectKitsune Ral
Closes #268.
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-22Room::setAliases, Connection: roomByAlias, updateRoomAliasesKitsune Ral
2019-02-17Room: add isUnstable(); unstableVersion() -> stabilityUpdated()Kitsune Ral
2019-02-17Room: emit room, not id in upgraded(); add upgradeFailed()Kitsune Ral
2019-02-16Room::canSwitchVersions()Kitsune Ral
2019-02-16Room::switchVersion()Kitsune Ral
Closes #236.
2019-02-15Fix FTBFSKitsune Ral
2019-02-15Use Changes enum properlyKitsune Ral
Don't use distinct items for each type of event; only for repeated/ combinable ones.
2019-02-15Room::checkVersion() and Room::unstableVersion()Kitsune Ral
Initial (sans power levels checking) implementation of the check that room should be upgraded. Closes most of #236.
2019-02-15Room::upgraded()Kitsune Ral
A signal emitted when the room receives a tombstone event from the server.
2019-02-15Room: version(), predecessorId(), successorId()Kitsune Ral
Use RoomCreateEvent and RoomTombstoneEvent in the backend, covering most of #235.
2019-02-15Room::baseStateLoadedKitsune Ral
Mirroring Connection::loadedRoomState but for each single room (will be used as a NOTIFY signal for one-time-set events).
2019-01-05Room: findPendingEvent; fixes for postFile()Kitsune Ral
2019-01-05Support file events in Room::retryMessage/discardMessageKitsune Ral
2019-01-05Room::postFile() and supplementary things in Room::PrivateKitsune Ral
2019-01-05Room::fileSourceKitsune Ral
Also: const'ified other methods related to file urls.
2019-01-05FileTransferInfo: new properties: isUpload and startedKitsune Ral
Also: use constructors instead of list-based initialisation in FileTransferPrivateInfo to enable a case of "invalid/empty" FileTransferPrivateInfo with status == None.
2018-12-16Room: messageSent(), better pendingEventAboutToAdd(), more doc-commentsKitsune Ral
2018-12-12Room: more doc-commentsKitsune Ral
2018-12-12Room::allMembersLoaded(); more doc-commentsKitsune Ral
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-08Room summariesKitsune Ral
2018-11-23Room: track more ChangesKitsune Ral
2018-11-23Room/Connection: don't save the just loaded room cacheKitsune Ral
2018-11-22Room: Change enum, Changes flag set, and changed() signalKitsune Ral
This allows to batch updates into signals being emitted only once per sync. Also supercedes emitNamesChanged flag used in a few places.
2018-11-20Make SyncData more self-contained and prepare for cache splittingKitsune Ral
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.
2018-11-19Room: expose eventsHistoryJob as a Q_PROPERTYKitsune Ral
2018-11-14Room: historyEdge(), syncEdge, Private::timelineBase()Kitsune Ral
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.
2018-11-14Improvements in commentsKitsune Ral
- 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
2018-10-12Room::addTag: use float instead of Omittable<float>Kitsune Ral
No-order is already modelled with the other overload, and Omittable<> breaks interfacing with QML.
2018-10-04Modernise and fix code dealing with call eventsKitsune Ral
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).
2018-09-25Room::addTag: fix the QML-friendly overload's parameterKitsune Ral
TagRecord::order_type is float now, not QString.
2018-09-17return false in processStateEvent; make processCall privateJosip Delic
2018-09-16Merge remote-tracking branch 'upstream/master'Josip Delic
2018-09-16Introduce Room::displaynameAboutToChange()Kitsune Ral
2018-09-16Use the right header file for QImageKitsune Ral
2018-09-12Merge pull request #1 from QMatrixClient/masterBlack Hat
Merge to latest commit.
2018-09-09Room::beforeDestruction()Kitsune Ral
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).
2018-09-09room.h: Unify doc-commentsKitsune Ral
Doxygen/Qt style is preferred from now on.
2018-09-09CleanupKitsune Ral
2018-09-02Switch tag order from strings to floats, as The Spec preachesKitsune Ral
The Spec wasn't entirely consistent on this until recently but floats actually are used in the wild, rather than strings.
2018-08-30Add signal for read receipt.Black Hat
2018-08-29Use local QHash.Black Hat
2018-08-25Update marius voip to new libqtmcJosip Delic
2018-08-20Room::displaynameChanged() should pass the old name tooKitsune Ral
Also: general cleanup.
2018-08-13Room::tagsChanged(): elaborate additions/removals along with the signalKitsune Ral
2018-08-11Reverse direct chats mapKitsune Ral
Speeds up lookup of user(s) in a direct chat room. Also: "The other one's" avatar is used to set the avatar of direct chats only, not any room with 2 participants.
2018-08-06Room: addedMessages passes timeline indicesKitsune Ral
2018-08-04Room: avoid overloading postMessage, as QML is bad at resolving overloaded slotsKitsune Ral
Closes #227.