Skip to content
Next generation iOS and Android apps for Mattermost in React Native
JavaScript Objective-C Java Ruby Swift Makefile Other
Branch: master
Clone or download
Pull request Compare This branch is 3 commits ahead, 202 commits behind mattermost:master.
Latest commit e9058e8 Jul 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
android Added perf markers Jul 10, 2019
app Added perf markers Jul 10, 2019
assets MM-15486 - Archived channels appear incorrectly on mobile (mattermost… Jun 17, 2019
builds/nightlybeta
docs Allow profile button configuration (mattermost#947) Oct 27, 2017
fastlane Bump app build number to 197 (mattermost#2872) Jun 7, 2019
ios Bump app build number to 204 (mattermost#2955) Jul 5, 2019
native_modules fix ios sso cookie bug when running on top-level domain (mattermost#2858 Jun 15, 2019
packager
scripts add eslint-plugin-header, and --fix all (mattermost#1726) Jun 19, 2018
share_extension
test MM-15582 Don't show forgot password link without email/username login ( May 22, 2019
.buckconfig Initial commit Oct 4, 2016
.editorconfig MM-11157 Switch ESLint to use eslint-config-mattermost (mattermost#2247) Oct 11, 2018
.eslintrc.json MM-11157 Switch ESLint to use eslint-config-mattermost (mattermost#2247) Oct 11, 2018
.flowconfig Upgrade to RN 0.59.6 and dependencies (mattermost#2777) May 13, 2019
.gitattributes Fastlane for Android and ios (mattermost#165) Jan 19, 2017
.gitignore [MM-15695] Move i18n check from shared pipelines to makefile as i18n-… May 21, 2019
.npmrc
.watchmanconfig Initial commit Oct 4, 2016
CHANGELOG.md 1.20.1 Changelog (mattermost#2902) Jun 21, 2019
CONTRIBUTING.md Remove outdated information from contributing file (mattermost#2759) May 2, 2019
ISSUE_TEMPLATE.md Update PR template and Issue template (mattermost#335) Mar 8, 2017
Jenkinsfile simple jenkinsfile for testing (mattermost#1311) Dec 26, 2017
LICENSE.txt
Makefile Upgrade to React Native 0.60 Jul 8, 2019
NOTICE.txt Update NOTICE.txt (mattermost#2856) Jun 5, 2019
PULL_REQUEST_TEMPLATE.md
README.md Update Github issues link (mattermost#2889) Jun 18, 2019
app.json Upgrade RN (mattermost#1102) Nov 7, 2017
babel.config.js Update RN to version 0.57.0 (mattermost#2131) Sep 20, 2018
index.js Added perf markers Jul 10, 2019
jsconfig.json Add recently used section (mattermost#1136) Nov 21, 2017
metro.config.js Upgrade to RN 0.59.6 and dependencies (mattermost#2777) May 13, 2019
package-lock.json Update device info ref (mattermost#2953) Jul 5, 2019
package.json
perf.js Added perf markers Jul 10, 2019
yarn.lock Upgrade to React Native 0.60 Jul 8, 2019

README.md

Mattermost Mobile

  • Supported Server versions: 4.10+
  • Supported iOS versions: 10.3+
  • Supported Android versions: 7.0+

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

You can download our apps from the App Store or Google Play Store, or build them yourself.

We plan on releasing monthly updates with new features - check the changelog for what features are currently supported!

Important: If you self-compile the Mattermost Mobile apps you also need to deploy your own Mattermost Push Notification Service.

How to Contribute

Testing

To help with testing app updates before they're released, you can:

  1. Sign up to be a beta tester
  2. Install the Mattermost Beta app. New updates in the Beta app are released periodically. You will receive a notification when the new updates are available.
  3. File any bugs you find by filing a GitHub issue with:
    • Device information
    • Repro steps
    • Observed behavior (including screenshot / video when possible)
    • Expected behavior
  4. (Optional) Sign up for our team site

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

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.

Can I connect to multiple Mattermost servers using the mobile apps?

At the moment, we only support connecting to one server at a time. If you need to connect to multiple servers, please upvote the feature request so we can track demand for it.

As a work around, you can install both the released "Mattermost" app and sign up to be a tester for the "Mattermost Beta" app so you can connect to two servers at once.

Will there be second generation apps available for tablets?

We plan to add support for tablets in the future, but the timeline depends on how many people have a need for it. If you're looking for a tablet version, please help us out by upvoting the feature request!

Troubleshooting

I keep getting a message "Cannot connect to the server. Please check your server URL and internet connection."

This sometimes appears when there is an issue with the SSL certitificate configuration.

To check that your SSL certificate is set up correctly, test the SSL certificate by visiting a site such as https://www.ssllabs.com/ssltest/index.html. If there’s an error about the missing chain or certificate path, there is likely an intermediate certificate missing that needs to be included.

Please note that the apps cannot connect to servers with self-signed certificates, consider using Let's Encrypt instead.

I see a “Connecting…” bar that does not go away

If your app is working properly, you should see a grey “Connecting…” bar that clears or says “Connected” after the app reconnects.

If you are seeing this message all the time, and your internet connection seems fine:

Ask your server administrator if the server uses NGINX or another webserver as a reverse proxy. If so, they should check that it is configured correctly for supporting the websocket connection for APIv4 endpoints.

You can’t perform that action at this time.