Giter Site home page Giter Site logo

rocketchat / rocket.chat.cordova Goto Github PK

View Code? Open in Web Editor NEW
104.0 33.0 109.0 8.84 MB

Rocket.Chat Cross-Platform Mobile Application via Cordova (DEPRECATED)

License: MIT License

CSS 6.97% HTML 3.99% JavaScript 44.84% CoffeeScript 35.35% Shell 1.35% Ruby 7.50%

rocket.chat.cordova's Introduction

Rocket.Chat.Cordova

Rocket.Chat Cross-Platform Mobile Application via Cordova

DEPRECATED

As of March (3/18) this application has been deprecated and is no longer maintained.

Please see our native mobile apps:

Both apps can be found in their respective app stores by searching for: Rocket.Chat

Cordova app will not be able to connect to Rocket.Chat server 0.72.0 and higher as support has been removed.

Development

Requirements

  • npm
  • nodejs 0.12
  • ImageMagick (with support for legacy utilities)

Install dependencies

sudo npm install cordova coffee-script -g
npm install

Create Conf files

echo 'Bugsnag.apiKey = "YOUR-API-KEY-HERE";' > www/js/bugsnag_apikey.js
echo 'window.ANDROID_SENDER_ID = "YOUR-ANDROID-ID-HERE";' > www/shared/js/android_sender_id.js

Prepare - Install platforms and plugins

cordova prepare

Run on emulator

cordova emulate ios

or

cordova emulate android

Run on device

cordova run ios --device

or

cordova run android --device

Troubleshooting

Some have had issues with a couple of dependencies not being installed by npm. Running: npm install ticons underscore may be necessary.

I can't connect to my server instance

If you are running your server using the command meteor you should define the URL where the mobile application will try to connect meteor --mobile-server http://192.168.1.10:3000, replace http://192.168.1.10:3000 by your IP or domain.

This is necessary because the mobile application download all files to run locally and then start the connection with your server, as you are running as develop mode this is necessary.

Assets

  • 1024 x 1024 icon-android.png (can use transparent background)
  • 1024 x 1024 icon-ios.png
  • 2208 x 2208 splash-android.png
  • 2208 x 2208 splash-ipad.png
  • 2208 x 2208 splash-iphone.png

Examples https://github.com/RocketChat/Rocket.Chat.Cordova/tree/develop/assets

rocket.chat.cordova's People

Contributors

burstaholic avatar diegolmello avatar dmartinpro avatar engelgabriel avatar geekgonecrazy avatar graywolf336 avatar jimt avatar jparyani avatar karlprieb avatar kirbyssmith avatar laggedhero avatar loredanacirstea avatar mitchrosu avatar pschonder avatar rodrigok avatar sampaiodiego avatar sing-li avatar ukastens 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

rocket.chat.cordova's Issues

iOS Emulator: cannot enter password

Just started the current version with cordova emulate ios in the iOS Emulator, but after entering the server address, and the email address, I cannot enter the password. Neither software keyboard nor native keyboard works.

Update: After trying again, it worked.

Error: Cannot find module 'bplist-parser'

Cordova prepare throws an error. Don't know what is wrong. Any help would me appreciated. Thanks

module.js:340
    throw err;
          ^
Error: Cannot find module 'bplist-parser'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js:20:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

Beta Release

Beta 1

  • Save current selected server and load selected server on app load
  • Use ionic keyboard plugin to resize the iframe on keyboard show/hide
  • Allow delete servers
  • Loading screen when downloading server files
  • Loading screen when opening a server
  • Splash screens
  • Icons
  • Some indication how to open the servers list

Beta 2

  • Delete server folder when delete server
  • Facebook Login
  • Push Notifications

Beta 3

  • Retry download files
  • Add a default cache copy to prevent download of some files
  • Update server

Beta 4

  • UserPresence
  • Open links in a browser window
  • Keep multiple servers logged
  • Timeout when trying to connect to a wrong url or ip
  • Load correct server when opening via push notification

Blue screen when server unavailable

If the rocket server is unavailable the app shows just a blue screen.
You can slide up with two fingers, but if i don´t remember this im stuck. Would it be possible to show an error message in that case?

mobile platforms enabled?

In the Readme.md I can see:

!!!Attention!!!
This application only connects with servers that were compiled with mobile platforms enabled

..but I don't understand it.

I have build with success the .apk but when I try to connect to my own Rocket.chat server or to the demo.server, the app can't download the files.
(my server rocket.chat works perfectly with the official android app.... gcm push notifications too)

So I suspect that the problem is the same that I can see in the Readme.

How to compile the server, with mobile enabled?

I can't found any reference in the documentation, but in my server installation I can see the following structure.

