1. 15 Sep, 2018 5 commits
    • Linus Jahn's avatar
      media-sharing: Save media hashes in database · 007ba433
      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.
      007ba433
    • Linus Jahn's avatar
      Send and receive SIMS messages · b1cc9e63
      Linus Jahn authored
      b1cc9e63
    • Linus Jahn's avatar
      UploadHandler: Save media information in database · 975f4c31
      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.
      975f4c31
    • Linus Jahn's avatar
      UploadHandler: Add message to database before uploading · b16e9d5e
      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.
      b16e9d5e
    • Linus Jahn's avatar
      database: Add message types and mediaUrl; Clean up · 72457cd5
      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.
      72457cd5
  2. 15 May, 2018 1 commit
  3. 09 May, 2018 2 commits
  4. 02 Mar, 2018 1 commit
    • Linus Jahn's avatar
      Fix lag when changing chat (#205) · bc071e8c
      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.
      bc071e8c
  5. 24 Feb, 2018 1 commit
    • Linus Jahn's avatar
      Use new ClientThread for XMPP-connection; Make offline usable · 5c513623
      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.
      5c513623
  6. 13 Jan, 2018 1 commit
    • Linus Jahn's avatar
      Bump copyright to 2018 · 14b7183a
      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!'.
      14b7183a
  7. 18 Dec, 2017 1 commit
  8. 01 Aug, 2017 1 commit
  9. 31 Jul, 2017 1 commit
    • Linus Jahn's avatar
      Add XEP-0280: Message Carbons · 07eab2b9
      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.
      07eab2b9
  10. 30 Jul, 2017 4 commits