No description
Find a file
enahum 81526fbb09 Channel drawer (#154)
* Channel list drawer
* Get channels by category
* Fix and connect websocket
* Fix Select first team using the team members

* create loadMe and fix login actions to loads the teams

* Add android back button handler for the channel drawer

* Channel drawer styling and functionality

* Mark channel as viewed and fixed reset unread counts

* Unread above/below indicators

* Improve performance replacing ScrollView with ListView

* Fix unread indicators

* Addressing review feedback
2017-01-03 19:49:28 -03:00
android Channel drawer (#154) 2017-01-03 19:49:28 -03:00
app Channel drawer (#154) 2017-01-03 19:49:28 -03:00
config Added basic theming support (#131) 2016-12-12 21:05:59 -03:00
ios Channel drawer (#154) 2017-01-03 19:49:28 -03:00
service Channel drawer (#154) 2017-01-03 19:49:28 -03:00
test Channel drawer (#154) 2017-01-03 19:49:28 -03:00
.babelrc Use babel-plugin-module-resolver to fix imports from project root (#145) 2016-12-20 16:01:15 -05:00
.buckconfig Initial commit 2016-10-04 14:10:44 -04:00
.editorconfig Changed .editorconfig to include a trailing newline on files (#21) 2016-10-17 13:56:28 -04:00
.eslintrc.json Add WebSocket support (#144) 2016-12-21 12:54:23 -05:00
.flowconfig Updated react-native projects 2016-10-07 11:49:31 -04:00
.gitignore Gitignore .npminstall (#28) 2016-10-18 15:44:52 -07:00
.npmrc Add functionality for fetching + selecting teams & channels (#17) 2016-10-17 15:47:47 -04:00
.watchmanconfig Initial commit 2016-10-04 14:10:44 -04:00
CONTRIBUTING.md Proposed changes to contributor guidelines (#44) 2016-10-19 13:33:44 -07:00
index.android.js project folder structure (#107) 2016-12-09 10:34:17 -05:00
index.ios.js project folder structure (#107) 2016-12-09 10:34:17 -05:00
LICENSE.txt Adding Apache 2.0 license 2016-10-11 09:14:00 -07:00
Makefile Re-add remote redux debugger to npm run postinstall 2016-11-09 10:12:27 -05:00
NOTICE.txt Channel drawer (#154) 2017-01-03 19:49:28 -03:00
package.json Channel drawer (#154) 2017-01-03 19:49:28 -03:00
README.md Typo, unreleased should not be hyphenated 2016-11-25 12:39:13 -08:00
rn-cli.config.js project folder structure (#107) 2016-12-09 10:34:17 -05:00

Mattermost Mobile (unreleased)

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 not yet stable, and the instructions are for internal use currently (i.e. probably out-of-date until we stablize).

We'll post updates to our Forums and Twitter when we're ready to bring in more community contributors.

Our early roadmap was discussed on the Mattermost forums in October 2016 and we'll have more updates as the project evolves. Priorities are shifting so please only use the dates in the post as a highly approximate guide.

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

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.1
    • Install watchman $ brew install watchman
  • 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
    

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