- 27 Jun, 2019 1 commit
-
-
Linus Jahn authored
-
- 26 Jun, 2019 1 commit
-
-
Linus Jahn authored
This rewrites parts of the main database class. All classes working on the database have been moved to the new database thread, so inserting records into the database isn't blocking the user interface anymore. What also improved the performance *massively* is the use of SQLite transactions, when inserting multiple records. So inserting is so fast now that it actually wouldn't necessarily require another thread, but with this we're safe in the future. The message model and the roster model have been splitted up into a database manager and the list model that is used to present cached data to the user. The XMPP managers are connected to both the model and the db classes, so both are updated in parallel. There are also two new classes for the RosterItem and the Message, because we need to cache those in the models in a vector. The Message class inherits from QXmppMessage, so we can now use the same class for sending messages and inserting messages into the database. Closes #273.
-
- 18 Apr, 2019 2 commits
-
-
Linus Jahn authored
-
Linus Jahn authored
There are upcoming changes of the expected behaviour when correcting a message multiple times. The old way was to correct the last correction, the new way is to always correct the original id. See https://github.com/xsf/xeps/pull/764
-
- 13 Apr, 2019 1 commit
-
-
Linus Jahn authored
-
- 02 Apr, 2019 1 commit
-
-
Xavier authored
Spoiler messages are used to hide messages containing NSFW content / very long messages / secret content by default. Kaidan can now send & receive those messages. A context action on the chat page has been added for this purpose. Details about the XEP: https://xmpp.org/extensions/xep-0382.html
-
- 31 Mar, 2019 1 commit
-
-
Linus Jahn authored
-
- 06 Feb, 2019 1 commit
-
-
Linus Jahn authored
-
- 05 Feb, 2019 2 commits
-
-
Linus Jahn authored
-
Linus Jahn authored
-
- 22 Jan, 2019 1 commit
-
-
Linus Jahn authored
-
- 18 Dec, 2018 1 commit
-
-
Linus Jahn authored
-
- 04 Dec, 2018 1 commit
-
-
Linus Jahn authored
If we had something like a download manager and a button to start downloads in the UI, we could now also download audio files, images and videos from manually inserted https-URLs.
-
- 24 Nov, 2018 3 commits
-
-
Linus Jahn authored
-
Linus Jahn authored
-
Linus Jahn authored
-
- 15 Sep, 2018 7 commits
-
-
Linus Jahn authored
-
Linus Jahn authored
-
Linus Jahn authored
All media hashes are now saved in the messages table. They are saved just in the XML format of 'XEP-0300: Use of Cryptographic Hash Functions in XMPP'. This also adds a mediaThumb column to the messages table.
-
Linus Jahn authored
-
Linus Jahn authored
With this local file paths, content types, sizes of file uploads are saved in the database. The database has some new columns for the media information and the version has been increased to 6. This also contains some clean ups and minor improvements of the code.
-
Linus Jahn authored
To track the progress of the file upload in the UI, it is required that the message is already in the locale database, before the file was uploaded.
-
Linus Jahn authored
This introduces different message types (text, image, video, audio, document, file). They should be used to determine the correct message element in the UI. Also, there is a new mediaUrl in the Messages table which will be used to save the HTTP urls to download the media shares. The database version is increased to 5.
-
- 15 May, 2018 1 commit
-
-
Linus Jahn authored
Finally got fixed! :) Fixes #159.
-
- 09 May, 2018 2 commits
-
-
Linus Jahn authored
Fixes that own messages will be marked as received, when synced from other clients.
-
Linus Jahn authored
There won't be any notifications for messages that were just synced from other clients anymore.
-
- 02 Mar, 2018 1 commit
-
-
Linus Jahn authored
This also does some clean up and restructuring of the deployment of the `chatPartner` property to the ClientThread (MessageHandler) and MessageModel. Before, a thread-safe function of the ClientThread was used, so the mutex of it blocked the GUI, when the client thread was busy in this moment.
-
- 24 Feb, 2018 1 commit
-
-
Linus Jahn authored
This rewrites the full back-end <-> front-end communication, moves the connection logic to the back-end and makes the XMPP client connection independant of the user interface (they will run parallel). However, the database still runs on the main, GUI thread, so this will still block GUI rendering (will be done in one of the next commits). Now, Kaidan is able to handle different DisconnectionReason, so it can distinguish if the authentication failed or there's just no connection to the server available. So this will finally make Kaidan offline useable! But it currently won't reconenct after losing the connection once. The bug that Kaidan always crashed, when logging in after logging out has also been fixed with this. The LogInPage was simplified: now, the button only shows "Connecting..." (when pressed) or "Connect". The trivial state of "retry" has been removed. `branding.h` was renamed to `Globals.h`. The new `Enums` namespace is used to register enums as a QMetaEnum, to make them printable and accessible in QML. The new `Q_ENUM_NS` macro is used for that. Coding style: I started to use doxygen-compatible inline documentation for the most functions, classes, enums and other elements. I don't want to really use doxygen (we're not a library), but it should definitely make it easier for new developers to understand the code. So from now on new code should be documented like this. Closes #107 - Make Kaidan offline usable.
-
- 13 Jan, 2018 1 commit
-
-
Linus Jahn authored
This updates all copyright headers in the source files to 2018. Also, there are not all contributors listed with a seperate copyright line, only one line for all Kaidan developers and contributors with a 'link' to a full list of contributors in the LICENSE file. It would be very hard to maintain the old strategy and adding each contributor to each file. Also the copyright lines were get too long then. All Kaidan headings are uniform, now. I replaced 'A cross platform XMPP client' with 'A user-friendly XMPP client for every device!'.
-
- 18 Dec, 2017 1 commit
-
-
Linus Jahn authored
Fixes #160.
-
- 01 Aug, 2017 1 commit
-
-
Linus Jahn authored
-
- 31 Jul, 2017 1 commit
-
-
Linus Jahn authored
Message carbons allow you to receive the outgoing message of another client of the same account. In short: messages are synced between the clients. The handleMessage function of the MessageHandler can now handle both types of messages, normal, direct messages by a contact and forwarded messages (possibly) written from the same account. Notfications and unread message counters are only used, if the message written by somebody else, so you're not getting annoyed by notifications of your own messages. :) Closes #116.
-
- 30 Jul, 2017 4 commits
-
-
Linus Jahn authored
The management of the lastMessage and the unreadMessageCount for each contact are now located in the MessageHandler. This fixes that these functions were not called and the features were not usable.
-
Linus Jahn authored
It covers both implementations: XEP-0091 (deprecated) and the new XEP-0203.
-
Linus Jahn authored
-
Linus Jahn authored
Rewrote the MessageController into a MessageSessionHandler and a MessageHandler. It still supports everything as before (e.g. Message Receipts).
-