Code Monkey home page Code Monkey logo

rocket.chat.ios's Introduction

IMPORTANT: PLEASE READ THIS FIRST

Rocket.Chat mobile is moving to React Native. Development on this repository by Rocket.Chat has now ceased. If your team is interested in taking over and maintaining this iOS native client repository then please contact us.

Legacy Rocket.Chat iOS native application

Take your conversations with you and never miss the action with our
iOS mobile app, with features including brand new UI with 3 themes, new ways to sort
and group conversations, and new onboarding experience


Screenshot

Download on the app store

Rocket.Chat iOS native application

Build Status codecov codebeat badge Swift 4.1 License Reviewed by Hound

About Rocket.Chat

Beta Access (TestFlight)

You can signup to our TestFlight builds by acessing this link: https://testflight.apple.com/join/3gcYeoMr.

For discussion and feedback on the latest TestFlight build, please access the #ios-beta channel on our community server.

Reporting an Issue

Github Issues are used to track todos, bugs, feature requests, and more.

Also check the community on open.rocket.chat. We'd like to help.

How to report an Issue

If you found a bug, please include the current version number (Sidebar > Dropdown > My Account). Please also mention the device. Some features only work with newer versions of Rocket.Chat servers, you can get the current version number (even if you're not admin) via https://chat.server/api/info.

Please include as much information as you can provide. E.g. try to write down steps to reproduce the bug so we can investigate. If you would like to help, see how to contribute.

Is your bug critical regarding security? Read here

The app can't connect to your server?

Make sure your server supports WebSocket as well as SSL. Apache supports WebSockets from 2.4 on, Nginx with 1.3 or greater.

Contribute

Are you an iOS developer and would like to help? Found a bug that you would like to report or a missing feature that you would like to request? Great! We have written down a Contribution guide so you can start easily.

Themes โ˜€๏ธ๐ŸŒ™

Choose from 3 new themes to take you from day to night.

Themes

iPad

We have developed an exclusive experience for iPad users: you can now multitask by using Rocket.Chat at the same time as other apps.

iPad

Donate

PayPal

BountySource

rocket.chat.ios's People

Contributors

andy840119 avatar artur-ios-dev avatar blewjy avatar cardoso avatar dennispost avatar engelgabriel avatar falcaoaugustos avatar filipealva avatar gradler avatar jpowie01 avatar kaiiiiiiiii avatar kmav avatar legendecas avatar leonardo-ferreira07 avatar luismachado avatar macabeus avatar micheltlutz avatar pitstopper avatar rafaelks avatar rakaramos avatar rodrigok avatar rudrankriyam avatar sameesunkaria avatar soundstorm avatar sowenjub avatar tatthep-hoteliers avatar tehpegasus avatar thereal1604 avatar tjnet avatar yuutakahara avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rocket.chat.ios's Issues

Signup Screen

Allow users to create a new account to Rocket.chat

app needs to be reinstalled when server-sided proxy settings changed, because of blue screens or white screens ("connection..."

After setting up the RocketChat server, we tried to use an iOS 9 device to connect to the server. Although the web UI was reachable using the browser, the app wasn't able to establish a connection:
img_0347
I deleted the app from the iPhone, made a change to proxy configuration on the server side and then, after reinstalling and reconfiguring the Ap, the white connection screen had disappeared. But i didn't get an app-like user login window - however I got an ugly html form:
img_0345
When I log in by entering username in the second field and my password in the fourth one I can do login, but then it get's even more ugly because the displayed UI is text-only:
img_0348

With the current server release 0.18.1 it's unusable, so this app needs an overhaul. Even in the past we had a lot of issues with empty and one-colored screens (in most cases blue) when using the app, so we were not able to continue using the app except to hardly exit and reopen it.
I would really appreciate if the app get's back it original Rocket.Chat look - like the web UI does. Furthermore the App has to be more hardened against connection problems or other crashes. There is nothing more frustrating than always hanging in an app that is used several times per hour.

In my opinion, what is really really needed, is some kind of a fixed settings button from where I can always reach a possibility to cleanup any cached server settings, reset the local saved login credentials or change the server URL or port. All the really important stuff that needs an App to work which can be found there. That might cause problems to the app, when some of these server sided settings have changed.

connection closed by the server

Hi,
Just i am trying to play around with IOS App, The problem is: i think the connection is being closed by the serve.

I tried to use with my email and password and it didnt work.
Just i am using "demo server from Rocket.Chat."

What i did first, i signup (https://demo.rocket.chat/home) and create username and password.

when i enter in app, fist page it shows :" user is not authenticated " connect to a new server, when i click to (connect to new server ) it shows : wss://demo.rocket.chat/websocket and click to connect. when i connect and write my username and password that created from https://demo.rocket.chat/home, it doesnt do nothing, and this is the message i get from debug:
Probably as Rafael said: the connection is being closed by the serve.

Here is the Debug:

2016-07-15 14:18:53.343 Rocket.Chat[5387:124863] Version 1.0.2 of Realm is now available: https://github.com/realm/realm-cocoa/blob/v1.0.2/CHANGELOG.md
[2016-07-15 14:21:14.496] LogManager.swift:15 DEBUG: Socket (<Starscream.WebSocket: 0x7fb751f3d530>) did connect
[2016-07-15 14:21:14.499] LogManager.swift:15 DEBUG: Socket will send message: {
  "support" : [
    "1",
    "pre2",
    "pre1"
  ],
  "version" : "1",
  "id" : "bVEawNce09nFO9Dij9LqOH9hp6P63bmNUsAZ2BNfx4SCkGrtBU",
  "msg" : "connect"
}
[2016-07-15 14:21:14.500] LogManager.swift:15 DEBUG: [WebSocket] did receive JSON message: {
  "server_id" : "0"
}
[2016-07-15 14:21:14.619] LogManager.swift:15 DEBUG: [WebSocket] did receive JSON message: {
  "session" : "Na8BSgjkRTSb3Tdgd",
  "msg" : "connected"
}
[2016-07-15 14:21:14.745] LogManager.swift:15 DEBUG: [WebSocket] did receive JSON message: {
  "collection" : "kadira_settings",
  "id" : "m6X5JDv4dNemXDCTc",
  "fields" : {
    "appId" : "BzD6hKwkE7GwHzwwM",
    "endpoint" : "https:\/\/enginex.kadira.io",
    "clientEngineSyncDelay" : 10000,
    "enableErrorTracking" : true
  },
  "msg" : "added"
}
[2016-07-15 14:21:29.701] LogManager.swift:15 DEBUG: [WebSocket] did receive JSON message: {
  "msg" : "ping"
}
[2016-07-15 14:21:44.794] LogManager.swift:15 DEBUG: [WebSocket] did disconnect with error (Optional(Error Domain=WebSocket Code=1000 "connection closed by server" UserInfo={NSLocalizedDescription=connection closed by server}))
[2016-07-15 14:22:15.210] LogManager.swift:15 DEBUG: Socket will send message: {
  "method" : "login",
  "id" : "JbqsQwOLDweSogCUa2rCuh82aaDWlm0RrJDPp0RiNrXOfGz4k0",
  "params" : [
    {
      "user" : {
        "email" : "[email protected]"
      },
      "password" : {
        "digest" : "3380c146f4b49b7619c1dd87ca24daefcdf5ad9f74595b1d8750e1f853580507",
        "algorithm" : "sha-256"
      }
    }
  ],
  "msg" : "method"
}

Save Mobile Bandwidth Option

Can someone please explain to me what is exactly the option Save Mobile Bandwidth? Is this the case which if this is true you can only use wifi and not your mobile data?

Support handwriting input

On the iPad pro (and future iOS tablets). Together with Android-native implementation of same, can bring many new mobile users to Rocket.Chat.

Enhancement navigation controller of app

Hello guys as i saw was not created a navigation controller for "entire app", just after make login and here is the problem.
When we started navigation with login we should validate probably at request if user is still authorized for be connected, but if this change? We need log-out to log-in screen, but like is today we already deallocated login screen and changed hierarchy we need handle with this.
For me i see two ways:
1 - We change navigation controller from first "logged screen" to login, and at our main class we create "state handle" that will manage stack of navigation controller, so we easy add, delete, insert new view controller to stack.
2 - Left like is today but we start at main view that today is "view controller" validating asynchronous if is logged or any other way, and if not we show login screen using modal type.

Its easy to created that i could create just need to know witch is better way or if already thought any other way.

iOS app doesn't seem to be working, white bar on blue screen

Just installed the iOS app from the app store, and pointed it towards my newly set up rocket chat server (which I can access fine in a web-browser). The app seemed happy and said it was downloading files, but now just displays a horizontal white rectangle on a blue background. Restarting the app just results in it saying that it is connecting to the address it should, then white rectangle again.

app can't connect to a local url

when trying to connect the iOS App using WiFi to an internal URL http://10.0.0.64 it ends up with this error:
img_0349
Every time I tap on "connect", it dublicated the same error below the button, which seems to be a bug.
I guess every user would appreciate if the App would try itself to establish a connection on the RocketChat default port 3000. I typed manually the new URL http://10.0.0.64:3000. The URL screen disappeard now, but a new white screen showed this unsatisfying message:
img_0350
However, using the web UI with Safari on the phone works like a charm - but after all, it's no app with notification :-(

Account Dropdown Menu (Left Side Menu)

Implement the dropdown menu that shows the user's status, avatar, username and allows them to change their status, as well as go to the settings, and all other functionality included in the web client.

Native VS Cordova

Is there any particular reason you are going with a native app for this as opposed to doing Cordova with Meteor?

No audio or video call from iPhone app

Your Rocket.Chat app version: (2.3.1)
It's not possible to call someone from iOS app. The buttons for audio or video call has no effect. Also you cant't answer audio or video calls.

iOS pass code

I have used Threema for a long time and my favorite feature is that the app is protected by a pass code & finger print ID. This would be a great feature to add to Rocket Chat.

Which view structure its better, one Storyboard? Many? Xib?

Hello guys, taking advantage that project its starting and growing up talking with @rafaelks we raise an doubt, which view structure is better, for me basic question is for productivity, issue free for merges and support.
Actually the project already started using Xcode 7 and swift 2, and because Xcode 7 we have now storyboard segue between them, and that its really handful.

For me, and its what i already practice building apps where i work / worked, since i still can migrate projects for Xcode 7 i do something like this:

1 - Super View Controller - That all view will inherit from it.
2 - Main class for storyboard / view segue - Sometimes this class is a extension from UIStoryboard or just a NSObject class, with that we always have all connections between views, controllers, storyboard in one place, that help a lot and make support very easy for other dev.
3 - Multiple Storyboard - How many storyboard depend of project, but basically i create one for each "super view controller", something like, "message" i create one, "login" other, and go on, this helps when work with team and i'm working at "message" and other dev at "login" we could merge without create any merge issue that storyboard really like create, even if we not changed or worked at the same feature.

Now, like we use Xcode 7 he have a handful tool that is segue between storyboard, for sure that will help.

Its basically this, what you do? Any other way, its welcome, please fell free for help!

Dynamic Type

Persistent Storage

Add persistance storage to application. Either CoreData or SQLite

  • Check CoreData vs SQLite
  • Choose CoreData or SQLite
  • Create prototype to store login credentials
  • Expand Usage - Create appropriate data model and helpers

Undo & Redo

Support undo and redo, as very useful text input - related actions

Specify hostname when signing in

The currently deployed rocket.chat app doesn't let you specify the host to connect to, but one of the major advantages of rocket.chat is being able to set up your own server. Ideally, users should be able to have accounts logged in on multiple servers as well.

pod install wont work.

What do I need to do to get pod install to work.

Here is the output I get when running pod install.

โžœ Rocket.Chat.iOS git:(develop) pod install
Updating local specs repositories

CocoaPods 1.0.0.beta.4 is available.
To update use: gem install cocoapods --pre
[!] This is a test version we'd love you to try.

For more information see http://blog.cocoapods.org
and the CHANGELOG for this version http://git.io/BaH8pQ.

Analyzing dependencies
Pre-downloading: ObjectiveDDP from https://github.com/boundsj/ObjectiveDDP.git, commit a0276a594846c420c4ba88cea8a07e170b8d83d2
Pre-downloading: SwiftyJSON from https://github.com/SwiftyJSON/SwiftyJSON.git, commit 83dc3138b14571200ea7f070933a2a510491e997

โ€•โ€•โ€• MARKDOWN TEMPLATE โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•

Command

/usr/local/bin/pod install

Report

  • What did you do?
  • What did you expect to happen?
  • What happened instead?

Stack

   CocoaPods : 0.39.0
        Ruby : ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
    RubyGems : 2.5.1
        Host : Mac OS X 10.11.3 (15D21)
       Xcode : 7.2 (7C68)
         Git : git version 2.5.4 (Apple Git-61)
Ruby lib dir : /usr/local/Cellar/ruby/2.3.0/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 07cb65b80b4a16bc0faaa1d9b31d3e64974a3a4a

Plugins

cocoapods-plugins : 0.4.2
cocoapods-search  : 0.1.0
cocoapods-stats   : 0.6.2
cocoapods-trunk   : 0.6.4
cocoapods-try     : 0.5.1

Podfile

# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
use_frameworks!

target 'Rocket.Chat.iOS' do
  pod 'MMDrawerController', '~> 0.6.0'
# pod 'JSQCoreDataKit', :git => 'https://github.com/jessesquires/JSQCoreDataKit.git', :branch => 'release-2.0'
  pod 'ObjectiveDDP', :git => 'https://github.com/boundsj/ObjectiveDDP.git', :branch => 'master'
#  pod 'ObjectiveDDP', '~> 0.1.8'
  pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'
end

target 'Rocket.Chat.iOSTests' do

end

target 'Rocket.Chat.iOSUITests' do

end

Error

NoMethodError - undefined method `to_ary' for #<Pod::Specification name="M13OrderedDictionary">
Did you mean?  to_query
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/resolver/lazy_specification.rb:14:in `method_missing'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/resolver.rb:64:in `flatten'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/resolver.rb:64:in `block in resolve'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/resolver.rb:63:in `tap'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/resolver.rb:63:in `resolve'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer/analyzer.rb:539:in `block in resolve_dependencies'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/user_interface.rb:59:in `section'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer/analyzer.rb:537:in `resolve_dependencies'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer/analyzer.rb:70:in `analyze'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:213:in `analyze'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:136:in `block in resolve_dependencies'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/user_interface.rb:59:in `section'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:135:in `resolve_dependencies'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/installer.rb:105:in `install!'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/command/project.rb:71:in `run_install_with_update'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/command/project.rb:101:in `run'
/usr/local/lib/ruby/gems/2.3.0/gems/claide-0.9.1/lib/claide/command.rb:312:in `run'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/lib/cocoapods/command.rb:47:in `run'
/usr/local/lib/ruby/gems/2.3.0/gems/cocoapods-0.39.0/bin/pod:44:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

โ€•โ€•โ€• TEMPLATE END โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•โ€•

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=undefined+method+%60to_ary%27+for+%23%3CPod%3A%3ASpecification+name%3D%22M13OrderedDictionary%22%3E%0ADid+you+mean%3F++to_query&type=Issues

If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don't forget to anonymize any private data!

โžœ Rocket.Chat.iOS git:(develop)

Images are not downloading

I am getting image url having space and forward slash. I tried to encode url with stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLFragmentAllowedCharacterSet() but not able to download images and android build is working fine using picasso.

Main Navbar

The navbar you can see in rocket.chat web (when you resize to small screen)

Login Screen

Implement the main login screen that appears when users haven't logged in

Xcode Beta ?

In contributing says XCode-Beta (at the time of writing). You'll need Swift 2 support.

For contributions should use beta or stable XCode 7?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.