1. 24 Aug, 2017 1 commit
    • Kateryna Kostiuk's avatar
      navigation: apply the Coordinator pattern · a44b205d
      Kateryna Kostiuk authored
      this commit is about:
      - split the storyboards into reusable components
      - use the coordinator pattern the handle the navigation
      - ease the dependancy injection
      - refactor folders structure to match a "Features" pattern
      - refactor the walkthrough UI
      
      Change-Id: Idf67e8e7cee7ca7487d58073409fded654f4dc0d
      a44b205d
  2. 11 Aug, 2017 1 commit
    • Thibault Wittemberg's avatar
      project: optimize Build time · 51c46ad8
      Thibault Wittemberg authored
      this commit completes the Carthage custom build phase with output files
      that act like a cache. This avoids building framework every time.
      
      Change-Id: Iec4de88c4bb1271719a5f328087601de69caa5b3
      51c46ad8
  3. 01 Aug, 2017 1 commit
    • Silbino Goncalves Matado's avatar
      ContactRequests: add Contact requests screen · 0fdb5691
      Silbino Goncalves Matado authored
      ConversationModel: replaced Contact by ringId
      Remove realm from Contact and Account (managed by daemon)
      Pass reference to account list and current account to ContactsService
      Add Invitations screen with Accept, Discard and Ban buttons
      Add vCard load and save support
      
      Change-Id: Ied42ef310af5e4849f4aef389584145a80e79888
      0fdb5691
  4. 17 Jul, 2017 1 commit
  5. 14 Jul, 2017 1 commit
    • Thibault Wittemberg's avatar
      ui: add theming basis · cfe0eba3
      Thibault Wittemberg authored
      This commit adds Chameleon to theme the app and a custom
      theming function to handle MessageBubbles
      
      Change-Id: I58e4d2e30c9e81a444b3a22cef4429d64361426d
      cfe0eba3
  6. 07 Jul, 2017 1 commit
  7. 06 Jul, 2017 4 commits
    • Thibault Wittemberg's avatar
      project: add SwiftyBeaver for log · 69981855
      Thibault Wittemberg authored
      SwiftyBeaver improves log readability and allows
      to use different logging levels and different kinds of
      outputs. Way better than simples "print()"
      
      Change-Id: Iaa3087952095d4344b3cd85314892c4fcd25251c
      69981855
    • Thibault Wittemberg's avatar
      project: add Reusable framework · fb8bb07d
      Thibault Wittemberg authored
      this framework will be used to:
      - instantiate in a more "type safety" way UI components
      - to split storyboards into atomic VCs
      
      Change-Id: I1fec0a87a9e2c4b838174139ce57f9097bb4d4c7
      fb8bb07d
    • Thibault Wittemberg's avatar
      project: add SwiftGen code generation · 1f9ce46d
      Thibault Wittemberg authored
      This commit adds the SwiftGen build phase. This phase launches the
      swiftgen.sh script that uses SwiftGen tool to produce Swift Code
      that make Strings, Assets and Storyboards usage a lot safer
      
      Change-Id: I78471f5603864608e25bbad36f0459103d6bdded
      1f9ce46d
    • Thibault Wittemberg's avatar
      project: add static code analysis · 14b092a9
      Thibault Wittemberg authored
      This commit:
      - adds swiftlint analysis as custom build phase
      - to install, see: https://github.com/realm/SwiftLint
      - fix almost every error/warning messages detected by swiftlint
      
      Change-Id: I0d15cecaa33c4f79dcd1417a2169f1e66fd2e551
      14b092a9
  8. 04 Jul, 2017 1 commit
    • Thibault Wittemberg's avatar
      Project: organize folders · 67e34610
      Thibault Wittemberg authored
      Organize project folders according to groups hierarchy.
      It is not mandatory but the project directory is easier to read this way
      
      Also move WelcomeViewController to Walkthrough folder and renamed
      ViewControllers folder to Settings
      
      Change-Id: Ica7b39ff57492435811d49ee9b6e0132dc597beb
      67e34610
  9. 28 Jun, 2017 1 commit
    • Silbino Goncalves Matado's avatar
      Smartlist: Add conversations persistence with Realm · 748f3f4a
      Silbino Goncalves Matado authored
      Add conversations persistence to save the history of messages using
      Realm and RxRealm libraries
      
      Refactor models to work with Realm :
      - Change properties declaration as dynamic vars
      - Change Arrays to List
      - Change Dictionaries to Objects
      - Add default values for non-optionals
      - Changed initializers for convenience initializers
      - Fixed Tests compilation using @testable import (classes linked twice
      exception throwed by Realm)
      - Bumped RxSwift version and fixed deprecated methods warning
      
      Change-Id: Ife98e48430740f80ffef9420d857f1ae6e4819d4
      748f3f4a
  10. 27 Jun, 2017 1 commit
    • Silbino Goncalves Matado's avatar
      Smartlist: Add a search bar to filter conversations and lookup users · 5cbb809c
      Silbino Goncalves Matado authored
      Add the search bar on the top of the smartlist and the list of found
      results.
      
      Add an other list for search results. This list is splited in 2
      sections for filered and found results.
      
      Add "No Conversations" label if there is no conversations
      
      If the contact is not found locally, a new conversation is created
      
      Change-Id: I7985f0644f97063875bfb02159d44dd1aa8b731e
      5cbb809c
  11. 21 Jun, 2017 1 commit
    • Silbino Goncalves Matado's avatar
      Messages: Add messages screen to read messages and reply · 37f2ea9b
      Silbino Goncalves Matado authored
      Add MVVM, services and adpater to receive and reply to messages
      
      This allows to read received messages from other users and reply to
      them.
      
      The messages screen uses a TableView that scroll automatically to the
      bottom if the user a new message is received. Messages bubbles are
      made with simple cells with a label that move to the right or the
      left.
      
      Change-Id: I1b6bd6fd36b88daab9d39cb5745d1ed953868ead
      37f2ea9b
  12. 19 Jun, 2017 1 commit
  13. 09 Jun, 2017 1 commit
  14. 02 Jun, 2017 2 commits
  15. 01 Jun, 2017 1 commit
    • Silbino Goncalves Matado's avatar
      Lookup and register name: add services and adapters · 0de52659
      Silbino Goncalves Matado authored
      Add NameService and NameRegistrationAdapter to :
      
      - Verify if the username is valid and available to create a new user
      - Register a new username into the blockchain.
      
      Add RegistrationState observation from the daemon to verify if the
      account is properly created.
      
      Change-Id: I5a66dde2576391b5ec2dc242fb544dc4fe680d9e
      0de52659
  16. 26 May, 2017 1 commit
    • Silbino Goncalves Matado's avatar
      CreateRingAccount: Add Rx+MVVM bindings for the form validation · fd9f3ab1
      Silbino Goncalves Matado authored
      Add some bindings from the CreateRingAccountViewController to the
      CreateRingAccountViewModel to validate the following user inputs :
      
      - username (optional)
      - password (must be 6 characters min.)
      - repeat password (must be equal to the password)
      
      If conditions are not verified. The Create Account button is
      disabled.
      
      Bindings are made with Variabes and Observers into the ViewModel.
      
      Tuleap: #1400
      Change-Id: Ib03797e365972aefafbc75c5a8b798e8ba659cfc
      fd9f3ab1
  17. 24 Apr, 2017 1 commit
  18. 30 Mar, 2017 4 commits
  19. 22 Mar, 2017 1 commit
    • Romain Bertozzi's avatar
      accountModel: create model stack · 4361db30
      Romain Bertozzi authored
      This patch creates the stack of models that the AccountModel will need
      to exist.
      
      It also makes a little refactor to make the AccountModel very simple:
      variables and init methods.
      Some of these elements that have been moved are now gathered in a
      dedicated helper that exposes some getters and setters.
      
      Finally, some code is now commented in the high layers to allow code
      compilation. This code refers to parts that are not designed or
      written yet.
      
      Tuleap: #1542
      Change-Id: Ie52075c9f06d6efaa824caac457d30b859c17658
      4361db30
  20. 21 Mar, 2017 1 commit
    • Romain Bertozzi's avatar
      serviceEvent: add unit tests · 3b289ad5
      Romain Bertozzi authored
      This patch adds the unit tests concerning the ServiceEvent class.
      
      Tuleap: #1377
      Change-Id: Id4e41d23d3bd69124a1f04f5059bb12354ab44f7
      3b289ad5
  21. 20 Mar, 2017 2 commits
    • Romain Bertozzi's avatar
      services: create serviceEvent structure · 2202e6d1
      Romain Bertozzi authored
      This patch creates the serviceEvent structure.
      
      This structure will be sent in the services' response streams. They
      will contain all the needed data gathered from the deamon by the
      services.
      
      Tuleap: #1377
      Change-Id: Ia1e76be8550b9155c80a22f78df71f8e60898f10
      2202e6d1
    • Romain Bertozzi's avatar
      wizard: complete add account pipe · 72a1b8d8
      Romain Bertozzi authored
      This patch completes the pipe of creating a dummy account using
      RxSwift and MVVM.
      
      The AccountsService now exposes a public shared responseStream that
      observers can listen to.
      Callers will call this service's methods directly and wait for any
      interesting response on the stream.
      
      Tuleap: #1391
      Change-Id: I2eb5abac9eb012892a806ee2fb73df8730edba87
      72a1b8d8
  22. 04 Jan, 2017 1 commit
    • Romain Bertozzi's avatar
      wizard: build skeleton · 06adf62e
      Romain Bertozzi authored
      This patch builds the skeleton of the wizard: all the necessary scene
      and their script.
      
      Tuleap: #1337
      Change-Id: Id33e2de2de23564f70b392dbeede3e11f2e489ad
      06adf62e
  23. 03 Jan, 2017 4 commits
    • Romain Bertozzi's avatar
      project: adopt recommended configuration · a933e793
      Romain Bertozzi authored
      This patch adopts the recommended configuration from Xcode.
      What it does:
          - warn infinite recursion and suspicious move
          - optimize swift whole level
      
      Change-Id: I19dd00ff8709679f50b0f03ab518db1a70fe31ec
      Tuleap: #1377
      a933e793
    • Romain Bertozzi's avatar
      RXSwift: add library via Carthage · 33cd34fa
      Romain Bertozzi authored
      This library is added by Carthage in a dedicated build folder that is
      contained in the Carthage folder.
      
      The Cartfile.resolved file is tracked by Git, so a Carthage bootstrap
      will be needed to download the frameworks.
      
      Tuleap: #1377
      Change-Id: I8df4efdd6488cd73201df80b327b5f00f2b2a21f
      33cd34fa
    • Romain Bertozzi's avatar
      bridge: replace nsnotification by delegation · 8164698a
      Romain Bertozzi authored
      This patch takes care of replacing the NSNotification events fired
      from the AccountConfigurationManagerAdaptator by a delegation pattern.
      
      Indeed, we only want the AccountsService to be notified of callbacks
      coming from the daemon. NSNotifications fired from the NSNotification
      default center are broadcasted events. We want to avoid them as much
      as possible.
      
      In order to achieve this, a protocol is declared on the Swift part of
      the application.
      Then, the Ring-Swift.h generated file will take care of exposing it to
      the objective-c source code (thanks to the @objc annotation).
      
      We need the pch file to be present to resolve UIKit and Foundation in
      the generated Ring-Swift file.
      
      The accountsService now registers itself to the
      AccountConfigurationManagerAdaptator as the reveiver of its callbacks.
      
      Because notifications are not used anymore at this time, we remove
      the related files factorizing the notifications names.
      
      Tuleap: #1405
      Change-Id: I25c906ef6bcfd019cfb331047768883b39755275
      8164698a
    • Romain Bertozzi's avatar
      account service: modify bridging · 8d90d9ed
      Romain Bertozzi authored
      This patch reorganizes the structure of the bridging between the Swift
      client and the Daemon.
      
      It isolates the code related to the account service. That's why there
      is a renaming of the ConfigurationManagerAdaptor.
      We want it to be specialized in what the account service can do.
      
      The files meant to make the bridge between the client and the daemon
      are now stored in a dedicated file in the project structure.
      
      The broadcast by NSNotification posts is still used here.
      
      Tuleap: #1405
      Change-Id: I2d8f0d361ed9394c98a30b0703ad3d49b18cde4a
      8d90d9ed
  24. 22 Dec, 2016 3 commits
    • Romain Bertozzi's avatar
      UT: add daemon service unit tests · 88859c0a
      Romain Bertozzi authored
      This patch adds a XCTestCase class used to perform tests on the Daemon
      service.
      
      It will ensure that the Daemon correctly start and stop. This can not
      be seen with the iOS Daemon Jenkins' job only.
      
      Change-Id: I34c8a1aae3affebc51ce803bdc670ae38d37ffdb
      Tuleap: #1378
      88859c0a
    • Romain Bertozzi's avatar
      daemonservice: introduce service · f31aa1da
      Romain Bertozzi authored
      This patch adds the deamon service to the project.
      
      This service will handle the main capabilities of the Ring Daemon,
      such as starting and stopping it.
      
      For the moment, there is no callback, notifications, or observers to
      that service. This let us the flexibility to implement it with
      whatever we want in the future (Rx-like, NSNotifications etc...).
      
      Tuleap: #1378
      Change-Id: Ib560977f9fd1dacd45e2afc63613870a3d60630f
      f31aa1da
    • Romain Bertozzi's avatar
      project: reorganize structure, begin mvvm · 966233f8
      Romain Bertozzi authored
      This patch reorganizes the project structure to separate entities in
      specific groups.
      It also renames some files.
      
      This is done to improve the separation of concerns of the components
      of the project.
      The renaming operation reflects the MVVM architecture that we will try
      to implement.
      
      Tuleap: #1327
      Change-Id: I46109e82c87510e134f57d551946499b11334c44
      966233f8
  25. 06 Dec, 2016 2 commits
    • Romain Bertozzi's avatar
      project: clean storyboards · e36578b2
      Romain Bertozzi authored
      This patch reorganizes and cleans the existing storyboards.
      
      This change is introduced by the choice of the device for the scenes
      simulation. It used to recompute all the layouts.
      
      Tuleap: #1327
      Change-Id: I0ca6802e995208a7f6db5373590cf8e9120409ee
      e36578b2
    • Romain Bertozzi's avatar
      conf: set deployment target to 9.3 · 4384369b
      Romain Bertozzi authored
      This patch modifies the deployment target of the app. It sets it to
      the 9.3 iOS version.
      
      Tuleap: #1327
      Change-Id: Ib17b08e29b5f6683e96886850d5e55254dad0176
      4384369b
  26. 05 Dec, 2016 1 commit
    • Romain Bertozzi's avatar
      swift: migrate code to Swift 3 · fac9f892
      Romain Bertozzi authored
      This patch takes care of migrating the existing base code to Swift 3.
      
      Tuleap: #1327
      Change-Id: Ibbb148e92d0477cda155a93a6459de90d57ae70d
      fac9f892