aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-30gtad.yaml: Migrate to GTAD 0.5 config formatKitsune Ral
2018-04-30jobs/generated: cleanup C++Kitsune Ral
2018-04-30Mustache templates: cleanup C++Kitsune Ral
2018-04-30ConnectionsGuard: suppress the copying assignment operatorKitsune Ral
It accidentally leaked through using QPointer::operator=
2018-04-29Merge branch 'master' into kitsune-gtadKitsune Ral
2018-04-27Use bridge names as the first line of disambiguationKitsune Ral
If can get away without showing MXIDs we should do it.
2018-04-27Cache bridge names along with user namesKitsune Ral
Otherwise the bridge is forgotten after restart. This bumps the cache version.
2018-04-27Fix broken User::displayName() logicKitsune Ral
Also, add an assert to Connection::user() to make sure it doesn't create users with invalid ids. Closes #201.
2018-04-27User::rawName(); bonus, bring order to doc commentsKitsune Ral
This new function allows to get the username along with its bridge (basically, undoing the change applied by processEvent for cases when it is undesirable).
2018-04-27User::processEvent: fix bridge postfix not being strippedKitsune Ral
Closes #197.
2018-04-25BaseJob::doCheckReply: catch non-HTTP errors tooKitsune Ral
2018-04-25BaseJob: rewrite error detection using genuine HTTP codesKitsune Ral
Qt Network error codes don't represent well some cases. Closes #200.
2018-04-25Avatar: don't allow null callbacks to be registeredKitsune Ral
2018-04-22Avatar: clear the list of callbacks after completion + general code cleanupKitsune Ral
2018-04-22Code reformattingKitsune Ral
2018-04-16ConnectionsGuard<> template to automatically disconnect subscribersKitsune Ral
Case in point is a room list model (so far in Quaternion, but planned for inclusion to the lib) that stores lists of connections and rooms; upon dropping, e.g., a room from the list the model should disconnect from the room's signals.
2018-04-14jobs/generated: Overload toJson() instead of operator QJsonObject()/QJsonValue()Kitsune Ral
It slightly reduces the header interface and shortcuts the actual call chain (not that it had any performance implications, just easier reasoning).
2018-04-14Mustache templates: Overload toJson() instead of operator ↵Kitsune Ral
QJsonObject()/QJsonValue() It slightly reduces the header interface and shortcuts the actual call chain (not that it had any performance implications, just easier reasoning).
2018-04-14Mustache: {{#producesNonJson?}} -> {{#producesNotJson?}}Kitsune Ral
According to the most recent changes in GTAD.
2018-04-14CMakeLists.txt: minor refactoringKitsune Ral
2018-04-13Support Qt 5.4Kitsune Ral
That is until ubports move to xenial.
2018-04-13converters.h: Support QVariantMap and QVariantHashKitsune Ral
2018-04-13Merge branch 'master' into kitsune-gtadKitsune Ral
2018-04-11Comment out install(EXPORT_ANDROID_MK)Kitsune Ral
It's only available in CMake 3.7 and later and is not needed for any known project anyway.
2018-04-05qmc-example: fix false negatives due to a missing returnKitsune Ral
2018-04-05Unofficially relax Qt requirement to 5.5.1Kitsune Ral
This is to support uMatriks that still has to compile on xenial codebase.
2018-04-03DirectChatEvent: be careful with range-for over temporariesKitsune Ral
...because temporaries returned by temporaries tend to disappear before you enter the loop body (see the bottom of http://en.cppreference.com/w/cpp/language/range-for#Explanation).
2018-04-03More fixes from static analysisKitsune Ral
2018-04-03CMakeLists.txt: Specify the API version correctlyKitsune Ral
It's not version 2, it's still version 0.2.
2018-04-02Updated documentationKitsune Ral
[skip ci]
2018-04-02BaseJob: set the status upon headers arrivalKitsune Ral
So that DownloadFileJob could figure if it should save the incoming payload to the file or it's the JSON details about the error.
2018-04-02Fixes according to results of static analysisKitsune Ral
Many thanks to clang-tidy and clazy authors for the tools, and to Qt Creator developers for making them easily available in the IDE.
2018-04-02Be more cautious with rvaluesKitsune Ral
Clang on FreeBSD doesn't seem to be playing nice in Release configuration. See the comment in the committed code.
2018-04-02lookup()/dispatch() removed; unique_ptr_cast() and qAsConst() introducedKitsune Ral
qAsConst() is a copy-paste from Qt code and is only supplied by QMatrixClient if Qt is below 5.7. unique_ptr_cast<> is similar to static_cast<> of pointers but deals with unique_ptr's, passing ownership to the newly made pointer.
2018-04-02Room/Connection: accountData()/accountDataChanged()Kitsune Ral
Generic account data are at least readable now (you can get, say, pushers from the library without it even being aware of what a pusher is).
2018-04-01Pass actual changes with Connection::directChatsListChanged()Kitsune Ral
Also: provide Connection::directChats() to get the whole direct chats map.
2018-04-01BaseJob: use QDebugStateSaverKitsune Ral
...instead of copying the whole QDebug object.
2018-03-31Merge branch 'kitsune-install-target'Kitsune Ral
Closes #113.
2018-03-31Make and install CMake config package; provide examples/CMakeLists.txt using itKitsune Ral
2018-03-31BaseJob::gotReply(): Minor fix in loggingKitsune Ral
2018-03-31Install CMake files to the proper placeKitsune Ral
2018-03-31Move source files to a separate folderKitsune Ral
It's been long overdue to separate them from the rest of the stuff (docs etc.). Also, this allows installing to a directory within the checked out git tree (say, ./install/, similar to ./build/).
2018-03-31Merge branch 'master' into kitsune-gtadKitsune Ral
2018-03-30Introduce install target for the libraryKitsune Ral
Closes #113.
2018-03-29Room: Track encryption state and do not allow sending (unencrypted) messages ↵Kitsune Ral
to it Closes #138. This is of course not encryption support yet, rather a safeguard for rooms that use encryption.
2018-03-28BaseJob: Dump error body (if there's any) to logs; detect error 429 more ↵Kitsune Ral
reliably
2018-03-28BaseJob: more improvements in logging and errors detectionKitsune Ral
2018-03-28BaseJob: Process error 429 (Too Many Requests)Kitsune Ral
The job will retry after the period either advised by the server or the default retry period. Closes #186.
2018-03-28BaseJob: small refactoring and cleanup in logging codeKitsune Ral
2018-03-28Merge branch 'kitsune-unread-messages-count'Kitsune Ral