Rocket.Chat.ReactNative/README.md

240 lines
13 KiB
Markdown
Raw Normal View History

2019-12-11 20:02:15 +00:00
# Rocket.Chat Mobile
2017-08-16 17:44:26 +00:00
[![Project Dependencies](https://david-dm.org/RocketChat/Rocket.Chat.ReactNative.svg)](https://david-dm.org/RocketChat/Rocket.Chat.ReactNative)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/bb15e2392a71473ea59d3f634f35c54e)](https://www.codacy.com/app/RocketChat/Rocket.Chat.ReactNative?utm_source=github.com&utm_medium=referral&utm_content=RocketChat/Rocket.Chat.ReactNative&utm_campaign=badger)
[![codecov](https://codecov.io/gh/RocketChat/Rocket.Chat.ReactNative/branch/master/graph/badge.svg)](https://codecov.io/gh/RocketChat/Rocket.Chat.ReactNative)
2017-08-18 16:42:34 +00:00
[![CodeFactor](https://www.codefactor.io/repository/github/rocketchat/rocket.chat.reactnative/badge)](https://www.codefactor.io/repository/github/rocketchat/rocket.chat.reactnative)
2019-07-29 18:26:35 +00:00
**Supported Server Versions:** 0.70.0+
## Download
2019-12-11 20:02:15 +00:00
### Official apps
<a href="https://play.google.com/store/apps/details?id=chat.rocket.android">
<img alt="Download on Google Play" src="https://play.google.com/intl/en_us/badges/images/badge_new.png" height=43>
</a>
<a href="https://apps.apple.com/us/app/rocket-chat/id1148741252">
<img alt="Download on App Store" src="https://user-images.githubusercontent.com/7317008/43209852-4ca39622-904b-11e8-8ce1-cdc3aee76ae9.png" height=43>
</a>
### Experimental apps
2018-11-19 19:01:10 +00:00
<a href="https://play.google.com/store/apps/details?id=chat.rocket.reactnative">
<img alt="Download on Google Play" src="https://play.google.com/intl/en_us/badges/images/badge_new.png" height=43>
</a>
<a href="https://itunes.apple.com/us/app/rocket-chat-experimental/id1272915472">
<img alt="Download on App Store" src="https://user-images.githubusercontent.com/7317008/43209852-4ca39622-904b-11e8-8ce1-cdc3aee76ae9.png" height=43>
</a>
## Beta Access
### TestFlight
2019-12-11 20:02:15 +00:00
You can signup to our TestFlight builds by accessing these links:
- Official: https://testflight.apple.com/join/3gcYeoMr
- Experimental: https://testflight.apple.com/join/7I3dLCNT.
2019-03-13 20:58:47 +00:00
### Google Play beta
2019-12-11 20:02:15 +00:00
You can subscribe to Google Play Beta program and download latest versions:
- Official: https://play.google.com/store/apps/details?id=chat.rocket.android
- Experimental: https://play.google.com/store/apps/details?id=chat.rocket.reactnative
## Reporting an Issue
[Github Issues](https://github.com/RocketChat/Rocket.Chat.ReactNative/issues) are used to track todos, bugs, feature requests, and more.
2019-03-13 20:58:47 +00:00
Also check the [#react-native](https://open.rocket.chat/channel/react-native) community on [open.rocket.chat](https://open.rocket.chat). We'd like to help.
## Installing dependencies
2017-08-16 17:44:26 +00:00
Follow the [React Native Getting Started Guide](https://facebook.github.io/react-native/docs/getting-started.html) for detailed instructions on setting up your local machine for development.
## How to run
- Clone repository and install dependencies:
2017-08-16 17:44:26 +00:00
```bash
$ git clone git@github.com:RocketChat/Rocket.Chat.ReactNative.git
$ cd Rocket.Chat.ReactNative
2019-02-07 15:48:10 +00:00
$ yarn global add react-native-cli
$ yarn
```
2017-08-16 17:44:26 +00:00
- Run application
```bash
2019-03-13 20:58:47 +00:00
$ react-native run-ios
2017-08-16 17:44:26 +00:00
```
```bash
2019-03-13 20:58:47 +00:00
$ react-native run-android
2017-08-16 17:44:26 +00:00
```
### 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.
2019-03-13 20:58:47 +00:00
## Current priorities
2019-12-11 20:02:15 +00:00
1) Omnichannel support
2) E2E encryption
## Features
2019-03-13 20:58:47 +00:00
| Feature | Status |
|--------------------------------------------------------------- |-------- |
2019-10-31 16:23:00 +00:00
| Jitsi Integration | ✅ |
2019-07-29 18:26:35 +00:00
| Federation (Directory) | ✅ |
| Discussions | ❌ |
2019-12-11 20:02:15 +00:00
| Omnichannel | ❌ |
2019-07-29 18:26:35 +00:00
| Threads | ✅ |
2019-03-13 20:58:47 +00:00
| Record Audio | ✅ |
2019-07-29 18:26:35 +00:00
| Record Video | ✅ |
| Commands | ✅ |
2019-05-23 12:06:15 +00:00
| Draft message per room | ✅ |
2019-07-29 18:26:35 +00:00
| Share Extension | ✅ |
2019-03-13 20:58:47 +00:00
| Notifications Preferences | ✅ |
| Edited status | ✅ |
2019-07-29 18:26:35 +00:00
| Upload video | ✅ |
2019-03-13 20:58:47 +00:00
| Grouped messages | ✅ |
2019-07-29 18:26:35 +00:00
| Mark room as read | ✅ |
| Mark room as unread | ✅ |
2019-12-11 20:02:15 +00:00
| Tablet Support | ✅ |
2019-07-29 18:26:35 +00:00
| Read receipt | ✅ |
2019-03-13 20:58:47 +00:00
| Broadbast Channel | ✅ |
2019-08-19 19:44:19 +00:00
| Authentication via SAML | ✅ |
| Authentication via CAS | ✅ |
2019-07-29 18:26:35 +00:00
| Custom Fields on Signup | ✅ |
| Report message | ✅ |
2019-12-11 20:02:15 +00:00
| Theming | ✅ |
2020-02-03 18:28:18 +00:00
| Settings -> Review the App | ✅ |
| Settings -> Default Browser | ✅ |
2019-05-23 12:06:15 +00:00
| Admin panel | ✅ |
2019-12-19 13:07:53 +00:00
| Reply message from notification | ✅ |
2019-03-13 20:58:47 +00:00
| Unread counter banner on message list | ✅ |
2019-07-29 18:26:35 +00:00
| E2E Encryption | ❌ |
2019-03-13 20:58:47 +00:00
| Join a Protected Room | ❌ |
2019-10-31 16:23:00 +00:00
| Optional Analytics | ✅ |
2019-03-13 20:58:47 +00:00
| Settings -> About us | ❌ |
2019-07-29 18:26:35 +00:00
| Settings -> Contact us | ✅ |
2019-03-13 20:58:47 +00:00
| Settings -> Update App Icon | ❌ |
2019-10-31 16:23:00 +00:00
| Settings -> Share | ✅ |
2019-03-13 20:58:47 +00:00
| Accessibility (Medium) | ❌ |
| Accessibility (Advanced) | ❌ |
| Authentication via Meteor | ❌ |
2020-01-29 12:30:59 +00:00
| Authentication via Wordpress | ✅ |
2019-08-19 19:44:19 +00:00
| Authentication via Custom OAuth | ✅ |
2019-03-13 20:58:47 +00:00
| 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)
2018-05-23 13:39:18 +00:00
- Build your app
```bash
2019-03-13 20:58:47 +00:00
$ detox build --configuration ios.sim.release
2018-05-23 13:39:18 +00:00
```
- Run tests
```bash
2019-03-13 20:58:47 +00:00
$ detox test --configuration ios.sim.release
```
## Storybook
- Open index.js
- Uncomment following line
```bash
import './storybook';
```
- Comment out following lines
```bash
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