aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
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-22Merge remote-tracking branch 'remotes/origin/kitsune-simpler-simple-content'Kitsune Ral
2019-02-20BaseJob: M_UNSUPPORTED_ROOM_VERSION & M_INCOMPATIBLE_ROOM_VERSIONKitsune Ral
2019-02-19Room::downloadFile: construct the temporary filename more carefullyKitsune Ral
Closes #279.
2019-02-18Room: fix building with MSVCKitsune 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-17Connection: loadingCapabilities(); sort availableRoomVersionsKitsune Ral
2019-02-16Room::version(): Fallback an empty version to "1"Kitsune Ral
2019-02-16Room::canSwitchVersions()Kitsune Ral
2019-02-16Room::checkVersion(): check power levelsKitsune Ral
This is a flimsy implementation without proper RoomPowerLevelEvent definition, just to enable upgrades without causing noise to each and every user of a room on an unstable version.
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-15Disallow sending events to rooms that have been upgradedKitsune Ral
This concludes the mandatory part of #235.
2019-02-15Room: version(), predecessorId(), successorId()Kitsune Ral
Use RoomCreateEvent and RoomTombstoneEvent in the backend, covering most of #235.
2019-02-15Add a FIXME upon the recent failure under ValgrindKitsune Ral
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-02-15Simplify RoomCreateEventKitsune Ral
2019-02-15RoomTombstoneEventKitsune Ral
2019-02-15Connection: load supported room versionsKitsune Ral
A part of #236.
2019-02-15Merge branch 'master' into kitsune-room-versionsKitsune Ral
2019-02-15csapi/capabilities.*: fix the definitionKitsune Ral
As per https://github.com/matrix-org/matrix-doc/pull/1879.
2019-02-15RoomVersionsCapability: fix naming for 'default' parameterKitsune Ral
The same word is used as a predicate in push_rule.yaml and as a noun in capabilities.yaml; fortunately, GTAD gives some means to distinguish the two.
2019-02-15Omittable: disallow implicit conversion to value_type altogetherKitsune Ral
Because it works, and fails, in surprising ways. And none of the code uses it, as of now.
2019-02-11Merge branch 'kitsune-update-matrix-api'Kitsune Ral
2019-02-11RoomCreateEventKitsune Ral
Closes #234.
2019-02-11Connection::createRoom: support passing a room versionKitsune Ral
On the path to address #233.
2019-02-11SimpleContent: don't derive from Base as it gives zero added valueKitsune Ral
Originally there was an idea to make a common base class for all event content. Aside from really trivial unification of toJson() this doesn't span across various types of events, and since state events use static, rather than dynamic, polymorphism (StateEvent<> is a template with the aggregated content vs. RoomMessageEvent with the aggregated pointer-to-content-base), there's no considerable value in using the base class. If state events start using the same approach as message events, this may be brought back but not until then.
2019-02-10Connection: move syncLoopTimeout to Connection::PrivateAlexey Andreyev
Signed-off-by: Alexey Andreyev <aa13q@ya.ru>
2019-02-09csapi: support redirect-after-login (MSC1730)Kitsune Ral
2019-02-09csapi: add RedirectToSSOJobKitsune Ral
This is actually a rehash (MSC1721) of redirectToCAS that existed before but was explicitly disabled in the library because of its seeming uselessness in the context of non-web clients. On the second thought, however, `RedirectToSSOJob::makeRequestURL()` can actually be used to open a web browser from a non-web client in order to perform the login procedure.
2019-02-09csapi: UpgradeRoomJob (MSC1501)Kitsune Ral
2019-02-09csapi: GetCapabilitiesJob (MSC1753)Kitsune Ral
2019-02-09csapi: GetVersionsJob now returns unstableFeatures (MSC1497)Kitsune Ral
2019-02-09csapi: presence lists are no moreKitsune Ral
2019-02-05Connection: simplified sync loop logic without delaysAlexey Andreyev
Signed-off-by: Alexey Andreyev <aa13q@ya.ru>
2019-02-03Connection: separated sync loop logic with delay controlAlexey Andreyev
Signed-off-by: Alexey Andreyev <aa13q@ya.ru>
2019-01-30Connection: infinite sync loop logic by defaultAlexey Andreyev
2019-01-13Merge branch 'kitsune-workaround-stuck-invites'Kitsune Ral
2019-01-13Security fix: require that state events have state_keyKitsune Ral
This has been fixed in the past but got undone after the great remaking of the event types system. Further commits will introduce tests to make sure this does not get undone again.
2019-01-13Fix building with Qt before 5.10Kitsune Ral
See https://bugreports.qt.io/browse/QTBUG-60339
2019-01-13qt_connection_util.h: a new home for connectSingleShot() and newly made ↵Kitsune Ral
connectUntil()
2019-01-13util.h: check for fallthrough attribute instead of C++ versionKitsune Ral
2019-01-13Connection: fix/workaround glitches on joining/leavingKitsune Ral
Closes #273, in particular.
2019-01-13Room::Room: initialise display nameKitsune Ral
So that the room has at least some display name before any events come to it.
2019-01-13Connection::provideRoom: allow omitting join stateKitsune Ral
2019-01-13Fix Omittables accidentally becoming non-omitted when compared with ↵Kitsune Ral
non-Omittable values