aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-19Room: process new state events after applying redactionsKitsune Ral
This was one more cause of #257 - the case when a redaction on a state event arrives in the same batch as the redacted event.
2018-11-19Room: expose eventsHistoryJob as a Q_PROPERTYKitsune Ral
2018-11-19Room: profile addHistoricalMessageEvents (+cleanup)Kitsune Ral
2018-11-19BaseJob::rawDataSample()Kitsune Ral
A new recommended (and localisable) way of getting a piece of raw response to display next to error messages as "details". BaseJob::rawData() returns exactly the trimmed piece of data, no "truncated" suffix there anymore.
2018-11-17Room: cleanupKitsune Ral
2018-11-17Room::processStateEvent: process banning correctlyKitsune Ral
Closes #258.
2018-11-17StateEventBase::replacedState()Kitsune Ral
Brings event id of the state event that was in effect before this one arrived. This key is not specced but it's used in the wild since forever.
2018-11-17User::isIgnored()Kitsune Ral
2018-11-14Room: fix incorrect handling of state event redactionsKitsune Ral
Also: use Matrix type instead of internal type id in StateEventKey (Because internal type id maps to the library type system which will not discern between Unknown events and therefore will mix together events of different types in Room::Private::baseState/currentState. The Room code is updated accordingly (bonus: more asserts there).) Closes #255.
2018-11-14DEFINE_SIMPLE_STATE_EVENT: Add default constructorKitsune Ral
...that creates an "empty" event, i.e. an event with content initialised by a default constructor (not all content types support this but those for simple events do).
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-11-14Room: ensure proper error signalling on event sending failuresKitsune Ral
2018-11-05isEchoEvent: check the pending event for ids, not the synced oneKitsune Ral
Synced events always have their event ids, so checking those for event id renders most of the function useless (and returns an incorrect result). Closes #248.
2018-11-04profilerMinNsecs(): Fix a misnomer - it's PROFILER_LOG_USECS now - and ↵Kitsune Ral
document it
2018-11-04Profiler logging fixes and improvementsKitsune Ral
2018-11-04Room: store state events in a unified wayKitsune Ral
Closes #194.
2018-11-04StateEventKey and std::hash<StateEventKey> to arrange state events in hashmapsKitsune Ral
2018-11-04StateEvent::dumpTo: add state_key to the loglineKitsune Ral
2018-11-04Support dumping Events to QDebugKitsune Ral
2018-11-04DEFINE_SIMPLE_STATE_EVENT: fix construction from an rvalue QJsonObjectKitsune Ral
2018-11-04DEFINE_SIMPLE_STATE_EVENT: fix value_type mistakenly dubbed as content_typeKitsune Ral
2018-11-03MediaThumbnailJob: minor code polishingKitsune Ral
2018-11-03User::displayname(): avoid calling nameForRoom twiceKitsune Ral
nameForRoom() is O(n) in this context (n - number of names of a given user).
2018-10-29Connection::joinRoom: allow to specify intermediate serversKitsune Ral
Closes #127.
2018-10-26Use tr() for pluralsKitsune Ral
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-11Merge pull request #250 from krombel/enable_http2_and_pipeliningKitsune Ral
add http2 and pipelining for all Jobs
2018-10-10add http2 and pipelining for all JobsKrombel
2018-10-05Room: fix a blunder leading to accessing data after moveKitsune Ral
2018-10-04events.h: #ifndef DISABLE_EVENTTYPE -> #ifdef ENABLE_EVENTTYPE_ALIASKitsune Ral
This turns off the legacy EventType namespace with event type aliases (EventType::RoomMessageEvent etc.). To still use it, pass - DENABLE_EVENTTYPE_ALIAS to the compiler.
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-30Avatar: fixes and optimisationsKitsune Ral
Closes #249.
2018-09-30Room: Unify tags both when getting and settingKitsune Ral
2018-09-30Room: use csapi/tags.h; fix tagsChanged() double-emissionKitsune Ral
Instead of overwriting the entire set of tags even on single-tag operations, SetRoomTagJob and DeleteRoomTagJob are used now. (Room::setTags() still uses SetRoomAccountDataJob).
2018-09-30toJson(TagRecord): don't dump order if there's noneKitsune Ral
2018-09-29Merge pull request #247 from QMatrixClient/avatar-cacheKitsune Ral
WIP: Add avatar caching.
2018-09-29Merge branch 'cs-api-0.4.0'Kitsune Ral
2018-09-29Support CS API 0.4.0Kitsune Ral
Numerous changes in CS (and now also AS) API, including compatibility-breaking ones - see the diff for details.
2018-09-29Prepare for CS API 0.4.0Kitsune Ral
This commit consists of two parts: upgrading the API infrastructure and trivial but sweeping update to the generated files. 1. The API infrastructure (converters.h, *.mustache and some other non-generated files) now can deal with top-level JSON arrays and response inlining; better supports property maps; and gets some formatting fixes in generated code. 2. Generated files now use QJsonValue instead of QJsonObject as a default type to (un)marshall Matrix API data structures, to match the change in the infrastructure above This commit is still using the old Matrix API definitions, before CS API 0.4.0. Getting to CS API 0.4.0 will come next.
2018-09-25Room::addTag: fix the QML-friendly overload's parameterKitsune Ral
TagRecord::order_type is float now, not QString.
2018-09-23Coding improvements.Black Hat
Change _localFile initializer. Move avatar into <cache>/avatar. Remove redundant codes. Change _localFile to QString. Code deduplication.
2018-09-21Add avatar caching.Black Hat
2018-09-17Merge pull request #244 from delijati/masterKitsune Ral
Updated voip pull request #110
2018-09-17return false in processStateEvent; make processCall privateJosip Delic
2018-09-17remove tunrnserverJosip Delic
2018-09-17remove tunrnserverJosip Delic
2018-09-17Merge pull request #243 from QMatrixClient/default-avatarKitsune Ral
Remove default avatar.
2018-09-16Merge remote-tracking branch 'upstream/master'Josip Delic
2018-09-16Remove default avatar.Black Hat