Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-09-16 | provideRoom: Added invitedRoom() signal; fixed issues with some transitions | Kitsune Ral | |
Notably: * setJoinState() invocation has been missing from the previous code * processing invites did not take into account that a Leave state may already exist, thereby forcing clients that display left rooms to look through their records just in case they have to replace a Leave with Invite. * joinedRoom() was emitted even when the room is not newly joined. | |||
2017-09-16 | Better API for clients to catch up on room list changes | Kitsune Ral | |
joinedRoom() and leftRoom() now pass the preempted Invite state of the room as well; roomMap() only returns Invite and Join rooms, not Leave. | |||
2017-09-15 | MediaThumbnailJob: get rid of useless pimpl; add scaledThumbnail() | Kitsune Ral | |
Also use scaledThumbnail() in User::requestAvatar() | |||
2017-09-15 | Merge pull request #82 from QMatrixClient/kitsune-uncouple-factories | Kitsune Ral | |
Connection: Room and User factories are std::functions now | |||
2017-09-13 | Add a missing #include | Kitsune Ral | |
2017-09-09 | Collect files from jobs/generated into the list of built sources | Kitsune Ral | |
2017-09-09 | Kicking, inviting, exposing rooms in Invite state | Kitsune Ral | |
Kicking and inviting use generated job classes. Rooms in Invite state are stored separately in the hash from those in Join/Leave state because The Spec says so. For clients, this means that the same room may appear twice in the rooms map if it's been left and then the user was again invited to it. The code in Quaternion that properly processes this will arrive shortly. | |||
2017-09-09 | First files made by api-generator | Kitsune Ral | |
Actual usage will come with the next commit. | |||
2017-09-09 | converters.h: Facility methods for generated jobs | Kitsune Ral | |
A cherry-pick from the kitsune-apigen branch; a family of toJson() and fromJson<>() functions to unify conversion of data back and forth. | |||
2017-09-08 | Connection: Room and User factories are std::functions now | Kitsune Ral | |
Instead of createUser() and createRoom() virtual functions, use std::function<> to store predefined lambdas that would create respective descendants from User and Room, respectively. No more need QuaternionConnection just for the sake of creating a QuaternionRoom. | |||
2017-09-08 | Revert previous commit as it breaks building with VC 2015 | Kitsune Ral | |
This reverts commit da975f68f6a8503bf5466292dcdceed8c6f7fa6f. | |||
2017-09-05 | Initialize more properly to fix a warning | Kitsune Ral | |
2017-09-05 | Room: memberCount(); slight optimization and reformatting | Kitsune Ral | |
2017-09-05 | Include unread/notification counters to the cache | Kitsune Ral | |
2017-09-04 | Use move on SyncData | Roman Plášil | |
2017-09-04 | Use SyncJob::SyncData as a plain member | Roman Plášil | |
2017-09-03 | More fixes | Roman Plášil | |
2017-09-02 | Merge pull request #81 from delijati/master | Kitsune Ral | |
Add Connection::leftRoom signal #80 | |||
2017-09-01 | Add Connection::leftRoom signal | Josip Delic | |
2017-09-02 | Use status return type for parseJson | Roman Plášil | |
2017-09-01 | BaseJob::Data: expose constructors from QJsonObject | Kitsune Ral | |
We had a stupid situation when this class has less features when compiled with newer Qt because we explicitly added a constructor from std::initializer_list for older Qt versions but did not reuse the same constructor from QJsonObject for newer versions. | |||
2017-08-28 | Better documentation | Kitsune Ral | |
Thanks to CII Best Practices Badge project for the hints and for the original CONTRIBUTING.md | |||
2017-08-28 | Use -pedantic with compilers that support it | Kitsune Ral | |
2017-08-27 | Remove saveStateFile property and just use an argument. | Roman Plášil | |
2017-08-27 | Use QJsonObject.insert and QStringLiteral | Roman Plášil | |
2017-08-23 | Use QUrl for state save file, create directory if it doesn't exist | Roman Plášil | |
2017-08-19 | BaseJob::Data: Small update to better match Qt API | Kitsune Ral | |
Also: Query and Data constructors from initialization_list<> are no more explicit, as clang-tidy recommends. | |||
2017-08-19 | Room::localUser() facility method | Kitsune Ral | |
2017-08-18 | Fix compilation for Qt 5.2.1 | Roman Plášil | |
2017-08-16 | Implement saving save to enable incremental sync even after shutdown | Roman Plášil | |
2017-08-16 | WIP saving intermediate state to JSON | Roman Plášil | |
2017-08-08 | Vector has been renamed to Riot long ago | Kitsune Ral | |
2017-07-22 | SendEventJob: Fixed empty transaction id's | Kitsune Ral | |
2017-07-19 | Restore compatibility with CMake versions below 3.3 | Kitsune Ral | |
2017-07-19 | Make sure -Wall is used regardless of the parent project settings | Kitsune Ral | |
2017-07-18 | Merge pull request #77 from Quiark/master | Kitsune Ral | |
Room event timestamp can also be undefined | |||
2017-07-18 | Room event timestamp can also be undefined | Roman Plášil | |
2017-07-16 | Fixed too strict validations in (Room)Event | Kitsune Ral | |
2017-07-15 | Merge pull request #72 from QMatrixClient/kitsune-send-events | Kitsune Ral | |
Events creation and sending | |||
2017-06-29 | Fixed building with Qt version=5.4; moved away a macro unused in headers | Kitsune Ral | |
2017-06-27 | Enable sending RoomMessageEvents | Kitsune Ral | |
1. PostMessageJob is now SendEventJob, which reflects two things: first, it's a PUT instead of a POST (POST for /send is not supported by the latest spec anyway), so that we could enable tracking transaction ids for local echo in the near future; second, it's no more just about messages, the job can support sending any room events (topic changes etc.). 2. Room::postMessage() now uses the new RoomMessageEvent API to send m.room.message events. | |||
2017-06-22 | RoomMessageEvent: Simplify constructors, use QString msgType internally | Kitsune Ral | |
QString msgType allows non-standard types (we don't want to restrict clients to types from the spec) | |||
2017-06-22 | MessageEventContent: generalise mimeType | Kitsune Ral | |
mimeType is relevant to most of the content types, and at the same time getting a MIME type in a generic way is handy for clients to uniformly detect whether they can display the content and what renderer to use for it. | |||
2017-06-22 | Enable creation of RoomMessageEvents | Kitsune Ral | |
RoomMessageEvent and MessageContentEvent::* classes have been massively overhauled to enable creation of m.room.message events locally instead of from JSON. | |||
2017-06-22 | Enable creation and usage of Event and RoomEvent objects locally, including QML | Kitsune Ral | |
This includes RoomEvent gaining transactionId property and addId() method so that it could gain ids when being/having been sent. | |||
2017-06-22 | BaseJob::* facility classes: better construction | Kitsune Ral | |
Use std::initializer_list instead of QList<> because we actually want to construct from initializer lists; and only enable Data(std::initializer_list) for older Qt's that don't have the same on the level of QJsonObject. | |||
2017-06-22 | Connection is now able to generate transaction ids | Kitsune Ral | |
The generation algorithm doesn't support several Quaternions using the same accessToken, as of yet. | |||
2017-06-13 | Removed RoomMessageEvent::userId in favor of RoomEvent::senderId | Kitsune Ral | |
2017-06-07 | Merge pull request #69 from Quiark/pull-bridged-field | Kitsune Ral | |
Split bridge name into a separate field in user model | |||
2017-06-07 | Adjust whitespace | Roman Plášil | |