aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2018-05-26lib/csapi/: regenerate job classes from the most recent templatesKitsune Ral
The second part to close #208.
2018-05-26lib/csapi/: Don't send parameters that were omittedKitsune Ral
This is important because payloads that include omitted parameters may be malformed. Closes #208 (an example of such malformed payload).
2018-05-24Room: Make isFavourite/LowPriority/DirectChat accessible from QMLKitsune Ral
The first two as Q_PROPERTYs, the last one as Q_INVOKABLE.
2018-05-23BaseJob: more careful error handling; unify and extend error signals in ↵Kitsune Ral
Connection (Note: this commit breaks back-compatibility.) BaseJob::gotReply() had a bold assumption that whenever there's no reasonable JSON body in case of error, that meant IncorrectRequestError (which of course was incorrect). This led to syncs dying in Quaternion because it (correctly) considered IncorrectRequestError to be grave enough to not retry. Closes #206. Also: don't dump the whole payload to logs, limit with initial 500 characters (closes #205)
2018-05-06Remove unused job classes.Kitsune Ral
2018-05-06converters.h: Fix CIKitsune Ral
2018-05-06Optimise #includes, eliminate some excess blank lines in lib/csapiKitsune Ral
2018-05-06lib/csapi/*.mustache: Optimise #includes, eliminate some blank linesKitsune Ral
2018-05-06lib/csapi: SearchJobKitsune Ral
2018-05-06Room::calculateDisplayname: fix a misleading room name after leaving a ↵Kitsune Ral
one-on-one
2018-05-04New home for the generated code - lib/csapiKitsune Ral
2018-05-04Fix building on OSXKitsune Ral
2018-05-04gtad.yaml: CleanupKitsune Ral
2018-05-04gtad.yaml: Even more concise type stubbingKitsune Ral
With most recent GTAD.
2018-05-04Connection, jobs/generated: Use QStringList instead of QVector<QString>Kitsune Ral
QStringList's API is richer, after all.
2018-05-04gtad.yaml: Use QStringList instead of QVector<QString>Kitsune Ral
QStringList's API is richer, after all.
2018-05-04jobs/generated: code ordering, more commentsKitsune Ral
2018-05-04gtad.yaml: Support maps of eventsKitsune Ral
Use std::unordered_map<> (now supported by GTAD and converters.h) for that.
2018-05-04{{base}}.h.mustache: better code ordering, more commentsKitsune Ral
2018-05-04converters.h: support std::unordered_map<QString, T>Kitsune Ral
2018-05-04SendToDeviceJob: use a map-of-maps for messages instead of an opaque QJsonObjectKitsune Ral
2018-05-04gtad.yaml: Support OpenAPI value maps (aka additionalProperties)Kitsune Ral
This is useful for things like tags map in m.tags event, or the map-of-maps-of-messages in SendToDeviceJob (coming in the next commit). Requires GTAD 0.4.9 or later.
2018-05-04Preempt job/setroomstatejob.* with jobs/generated/room_state.*Kitsune Ral
The template part (not exposed in the auto-generated class) goes to Room::Private::requestSetState(). Also, Room::setMemberState() to interface with User class.
2018-05-04EvT::TypeId: Use a member function instead of a variableKitsune Ral
The latter one causes linkage errors when used from a template method (but not from a template class, puzzlingly).
2018-05-03gtad.yaml: Update regexes to match string partsKitsune Ral
According to KitsuneRal/gtad#31.
2018-05-03Preempt jobs/joinroomjob.* with jobs/generated/joining.*Kitsune Ral
Enables responding to third-party invites.
2018-05-03jobs/generated: Drop unused codeKitsune Ral
2018-05-03GetRoomEventsJob (replaces RoomMessagesJob) + refactoringKitsune Ral
1. Updates in this commit (see further) allow to generate and build GetRoomEventsJob from message_pagination.yaml; this job completely preempts RoomMessagesJob. 2. EventsBatch<> is no more a thing; there's EventsArray<> to replace it but it's loaded from a JSON array rather than an event batch (a JSON array inside another JSON object). SyncJob that used it extensively has been moved to "conventional" containers (Events, RoomEvents and the newly introduced StateEvents). RoomMessagesJob that also used EventsBatch<> is decommissioned (see above). 3. RoomEventsRange is now an alias for Range<RoomEvents>, defined in util.h (otherwise almost the same). 4. Connection::getMessages() is no more. Use Room::getPreviousContent() and Connection::callApi<GetRooMEventsJob>() instead. 5. Moving things around in Room, since SyncJob now supplies state events in more specific StateEvents, rather than RoomEvents.
2018-05-03Room::Private::processRedaction: minor refactoringKitsune Ral
2018-05-03CleanupKitsune Ral
2018-05-03GTAD: Use QMatrixClient::Event-derived classes in generated jobs + Mustache ↵Kitsune Ral
cleanup This should make generated jobs buildable across the whole CS API (sync.yaml is disabled as the manual implementation is still considerably better).
2018-05-01Merge branch 'master' into kitsune-gtadKitsune Ral
2018-05-01jobs/generated: use std::move in baseURL; type updates from the API filesKitsune Ral
The type updates are a matter of pending PR to matrix-doc yet.
2018-05-01gtad.yaml: Use EventPtr for Notifications.Event; add variant type to the mapKitsune Ral
Variants are not yet supported but just in case, let's have the line, it's very obvious.
2018-05-01GetNotificationsJob: don't alias EventPtr with EventKitsune Ral
It's useless and misleading.
2018-05-01jobs/generated: use std::move in baseURL; type updates from the API filesKitsune Ral
The type updates are a matter of pending PR to matrix-doc yet.
2018-05-01Event and Room: further abstract event pointersKitsune Ral
So that eventual switch from std::unique_ptr to some other pointer (as a case - QSharedPointer) would be as painless as possible.
2018-05-01Room: endorse std::moveKitsune Ral
That is, add "using std::move" and strip std:: from actual usages.
2018-05-01converters.h: Support std::vector<>Kitsune Ral
2018-05-01User::processEvent: add constKitsune Ral
2018-05-01RedactionEvent: make the constructor explicitKitsune Ral
2018-05-01Event: cleanupKitsune Ral
2018-05-01Integrate converters with EventPtr partiallyKitsune Ral
So that events can be created from JSON in the same way as all other types.
2018-05-01Mustache: more C++ tidying and empty lines removalKitsune Ral
2018-05-01ConnectionsGuard: one more fix about defaultsKitsune Ral
2018-05-01jobs/generated: GetNotificationsJobKitsune Ral
2018-04-30ConnectionsGuard: one more fix about defaultsKitsune Ral
2018-04-30jobs/generated: GetNotificationsJobKitsune Ral
2018-04-30jobs/generated: cleanup C++Kitsune Ral
2018-04-30ConnectionsGuard: suppress the copying assignment operatorKitsune Ral
It accidentally leaked through using QPointer::operator=