Rocket.Chat mobile clients
Go to file
Diego Mello 2d58a8b983
[RELEASE] Merge beta into master (#1082)
* Bump version to 1.16.0 (#1014)

* [IMPROVEMENT] Share credentials with Rocket.Chat.iOS (#982)

*  Create user table

*  Introduce user table

* 🔥 Remove unused table

*  Add userdefaults to storage data

* 💚 Fix android build

*  Get credentials from iOS native client

* 🔥 Remove unused code

*  Revert sign xcode

* 🐛 Fix first login-logout

* 🎨 Use constants to UserDefaults Keys

* 🐛 Fix clear server-user-info on logout

* 🐛 Fix filter null value

* 🚑 Remove user object in logout

*  Fix get servers from native-client

* 🚑 Fix error on change server

* [FIX] Don't run UserDefaults credentials on Android (#1015)

* 🐛 Fix native credentials (android)

* Fix migration loop

* [IMPROVEMENT] Hide frequently used emoji tab when empty (#792)

* [IMPROVEMENT] Bigger emoji in emoji only messages (#793)

* issue #725: bigger emoji in emoji only message

* issue-725/add storybook for Message/Emoji

* issue-725: update storybook/Message jest snapshot

* comment storybook import

* allow spaces and line breaks in emoji only message

* merge develop

* revert unnecessary spacing

* [FIX] Empty message if contains only a link (#787)

* Fix empty message if contains only a link

* 🐛 Fix empty space

* [IMPROVEMENT] Refactor empty space regex on quote (#1017)

* 🎨 Improve regex to empty space on quote

* 🎨 Improve on regex to empty space on quote

* [NEW] Custom fields on signup (#1013)

* added custom feilds on registration

* added flag as leftIcon and removed lable

* added try and catch

* typo

* [CHORE] Renew provisioning profiles (#1020)

* [NEW] Auto-translate (#1012)

* Update realm

* View original and translate working

* Read AutoTranslate_Enabled setting

* RocketChat.canAutoTranslate()

* AutoTranslateView

* Save language

* Auto-translate switch

* Translate message

* [IMPROVEMENT] Use haptics rather than vibration (#1016)

* Install expo-haptics

* Use expo-haptics rather than RN's Vibration module

* [IMPROVEMENT] Use Rest API for file upload (#1005)

* removed rn-fetch-blob and use native XMLHttpRequest instead

* removed unnessary changes

* fix android bug

* fix android bug

* added tmid support

* fix bug

* fixed isssue with cacel model

* fix problems with audio

* done requested changes

* fix bug with android

* [CHORE] [CI] [TESTS] update detox to make ci pass (#1026)

* feat: update detox to 12.11.3 to make CI pass

* ci: comment all jobs but leave e2e-test job

* commit to rerun IC e2e-test job

* ci: uncomment all CI jobs

* [NEW] Room swipe actions: mark as read/unread, hide, fav (#976)

* added unread and fav feature

* changed the layout

* fix jest

* done requested changes

* added requested changes

* [FIX] Android build (#1027)

* [FIX] Android build

* CircleCI error

* [FIX] iOS share credentials build (#1028)

* [FIX] iOS share credentials build

* Use `hasMigration` as a string

* [CI] Restore cache on CI (#1029)

* feat: add fastlane save\restore cache config; comment not needed jobs;

* install fastlane using 'bundle install'

* install fastlane using 'sudo bundle install'

* uncomment ios build commands

* run set up google services in ios folder

* add working_directory: ios to ios-build steps

* remove 'cd ios' from Fastlane build step

* add save\restore cache for npm modules

* group save_cache steps

* cache fastlane in ios-testflight job

* uncomment previously commented jobs\steps

* fix: add missing colon

* use key for caching: node-modules-{{ checksum ".circleci/config.yml" }}-{{ checksum "yarn.lock" }}

* add names for save\restore steps

* ci: add `default` step with `working_directory: ~/repo` to ios-build job

* return back caching npm: `node-v1-{{ checksum "package.json" }}-{{ arch }}`

* fix: add missing curly braces

* save\restore cache in e2e-test job; remove {{arch}} from cache names

* add names to restore_cache steps in android-build job

* add names to save_cache steps in android-build job

* add names to all save\restore steps; change checksum package.json to yarn.lock

* change `npm` to `NPM` in steps naming

* remove {{ checksum circle ci }} from android-build job and fix naming of steps

* [FIX] Rooms swipes (#1034)

* Regression: on press style feedback

* Action button styles

* Fix animations

* Styles changed

* Update subscription without having to wait for socket

* Calculate width on RoomsListView instead

* [FIX] Decrease bigger emoji size to 30 (#1031)

* [FIX] Append server URL on avatar if necessary (#1038)

* Comment removeClippedSubviews

* Comment width animation

* Remove redux from RoomItem

* Fix wrong re-render comparison

* Remove listener

* Raise minDeltaX

* memo actions

* Spring with native driver

* Refactor functions

* Fix props issues

* Remove RoomItem.height

* Long swipe

* Refactor animations

* this.rowTranslation -> this.transX

* Moved state to this

* Bump version to 1.16.1 (#1045)

* [FIX] Set UserDefaults AppGroup on notification tap (#1047)

* [FIX] Auto-translate messages as they arrive

* Fix favorite button

* [FIX] Swipe animations (#1044)

* Comment removeClippedSubviews

* Comment width animation

* Remove redux from RoomItem

* Fix wrong re-render comparison

* Remove listener

* Raise minDeltaX

* memo actions

* Spring with native driver

* Refactor functions

* Fix props issues

* Remove RoomItem.height

* Long swipe

* Refactor animations

* this.rowTranslation -> this.transX

* Moved state to this

* Fix favorite button

* [FIX] Auto-translate messages as they arrive (#1049)

* Comment removeClippedSubviews

* Comment width animation

* Remove redux from RoomItem

* Fix wrong re-render comparison

* Remove listener

* Raise minDeltaX

* memo actions

* Spring with native driver

* Refactor functions

* Fix props issues

* Remove RoomItem.height

* Long swipe

* Refactor animations

* this.rowTranslation -> this.transX

* Moved state to this

* [FIX] Auto-translate messages as they arrive

* [i18n] Add missing de translations (#1040)

* [CHORE] Switch to react-native-localize (#1043)

* Bump version to 1.17.0 (#1057)

* Load views as needed (#1056)

* [IMPROVEMENT] Change "resend" icon position (#1048)

* [NEW] Video support (#801)

* [NEW] File upload (#882)

* [NEW] Share extension (#942)

* [FIX] Share extension CI build (#1060)

* Change bundleID

* Provisioning

* get provisioning profile

* [IMPROVEMENT] Reusable toast (#1065)

* [FIX] Moment locales (#1066)

* [FIX] Share Extension issues (#1064)

* [FIX] Empty white list enables all media types upload (#1077)

* Merge branch 'master' into develop (#1079)

* [FIX] Empty white list enables all media types upload (#1080)

* Create utils to media (canUpload)

* Fix variable name

* [CHORE] Update README (#1081)
2019-07-29 17:44:39 -03:00
.circleci [RELEASE] Merge beta into master (#1055) 2019-07-15 14:24:48 -03:00
.github [CHORE] Update issue template (#638) 2019-02-20 09:05:14 -03:00
__mocks__ [RELEASE] Merge beta into master (#1082) 2019-07-29 17:44:39 -03:00
__tests__ [RELEASE] Merge beta into master (#1082) 2019-07-29 17:44:39 -03:00
android [RELEASE] Merge beta into master (#1082) 2019-07-29 17:44:39 -03:00
app [RELEASE] Merge beta into master (#1082) 2019-07-29 17:44:39 -03:00
e2e [NEW] Settings view (#900) 2019-06-11 11:01:40 -03:00
icons/20x20 [FIX] messagebox growing width and icons (#130) 2017-12-08 17:36:03 -02:00
ios [RELEASE] Merge beta into master (#1082) 2019-07-29 17:44:39 -03:00
storybook [RELEASE] Merge beta into master (#1055) 2019-07-15 14:24:48 -03:00
.babelrc Update dependencies (#431) 2018-09-25 16:28:42 -03:00
.bettercodehub.yml Add bettercode (#30) 2017-08-18 14:02:12 -03:00
.buckconfig Initial commit 2017-08-03 15:23:43 -03:00
.eslintignore Use inline requires (#459) 2018-09-26 10:56:36 -03:00
.eslintrc.js [CHORE] Add pre-commit rules (#816) 2019-05-20 17:51:47 -03:00
.gitattributes Initial commit 2017-08-03 15:23:43 -03:00
.gitignore Check $FABRIC_KEY availability in CircleCI (#506) 2018-10-24 13:37:22 -03:00
.snyk Switch push notification lib (#346) 2018-07-10 10:40:32 -03:00
.watchmanconfig Initial commit 2017-08-03 15:23:43 -03:00
LICENSE Create LICENSE 2018-04-21 15:24:08 -03:00
README.md [RELEASE] Merge beta into master (#1082) 2019-07-29 17:44:39 -03:00
app.json [RELEASE] Merge beta into master (#1082) 2019-07-29 17:44:39 -03:00
index.js [RELEASE] Merge beta into master (#1082) 2019-07-29 17:44:39 -03:00
jsconfig.json Init Redux usage 2017-08-12 22:35:09 -03:00
key.keystore.enc Ci (#25) 2017-08-18 11:50:20 -03:00
metro.config.js Update RN to 0.59.8 (#896) 2019-05-22 17:15:35 -03:00
package.json [RELEASE] Merge beta into master (#1082) 2019-07-29 17:44:39 -03:00
yarn.lock [RELEASE] Merge beta into master (#1082) 2019-07-29 17:44:39 -03:00

README.md

Rocket.Chat React Native Mobile

Project Dependencies Codacy Badge codecov CodeFactor

Supported Server Versions: 0.70.0+

Download

Download on Google Play Download on App Store

Beta Access

TestFlight

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

Google Play beta

You can subscribe to Google Play Beta program and download latest versions: https://play.google.com/store/apps/details?id=chat.rocket.reactnative

Reporting an Issue

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

Also check the #react-native community on open.rocket.chat. We'd like to help.

Installing dependencies

Follow the React Native Getting Started Guide for detailed instructions on setting up your local machine for development.

How to run

  • Clone repository and install dependencies:

    $ git clone git@github.com:RocketChat/Rocket.Chat.ReactNative.git
    $ cd Rocket.Chat.ReactNative
    $ yarn global add react-native-cli
    $ yarn
    
  • Run application

    $ react-native run-ios
    
    $ react-native run-android
    

Running single server

If you don't need multiple servers, there is a branch single-server just for that. Readme will guide you on how to config.

Current priorities

  1. Jitsi integration
  2. Notification Preferences
  3. Two-way authentication
  4. Authentication via SAML
  5. Authentication via Custom OAuth
  6. Authentication via CAS
  7. Bugsnag
  8. Optional Analytics
  9. Typescript
  10. Prettier

Features

Feature Status
Jitsi Integration
Federation (Directory)
Discussions
Threads
Record Audio
Record Video
Commands
Draft message per room
Share Extension
Notifications Preferences
Edited status
Upload video
Grouped messages
Mark room as read
Mark room as unread
Tablet Support
Read receipt
Broadbast Channel
Authentication via SAML
Authentication via CAS
Custom Fields on Signup
Report message
Theming
Settings -> Review the App
Settings -> Default Browser
Admin panel
Reply message from notification
Unread counter banner on message list
E2E Encryption
Join a Protected Room
Optional Analytics
Settings -> About us
Settings -> Contact us
Settings -> Update App Icon
Settings -> Share
Accessibility (Medium)
Accessibility (Advanced)
Authentication via Meteor
Authentication via Wordpress
Authentication via Custom OAuth
Add user to the room
Send message
Authentication via Email
Authentication via Username
Authentication via LDAP
Message format: Markdown
Message format: System messages (Welcome, Message removed...)
Message format: links
Message format: images
Message format: replies
Message format: alias with custom message (title & text)
Messages list: day separation
Messages list: load more on scroll
Messages list: receive new messages via subscription
Subscriptions list
Segmented subscriptions list: Favorites
Segmented subscriptions list: Unreads
Segmented subscriptions list: DMs
Segmented subscriptions list: Channels
Subscriptions list: update user status via subscription
Numbers os messages unread in the Subscriptions list
Status change
Upload image
Take picture & upload it
2FA
Signup
Autocomplete with usernames
Autocomplete with @all & @here
Autocomplete room/channel name
Upload audio
Forgot your password
Login screen: terms of service
Login screen: privacy policy
Authentication via Google
Authentication via Facebook
Authentication via Twitter
Authentication via GitHub
Authentication via GitLab
Authentication via LinkedIn
Create channel
Search Local
Search in the API
Settings -> License
Settings -> App version
Autocomplete emoji
Upload file (documents, PDFs, spreadsheets, zip files, etc)
Copy message
Pin message
Unpin message
Channel Info screen -> Members
Channel Info screen -> Pinned
Channel Info screen -> Starred
Channel Info screen -> Uploads
Star message
Unstar message
Channel Info screen -> Topic
Channel Info screen -> Description
Star a channel
Message format: videos
Message format: audios
Edit message
Delete a message
Reply message
Quote message
Muted state
Offline reading
Offline writing
Edit profile
Reactions
Custom emojis
Accessibility (Basic)
Tap notification, go to the channel
Deep links: Authentication
Deep links: Rooms
Full name setting
Read only rooms
Typing status
Create channel/group
Disable registration setting
Unread red line indicator on message list
Search Messages in Channel
Mentions List
Attachment List
Join a Room

Detox (end-to-end tests)

  • Build your app
$ detox build --configuration ios.sim.release
  • Run tests
$ detox test --configuration ios.sim.release

Storybook

  • Open index.js

  • Uncomment following line

import './storybook';
  • Comment out following lines
import './app/ReactotronConfig';
import { AppRegistry } from 'react-native';
import App from './app/index';
import { name as appName } from './app.json';

AppRegistry.registerComponent(appName, () => App);
  • Start your application again