No description
Find a file
Chris Duarte f5d77fcebc Add Channel Info Edit options to ChannelInfo screen (#1189)
* Add Channel Info Edit options to ChannelInfo screen

Refactor CreateChannel to CreateChannel and ChannelInfo

Add EditChannel screen

add updateChannelRequest

display header option only if channel is DM or GM

Add editing prop to ChannelInfo

Add saving state to ChannelInfo

Clean up EditChannel and change saving to updating

Add channel name (url) field in EditChannel

Clean up enableRightButton logic for EditChannel

Add error handling for EditChannel fields

Remove leftButton declaration from EditChannel

Add wrapWithPreventDoubleTap to click handlers in ChannelInfo

Move channel info to parent component (CreateChannel)

Add editing support for channel info in parent component

Remove ownProps from connected components

Remove passing parent props using the spread operator

* Strip out channel url field from EditChannel

* Comment out channelUrl textInput ref

Make eslint happy

* Remove injectIntl in favor of intl context props

* Add mobile prefix to json string

* Remove unnecessary actions declaration in ChannelInfo

* Refactor creating | editing to saving

* Safe check refs when blurring in ChannelInfo

* pass channelType for displayingHeaderOnly in EditChannelInfo

* Refactor ChannelInfo component to EditChannelInfo

* pass 1to1 props instead of object

* Add required to certain props in EditChannelInfo

* Use Stylesheet for container styles

* Add InvalidPermission method when updating channel

* Clean up onDisplayNameChangeText and safe check scrollToEnd

* Add {deviceWidth, deviceHeight} from redux

* Remove style.navTitle

* Add wrapper methods for delete and leave channel

* remove alertErrorIfInvalidPermissions

* Fix mobile localization strings to use prefix mobile.-

* Add TODO for channel URL
2017-11-28 19:48:51 -03:00
android Version Bump to 65 (#1187) 2017-11-21 18:10:34 -03:00
app Add Channel Info Edit options to ChannelInfo screen (#1189) 2017-11-28 19:48:51 -03:00
assets Add Channel Info Edit options to ChannelInfo screen (#1189) 2017-11-28 19:48:51 -03:00
docs Allow profile button configuration (#947) 2017-10-27 14:15:14 -04:00
fastlane Update fastlane (#1107) 2017-11-08 13:09:52 -03:00
ios Make layout compatible with iPhone X (#1205) 2017-11-28 09:04:53 -03:00
scripts White label login options screen - Experimental (#944) 2017-10-26 10:35:49 -07:00
test RN-173 Added support for Markdown images (#1202) 2017-11-28 11:00:28 -03:00
.babelrc Babel plugin to remove console.* in production (#1048) 2017-10-23 09:01:43 -03: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 Updated .eslintrc.json and disabled exception handler in dev mode (#712) 2017-07-05 10:52:35 -04:00
.flowconfig Upgrade RN (#1102) 2017-11-07 13:34:39 -03:00
.gitattributes Fastlane for Android and ios (#165) 2017-01-19 09:35:40 -05:00
.gitignore Update fastlane (#1107) 2017-11-08 13:09:52 -03: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
app.json Upgrade RN (#1102) 2017-11-07 13:34:39 -03:00
CHANGELOG.md Update CHANGELOG.md 2017-11-15 20:41:56 -03:00
CONTRIBUTING.md Proposed changes to contributor guidelines (#44) 2016-10-19 13:33:44 -07:00
ImagePickerModule.java Handle Image picker permissions (#1064) 2017-10-26 09:17:56 -03:00
index.js Upgrade RN (#1102) 2017-11-07 13:34:39 -03:00
ISSUE_TEMPLATE.md Update PR template and Issue template (#335) 2017-03-08 13:46:31 -03:00
jsconfig.json Add recently used section (#1136) 2017-11-21 10:20:09 -05:00
LICENSE.txt Adding Apache 2.0 license 2016-10-11 09:14:00 -07:00
Makefile Fix run make commands (#1197) 2017-11-22 14:33:54 -03:00
NOTICE.txt Notices (#1220) 2017-11-28 12:30:01 -03:00
package.json Package fix. (#1215) 2017-11-28 11:38:21 -03:00
PULL_REQUEST_TEMPLATE.md PLT-5857 replace the service folder with mattermost-redux library (#348) 2017-03-14 10:52:24 -03:00
README.md Fix missing newline in compilation instructions (#1049) 2017-10-23 16:30:40 -03:00
rn-cli.config.js project folder structure (#107) 2016-12-09 10:34:17 -05:00
yarn.lock Package fix. (#1215) 2017-11-28 11:38:21 -03:00

Mattermost Mobile

Supported Server Versions: 4.0+

Supported iOS versions: 9.3+ Supported Android versions: 5.0+

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

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

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

How to Contribute

Testing

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

  1. Sign up to be a beta tester
  1. Install the Mattermost Beta app
  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
  1. (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 youre 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
    
    • You can create a file named assets/override/config.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.

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 theres 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.

Issues building app for own device using make build-*

That command is an internal pipeline command for mattermost mobile to publish the mobile apps to Apple App Store and Google Play Store. All make build-* commands should be avoided for this reason.

To build the modified react native client use the instructions for Running on Device from the React Native Guide.