root@myserver:~# tree Rocket.Chat/programs/web.cordova/
Rocket.Chat/programs/web.cordova/
├── 872308fb2236cf4d4e98500eeac12d33c21fa61a.js
├── app
│   ├── favicon.ico
│   ├── fonts
│   │   ├── fontello.eot
│   │   ├── fontello.html
│   │   ├── fontello.ttf
│   │   ├── fontello.woff
│   │   └── github
│   │   ├── octicons.eot
│   │   ├── octicons.svg
│   │   ├── octicons.ttf
│   │   └── octicons.woff
│   ├── images
│   │   └── logo
│   │   ├── 1024x1024-circle.png
│   │   ├── 1024x1024.png
│   │   ├── 512x512.jpg
│   │   ├── 512x512.png
│   │   ├── android-chrome-144x144.png
│   │   ├── android-chrome-192x192.png
│   │   ├── android-chrome-36x36.png
│   │   ├── android-chrome-48x48.png
│   │   ├── android-chrome-72x72.png
│   │   ├── android-chrome-96x96.png
│   │   ├── android-hdpi.png
│   │   ├── android-mdpi.png
│   │   ├── android-xhdpi.png
│   │   ├── android-xxhdpi.png
│   │   ├── android-xxxhdpi.png
│   │   ├── apple-touch-icon-1024x1024.png
│   │   ├── apple-touch-icon-114x114.png
│   │   ├── apple-touch-icon-120x120.png
│   │   ├── apple-touch-icon-144x144.png
│   │   ├── apple-touch-icon-152x152.png
│   │   ├── apple-touch-icon-172x172.png
│   │   ├── apple-touch-icon-180x180.png
│   │   ├── apple-touch-icon-196x196.png
│   │   ├── apple-touch-icon-29x29.png
│   │   ├── apple-touch-icon-40x40.png
│   │   ├── apple-touch-icon-48x48.png
│   │   ├── apple-touch-icon-55x55.png
│   │   ├── apple-touch-icon-57x57.png
│   │   ├── apple-touch-icon-58x58.png
│   │   ├── apple-touch-icon-60x60.png
│   │   ├── apple-touch-icon-72x72.png
│   │   ├── apple-touch-icon-76x76.png
│   │   ├── apple-touch-icon-80x80.png
│   │   ├── apple-touch-icon-87x87.png
│   │   ├── apple-touch-icon-88x88.png
│   │   ├── apple-touch-icon.png
│   │   ├── apple-touch-icon-precomposed.png
│   │   ├── browserconfig.xml
│   │   ├── favicon-128x128.png
│   │   ├── favicon-16x16.png
│   │   ├── favicon-256x256.png
│   │   ├── favicon-32x32.png
│   │   ├── favicon-48x48.png
│   │   ├── favicon-64x64.png
│   │   ├── favicon-96x96.png
│   │   ├── favicon.ico
│   │   ├── icon-2.svg
│   │   ├── icon-loader.svg
│   │   ├── icon.svg
│   │   ├── loading.gif
│   │   ├── logo-dark.svg
│   │   ├── logo.svg
│   │   ├── manifest.json
│   │   ├── mstile-144x144.png
│   │   ├── mstile-150x150.png
│   │   ├── mstile-310x150.png
│   │   ├── mstile-310x310.png
│   │   ├── mstile-70x70.png
│   │   ├── name-dark.svg
│   │   └── rocketcat.png
│   ├── img
│   │   ├── icons.png
│   │   ├── icons.svg
│   │   └── loader.gif
│   ├── manifest.webapp
│   ├── recorderWorker.js
│   └── sounds
│   ├── door_chime.mp3
│   ├── notify.mp3
│   └── notify.ogg
├── f7146bdb10266bbdf98b62cd3a773b8468b4a1b9.css
├── head.html
└── program.json

7 directories, 81 files

Regards
MaX

Need for custom branded iOS build

This might be a stupid question but I am not a iOS Developer.

How would I approach compiling the iOS App for our company. I have a certificate and made a distribution provisioning profile but of course the App ID etc don't match.

