Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-03-31 | Make and install CMake config package; provide examples/CMakeLists.txt using it | Kitsune Ral | |
2018-03-31 | Install CMake files to the proper place | Kitsune Ral | |
2018-03-31 | Move source files to a separate folder | Kitsune 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-30 | Introduce install target for the library | Kitsune Ral | |
Closes #113. | |||
2018-03-29 | Room: 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-28 | BaseJob: Dump error body (if there's any) to logs; detect error 429 more ↵ | Kitsune Ral | |
reliably | |||
2018-03-28 | BaseJob: more improvements in logging and errors detection | Kitsune Ral | |
2018-03-28 | BaseJob: 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-28 | BaseJob: small refactoring and cleanup in logging code | Kitsune Ral | |
2018-03-28 | Merge branch 'kitsune-unread-messages-count' | Kitsune Ral | |
2018-03-27 | Rework unread messages counting logic | Kitsune Ral | |
The previous one didn't cover all the cases; the current one seems to do. Closes #192. Accompanied by the developer's notes at: https://github.com/QMatrixClient/libqmatrixclient/wiki/unread_count | |||
2018-03-26 | Room::updateUnreadCount(): Fix a too stringent assertion | Kitsune Ral | |
2018-03-26 | Fix compilation on some environments | Kitsune Ral | |
...where deque<>::difference_type is long rather than int. | |||
2018-03-26 | Count unread messages | Kitsune Ral | |
2018-03-26 | Room: isDirectChat() and directChatUsers() | Kitsune Ral | |
isDirectChat() has been declared previously but not implemented, hence a bit of strangeness in the commit. | |||
2018-03-26 | Connection::directChatUsers() | Kitsune Ral | |
2018-03-25 | Merge branch 'kitsune-more-on-direct-chats' | Kitsune Ral | |
2018-03-25 | Minor cleanup | Kitsune Ral | |
2018-03-25 | Connection::doInDirectChat() and refactored direct chat requesting logic | Kitsune Ral | |
Basically, the whole requestDirectChat() body has been moved and generalised to doInDirectChat(), and requestDirectChat() delegates to doInDirectChat(). The logic has been updated to cope with formerly left/forgotten rooms present in the list of direct chats (cleaning up the list along the way). | |||
2018-03-25 | Direct chat (un)marking: update internal structure synchronously | Kitsune Ral | |
The asynchronous update first implemented was more verbose and caused more problems than provided solutions. The idea was that the internal directChats map would better reflect the server state if updated asynchronously. However, it also causes a local race condition; e.g., to quickly remove rooms from direct chats one after another becomes very non-trivial (one has to wait until the previous operation succeeds). So after some playing with the code, hitting pitfalls along the way, I decided to align the logic with the one for room tags; synchronously issued signals look uglyish but at least work predictably. And race conditions between several clients generally cannot be cleanly resolved anyway. | |||
2018-03-25 | One more Valgrind suppression for cases when the test run into "Too many ↵ | Kitsune Ral | |
requests" | |||
2018-03-26 | Connection::room() and Connection::invitation() | Kitsune Ral | |
2018-03-26 | Introduce JoinStates (QFlags<JoinState>) | Kitsune Ral | |
This required to change numeric values for JoinState enum; so anybody who relied on them being 0-based and/or contiguous, beware. | |||
2018-03-24 | .travis.yml: Escape all env variables in the configuration with ' | Kitsune Ral | |
Not only those that already caused trouble. | |||
2018-03-24 | Merge branch 'kitsune-direct-chats' | Kitsune Ral | |
2018-03-24 | Work around a bug in MSVC leading to "ambiguous call" compilation error | Kitsune Ral | |
2018-03-24 | Test/example for direct chats marking | Kitsune Ral | |
Also: refactored to gather up code dealing with the semaphor. | |||
2018-03-24 | Dealing with direct chats | Kitsune Ral | |
Receiving and caching m.direct (and other non-room account data along the way); Connection::addToDirectChats/removeFromDirectChats (might get siblings in Room eventually but not now), Connection/User::requestDirectChat. Closes #163. | |||
2018-03-24 | Introduce DirectChatEvent (parse only, no processing yet) | Kitsune Ral | |
2018-03-24 | MemberEventContent/RoomMemberEvent: parse and expose is_direct | Kitsune Ral | |
2018-03-24 | converters.h: Make the default toJson() less greedy | Kitsune Ral | |
template<T> toJson(T&&) grabbed even things that it cannot convert, leading to unpleasant effects in a situation when all that was needed was one implicit conversion (e.g. from QList<QString> to QStringList). So now it's three trivial toJson() overloads instead of a template. | |||
2018-03-23 | Room::downloadFile(): Events are const | Kitsune Ral | |
2018-03-23 | Room::downloadFile(): make sure to store the initiated file transfer anew | Kitsune Ral | |
QHash doesn't overwrite an entry if it already exists; this might lead to the target file name from the previous transfer kept in the table of file transfers. The commit fixes that. | |||
2018-03-23 | DownloadFileJob::beforeStart(): make sure to immediately return in case of error | Kitsune Ral | |
2018-03-23 | Room::downloadFile(): don't start another job if the transfer is ongoing | Kitsune Ral | |
2018-03-23 | BaseJob::start(): self-destruct if not succesfully started | Kitsune Ral | |
Closes #193. | |||
2018-03-23 | Room::downloadFile(): Make sure a generated file name is sane | Kitsune Ral | |
Closes #191. | |||
2018-03-21 | Merge pull request #189 from r0kk3rz/master | Kitsune Ral | |
fix error handling in loadState() | |||
2018-03-21 | Fix Travis failing to build PRs | Kitsune Ral | |
2018-03-21 | Merge pull request #190 from krombel/ignore_content_type_appendix | Kitsune Ral | |
ignore possible appendixes from content type | |||
2018-03-20 | ignore possible appendixes from content type | Krombel | |
Currently libqmatrixclient fails checking the `Content-Type` header when there is an appendix like "charset". That is allowed e.g. in [rfc7231](https://tools.ietf.org/html/rfc7231#section-3.1.1.5)) One example is a Content-Type `application/json` vs `application/json;charset=UTF-8` Setting of the charset appendis is currently not supported. It fails with libqmatrixclient.jobs: "LoginJob" status 106 : "Incorrect content type of the response" This PR aims to just drop that appendix as it is currently not handled somewhere else. | |||
2018-03-19 | fix error handling in loadState() | Lewis Rockliffe | |
2018-03-08 | User: Streamline Avatar storage | Kitsune Ral | |
Don't use pointers and explicit operator new() for Avatars now that we store them in a separate container from the avatar(url)-to-room mapping. Less heap wasted. | |||
2018-03-08 | Avatar: check URLs before fetching, not on updating the URL | Kitsune Ral | |
Closes #187. | |||
2018-03-07 | User: use std::unique_ptr instead of QScopedPointer | Kitsune Ral | |
Slightly safer for the case (probably). | |||
2018-03-07 | Travis: Small fixes to Valgrind suppressions | Kitsune Ral | |
2018-03-07 | Fix resetting the read marker if a read receipt comes from the sync | Kitsune Ral | |
Closes #184. | |||
2018-03-07 | Travis: experimental Valgrind suppressions file | Kitsune Ral | |
2018-03-07 | qmc-example: Fix redaction test to work even if the synced message is ↵ | Kitsune Ral | |
already redacted | |||
2018-03-07 | qmc-example: Remove no more needed deleteLater | Kitsune Ral | |
Might help with autotest segfaulting on OSX. |