1. 15 May, 2018 1 commit
  2. 09 May, 2018 2 commits
  3. 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
  4. 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
  5. 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
  6. 18 Dec, 2017 1 commit
  7. 01 Aug, 2017 1 commit
  8. 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
  9. 30 Jul, 2017 4 commits