Can't add second server

  • I connected to the https://demo.rocket.chat instance first.
  • I do the two finger swipe and add mine.
  • It acts like it takes it but then takes me back to the add screen with no error. (Also two finger swipe doesn't work here)
  • I enter it again, and it clears it and connects to https://demo.rocket.chat instance again.

Adding mine first worked. But then I had to click connect 3 times to get demo.rocket.chat connected second.

I've cleared and repeated this 3 times. So hopefully easily reproducible :)

Android with the app version 2.1.0

Remove iframe

We need to remove the iframe because there is an issue with iframe and focus in iOS:

And there are security issues related with sharing the localStorage of the webview with all servers.

Migration steps:

  • Open a new server with a custom domain (modify the plugin com.meteor.cordova-update)
  • Change the downloaded index.html to inject scripts to handle things like (Server List, Push Notification, etc)
  • Separate the server list to be used in the start view and server view
  • Redirect user back to the start view when click in the button to add server
  • Redirect user the server selected in the servers list
  • Reenable Push Notifications
  • Handle when app was opened via Push Notification
  • Open links in a browser
  • Keyboard
  • Pause and resume
  • Facebook login
  • Reenable the functionality to update one server
  • Publish the updated plugin (com.meteor.cordova-update)

RTL in the Android app

Besides the fact the app is not fully translated there are many visual glitches.

screenshot_2015-12-29-11-44-06
Preferences screen misaligned

screenshot_2015-12-29-11-44-31
Chat windows, the dots are not at the end of the text so does the parenthesis.
Notice the title is aligned to the right and so does the Hash sign, should be left aligned if the room name is in English.

screenshot_2015-12-29-11-44-50
Friend list, I don't think it should be aligned to the right if it can only be in English.

Beta: URL Window overlaps User/PW Window

Samsung Galaxy S6 Edge, Android 5.1.1

Clean install. At the first lauch I misspelled the URL of my server. After I corrected the URL I was forwarded to the User/PW screen. But when I enter text into the user / PW field and the keyboard pops up it "pushes" the URL Dialog over the User / PW screen. So I can´t see what I am typing.... (but it still works, so I can logIn after blind input of User / PW).

Required Android Version in App Store

Assuming this repo is what this app is built from, is the dependency on android 4.4 absolutely required? I personally use Android 4.2 and one of my team also has an older version (not sure which exactly).

I suggest to keep the value for the required android version as low as possible.

Sidebar glitch

As pointed by @infinitnet in RocketChat/Rocket.Chat.Android#15

The icons on the right sidebar randomly disappear. If I kill and restart the app or switch rooms a few times the icons are come back. Issue appear to happen randomly. Using latest release from Play Store on a Sense 7 ROM, Android 5.0.2.
screenshot_2016-01-06-17-43-24

Provide release files on GitHub

So Android app was released and is available on the Play, but it is not attached here to the releases. It would be great if it would be possible to get the apk file directly.

Two finger swipe not working

Two finger swipe seems to not be working any more. It seemed to stop working the last beta and also still this one

Image file render fails

In the Android version, the render of uploaded files fails.
I am using the latest app version connected to the demo server.

cordova prepare error

I followed the readme to setup Rocket.Chat.Cordova, but got this:

➜  Rocket.Chat.Cordova git:(develop) cordova prepare    
Error: Parameter 'url' must be a string, not undefined

I can not find any error definition like that from the project, anyone know what happened?

Can't login to custom instance with Android

I am running the latest server and application on my Nexus 6, and when I try to log into the instance, it just hangs at the login screen with no error indefinitely. The button reads "Please Wait..."

I do not see any output or access attempts either in the stdout for the application, or in my nginx access logs. I am running the application on a different port than 80, which I suspect may have something to do with the issue - maybe the login may not know about the port even though I input the URL with the port? Additionally, I am not running the app under https at the moment (testing).

I made sure I updated both client and server to the latest versions, and completely restarted both (also, reinstalled the Android app). Is this a known issue?

fix oauth

currently oauth does not work because it starts an external browser session and never comes back into the webview

Push Notifications not working

I'm attempting to get push notifications working, and after figuring out what seems to be a correct setup, I still don't get push notifications. Checking the console when the cordova client connects, I see this in the logs:

rocketchat-1 | 2015-11-29T22:15:23.763943119Z CLIENT error [ { type: 'gcm.cordova', error: 'No value for senderID' } ]

For posterity, here is my configuration:

image

Is this a problem with the latest beta, or maybe my configuration?

Speed issues on startup and load

Our team has been enjoying using the RocketChat mobile apps, but we encounter two major issues on a regular basis as active users:

  1. When starting the app, we often get stuck on the blue screen and just get frozen there. This happens unpredictably, but consistently across users. I'm sure it's because of the hybrid app needing to load the page, but is there any fix for this?
  2. Especially on Android, there is a very long delay/lag to open new channels. Sometimes this can extend to 30 sec to a 1 min of load time just waiting for the channel to display. Any fix for this?

Thanks!

App/Rocket.Chat language

When using the android app, rocket.chat is always in English, even if the chosen language is a different one.

the app language (server list, loading messages, etc) is using the system language correctly.

image

Cannot login with application

Hi,

I download the latest Rocket.Chat app from play store and provide my own server url (https://mydomain.com:8080). Afterwards I want to login but it stucks saying "PLEASE WAIT...." in the login button.

My environment:
Server is running with the latest docker image.
I connect with HTTPS and port 8080 through an reverse proxy.
For login ldap is used.

Things I already tried:
Use local IP address. (same behaviour)
Change port to 443. (same behaviour)
Login without reverse proxy and https. (same behaviour)
Login with webapplication from mobile works
Login to demo.rocket.chat works.

Many thanks in advanced

Not updating cached assets when confirming dialog

screenshot_20151209-190820

On Android, this keeps coming up. I get 3-4 copies of it.

Clearing data works for a while. After switching servers or it being in the background for a while it seems to do this.

Clicking update sometimes brings to server list and seems to break

So can this run on Windows Phone as well? Or perhaps even a universal app?

So i've been looking into what Rocket Chat can do and having a Cordova solution might be nice. But i'm not sure if this will work properly on a Windows Phone or that we perhaps need to adjust/fix it. Has anybody tried? Are there examples?
I don't see it mentioned in the readme, nor do i see some WP-things in it. Would love to give it a go, but like some info before i waste my time

Can't switch servers from server list

Both servers show up. Clicking on one does nothing. If I kill and then restart it switches to the server I selected.

So its saving it, just not changing.

Android App version 2.1.0

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.