Skip to content

Next generation iOS and Android apps for Mattermost in React Native

License

Notifications You must be signed in to change notification settings

yoneal/mattermost-mobile

 
 

Repository files navigation

Mattermost Mobile (unreleased)

Supported Server Versions: 3.8+

This is an unreleased project for replacing the Mattermost iOS and Android apps with new mobile apps using React Native and Redux. The project is currently in beta, with a planned release date of July 2017.

Mattermost is an open source Slack-alternative used by thousands of companies around the world in 11 languages. Learn more at https://mattermost.com.

How to Contribute

Testing

The apps are currently in beta (released on March 29, 2017). We cut new builds regularly, so people can test it out and see what's new.

If you would like to help with testing the apps, you can:

  1. (Optional) Sign up for our team site
  1. Sign up to be a beta tester
  1. Install the Mattermost 2017 (Beta) app
  1. Check the changelog for what's currently supported
  2. File any bugs you find by filing a GitHub issue with:
  • Device information
  • Repro steps
  • Observed behavior (including screenshot / video when possible)
  • Expected behavior

Contribute Code

  1. Look in GitHub issues for issues marked as [Help Wanted]
  2. Comment to let people know you’re working on it
  3. Follow these instructions to set up your developer environment
  4. Join the Native Mobile Apps channel on our team site to ask questions

Installing Dependencies

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

Detailed configuration:

Mac

  • General requirements

    • XCode 8.3
    • Install required packages using homebrew:
      $ brew install watchman
      $ brew install yarn
  • Clone repository and configure:

    $ git clone git@github.com:mattermost/mattermost-mobile.git
    $ cd mattermost-mobile
    $ npm install
    $ npm install -g react-native-cli
  • Run application

    $ make run
  • Stop the packager server

    $ make stop

Linux:

  • General requiriments:

    • JDK 7 or greater
    • Android SDK
    • Virtualbox
    • An Android emulator: Genymotion or Android emulator. If using genymotion ensure that it uses existing adb tools (Settings: "Use custom Android SDK Tools")
    • Install watchman (do this globally):
      $ git clone https://github.com/facebook/watchman.git
      $ cd watchman
      $ git checkout master
      $ ./autogen.sh
      $ ./configure make
      $ sudo make install
      Configure your kernel to accept a lot of file watches, using a command like:
      $ sudo sysctl -w fs.inotify.max_user_watches=1048576
  • Clone repository and configure:

    $ git clone git@github.com:mattermost/mattermost-mobile.git
    $ cd mattermost-mobile
    $ npm install
    $ npm install -g react-native-cli
    • Add or edit file src/config/config.secret.json and add the url to the Mattermost server that you will use to develop: { "DefaultServerUrl": "https://pre-release.mattermost.com" }

      To use a local Mattermost server you will need to configure the "DefaultServerUrl" depending on the emulator you will use:

  • Run application

    • Start emulator
    • Start react packager: $ react-native start
    • Run in emulator: $ react-native run-android

Frequently Asked Questions

How is data handled on mobile devices after a user account is deactivated?

App data is wiped from the device when a user logs out of the app. If the user is logged in when the account is deactivated, then within one minute the system logs the user out, and as a result all app data is wiped from the device.

About

Next generation iOS and Android apps for Mattermost in React Native

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 92.6%
  • Ruby 5.1%
  • Other 2.3%