Age | Commit message (Collapse) | Author | |
---|---|---|---|
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-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-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 | Connection::directChatUsers() | 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-26 | Connection::room() and Connection::invitation() | Kitsune Ral | |
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-19 | fix error handling in loadState() | Lewis Rockliffe | |
2018-03-05 | Profile-log if saving state has been interrupted by processEvents for long ↵ | Kitsune Ral | |
enough | |||
2018-03-05 | Use constants instead of hardcoded strings | Kitsune Ral | |
2018-03-05 | Fix a typo leading to cache never working | Kitsune Ral | |
2018-03-04 | Connection: allow to choose between binary and text JSON cache | Kitsune Ral | |
2018-03-04 | QCoreApplication::processEvents() is static, doesn't need instance() | Kitsune Ral | |
Thanks to clang-tidy for spotting that. | |||
2018-03-03 | Caching: switching to binary JSON format; yield to event loop while making a ↵ | Kitsune Ral | |
cache payload | |||
2018-03-01 | Connection::tagNames() | Kitsune Ral | |
To be able to get all available tags throughout the connection. | |||
2018-02-28 | Don't resolve the homeserver port from a user MXID | Kitsune Ral | |
Closes #176. The right way (c) of server name resolution will be done in #178 (see also the Google Doc mentioned in it). | |||
2018-02-28 | Profiling logs: added µs, less empty profiling log lines | Kitsune Ral | |
Closes #177. | |||
2018-02-27 | Room: Save tags in the cache; isFavourite() and isLowPriority() | Kitsune Ral | |
2018-02-26 | Deal with memory more carefully | Kitsune Ral | |
Plugs some memory leaks reported by Valgrind. | |||
2018-02-26 | Room and Connection: support room tags | Kitsune Ral | |
Closes #134. | |||
2018-01-31 | Connection::createdRoom() signal | Kitsune Ral | |
2018-01-30 | Connection: expose the list of users; use an ordered map | Kitsune Ral | |
It's still an open question whether it's better to store a separate sorted index of users, next to an unsorted one; but a sorted list of users is of much more use in GUI than an unsorted one. | |||
2018-01-30 | Connection: more Q_PROPERTYs, newUser signal | Kitsune Ral | |
2018-01-30 | Connection::createRoom and Connection::createDirectChat | Kitsune Ral | |
2018-01-30 | Connection class cleanup | Kitsune Ral | |
createRoom and createUser renamed to roomFactory and userFactory (because createRoom will mean a different thing); unneeded #include moved to the cpp file. | |||
2018-01-30 | Connection::onSyncSuccess: call processEvents upon each room parsing | Kitsune Ral | |
When there are too many rooms to process, this gives at least some bandwidth for the GUI in the meantime. | |||
2018-01-25 | Merge branch 'kitsune-better-forget' | Kitsune Ral | |
2018-01-25 | Connection: intercept late-coming /sync response on a just forgotten room | Kitsune Ral | |
Closes #160. | |||
2018-01-25 | Connection::provideRoom: assert no empty ids | Kitsune Ral | |
Bonus: slightly more accurate comment in Connection::forgetRoom | |||
2018-01-25 | Room::toJson: fix invite state caching | Kitsune Ral | |
Causes a cache version upgrade; the old cache stores the state in an incorrect place that won't be supported. Closes #159. | |||
2018-01-25 | Connection::forgetRoom: Support forgetting invites too | Kitsune Ral | |
Closes #157. | |||
2018-01-24 | Fix dangling references | Kitsune Ral | |
2018-01-24 | splitMediaId: fix typos in the assertion failure message | Kitsune Ral | |
2018-01-22 | splitMediaId: better assertion failure message | Kitsune Ral | |
2018-01-14 | Connection: files up/downloading support | Kitsune Ral | |
2018-01-14 | Connection::getThumbnail: Add an overload for QString | Kitsune Ral | |
Connection::getThumbnail(QString,...) is better fitting to retrieve images for QML image providers - one doesn't need to create a QUrl (which if made naively ends up being incorrect) and also doesn't need to stack up "mxc://" before the mediaId. Just call Connection::getThumbnail with the id the QML engine gives you. | |||
2018-01-09 | Fix an occasional crash when resolving a server name | Kitsune Ral | |
Closes #149. | |||
2017-12-29 | Use std::unique_ptr instead of bare pointers; cleanup stale declarations | Kitsune Ral | |
2017-12-25 | Connection: Be more accurate with lambda captures | Kitsune Ral | |
2017-12-21 | Connection::logout: supply receiver to connect(job,...) | Kitsune Ral | |
2017-12-20 | Connection::accessToken - return QByteArray instead of QString | Kitsune Ral | |
Because that's what it really is. | |||
2017-12-19 | Don't use LoginJob::homeServer() anymore | Kitsune Ral | |
Because the respective parameter in /login result is deprecated. Closes #137. | |||
2017-12-16 | Connection: proactively create a Room object upon joining a room | Kitsune Ral | |
So that clients could start using this object without waiting for the next sync. | |||
2017-12-10 | Use the generated PostReceiptJob; don't compile unused job classes | Kitsune Ral | |
Rewire Connection::postReceipt() to the generated job too; this call is still deprecated though. | |||
2017-12-10 | Log room creation only once | Kitsune Ral | |
2017-12-10 | Fix setting the homeserver hostname (not URL) coming from /login | Kitsune Ral | |
2017-12-07 | Connection: no more default to matrix.org; update HS URL from /login response | Kitsune Ral | |
2017-12-07 | Generated jobs: Apply naming convention to parameters | Kitsune Ral | |
It's now camelCase everywhere, even if The Spec uses snake_case (it is not consistent in that respect). |