aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-07-04Add more #includes missingKitsune Ral
2018-07-04Support ignoring usersKitsune Ral
Closes #215.
2018-07-04lib/csapi: Updated from the latest API definitionsKitsune Ral
2018-07-04Merge branch 'kitsune-events-rewritten'Kitsune Ral
2018-07-04Add #include to fix FTBFS with qmakeKitsune Ral
2018-07-04Break down event.* into smaller filesKitsune Ral
We now have event.*, roomevent.*, stateevent.* and eventloader.h. If you only use event leaf-classes (such as RoomMemberEvent) you shouldn't notice anything.
2018-07-04Use QStringLiteral() and operator"" _ls() in network jobsKitsune Ral
2018-07-04Events: use a template structure instead of template variables; rearrange ↵Kitsune Ral
code into blocks A template member variable in it seemed to cause internal compiler error in MSVC 2017, let alone MSVC 2015...
2018-07-04TimelineItem::operator*()Kitsune Ral
2018-07-04Event types system remade to be extensibleKitsune Ral
There were two common points that had to be updated every time a new event is introduced: the EventType enumeration and one of 3 doMakeEvent<> specialisations. The new code has a template class, EventFactory<>, that uses a list of static factory methods to create events instead of typelists used in doMakeEvent<>(); the EventType enumeration is replaced with a namespace populated with constants as necessary. In general, EventType is considered a deprecated mechanism altogether; instead, a set of facilities is provided: is<>() to check if an event has a certain type (to replace comparison against an EventType value) and visit<>() to execute actions based on the event type (replacing switch statements over EventType values). Closes #129.
2018-07-04Merge branch 'kitsune-raw-literal-qstringliteral'Kitsune Ral
2018-07-04Connection: Trim raw data in emitted signalsKitsune Ral
If the payload is too large, an attempt to allocate a QString out of QByteArray may end with qBadAlloc(). So by default the data emitted in case of error are trimmed to 64KiB, and this can be overridden to a different value (or switched off entirely with <n>=0) by adding - DTRIM_RAW_DATA=<n> to CPP_FLAGS.
2018-07-04Experimental usage of QStringLiteral with a raw string literalKitsune Ral
2018-07-03Roll various switch case fallthrough markers into a macroKitsune Ral
2018-07-03Provide #include back-compatibility for REGISTER_ENUMKitsune Ral
2018-07-03SyncJob: log sync data statistics betterKitsune Ral
2018-07-02Fix FTBFSKitsune Ral
2018-07-01weakPtr -> weakPtrCastKitsune Ral
2018-07-01More cleanup and minor tweaksKitsune Ral
2018-07-01CleanupKitsune Ral
2018-06-30Try [[gnu::const]]Kitsune Ral
2018-06-30Use C++14 [[deprecated]] attribute instead of doc-commentKitsune Ral
Testing the waters in one place to start with.
2018-06-24converters.h: Support QSet<>Kitsune Ral
Also: toJson<optional> is no more (was #if 0'd anyway).
2018-06-16CMakeLists.txt: Don't build API files list if not neededKitsune Ral
2018-06-16Connection::doInDirectChat: "direct chat with self" featureKitsune Ral
Essentially - create/switch to the room with you as the only member instead of getting the first room where you happen to be flagged as a direct chat user (which is pretty unpredictable even if stable from the user point of view).
2018-06-16Connection::createRoom: avoid inviting yourself to the created roomKitsune Ral
2018-06-16Connection::doInDirectChat: be more careful with cleanupKitsune Ral
d->directChats was cleaned up while it was iterated upon, obviously leading to Undefined Behaviour. Closes #214.
2018-06-16converters.h: Make it still compile with Qt older than 5.6Kitsune Ral
Some folks are still on Ubuntu vivid :(
2018-06-16csapi: Use {{>cjoin}} instead of {{>join,}}; fix a typo breaking update-apiKitsune Ral
2018-06-11Event::toJson(): Return an empty object instead of UBKitsune Ral
2018-06-11gtad.yaml: More concise list joiningKitsune Ral
2018-06-11Update CONTRIBUTING.mdKitsune Ral
[skip ci]
2018-06-11Update README.mdKitsune Ral
[skip ci]
2018-06-11BaseJob: Drop 'error' from methods that work in normal job state tooKitsune Ral
2018-06-11Connection: InFore/Background -> Fore/BackgroundRequestKitsune Ral
2018-06-09converters.h: drop unneeded template<> lineKitsune Ral
2018-06-09csapi: Now really fix passing query parametersKitsune Ral
Also: GetContentThumbnailJob (again) requires width and height.
2018-06-08csapi: Fix boolean query parameters incorrectly passedKitsune Ral
2018-06-08SyncJob: Support receiving to_device and presence eventsKitsune Ral
2018-06-08csapi: add jobs for keys managementKitsune Ral
This concludes the Great Income of Jobs to libQMatrixClient - all CS API calls are now covered with job classes, yay!
2018-06-08csapi: add jobs for device managementKitsune Ral
Same as for account management jobs, auth objects are modeled as generic QJsonObjects for now.
2018-06-08csapi: Added registration and account management jobsKitsune Ral
Regrettably had to cut corners and use QJsonObject for auth_data.yaml because GTAD 0.6 doesn't properly deal with a combination of properties and additionalProperties in the API description.
2018-06-08csapi: add jobs from rooms.yamlKitsune Ral
Getting a single event (/events), getting the full room state as well as with a specific type/key (/state), getting the list of room members (/members and /joined_members).
2018-06-08gtad.yaml: Update to the released GTAD 0.6Kitsune Ral
variant types now use comma (,) as a delimiter instead of | (because regexes). Also: moved around the `schema` section to be closer to `$ref`.
2018-06-08csapi: added sync filter definitions and jobsKitsune Ral
2018-06-04CMakeLists: Fix build breakage if MATRIX_DOC_PATH is relativeKitsune Ral
I should've guessed it at the previous commit, I know.
2018-06-04CMakeLists: fix build breakage if GTAD path is relativeKitsune Ral
2018-06-04Make libQMatrixClient buildable outside of QuaternionKitsune Ral
2018-06-04converters.*: FixesKitsune Ral
Qualify functions properly; add converters.* to libqmatrixclient.pri
2018-06-03csapi: jobs to setup push-rulesKitsune Ral