No description
Find a file
Michael Kochell 985070ee71
[MM-33766] Handle channel header call error (#5233)
* Apps bindings support (#5012)

* Add redux related information

* Add binding loading on channel refresh

* Add channel header and post option bindings

* Fix test

* Minor fixes

* Fix snapshots

* Handle errors and show bindings only on main channel

* Update Expand Levels keys and values to match latest changes

* Add NAVIGATE call response handling.

* Add more isolation to apps related code

* Add defaults to send ephemeral

* Update variable naming

* Rename shouldProcessApps by a more meaningful appsEnabled

* Embedded forms (#5169)

* Add redux related information

* Add binding loading on channel refresh

* Add channel header and post option bindings

* Fix test

* Minor fixes

* Fix snapshots

* Handle errors and show bindings only on main channel

* Update Expand Levels keys and values to match latest changes

* Add NAVIGATE call response handling.

* Add more isolation to apps related code

* Add Embedded Forms

* Fix snapshots

* Add Embedded Forms

* Improve naming, change the root element to be a binding and improve binding handling

* Get post down on the buttons, remove unneeded variables and minor fixes from the review

* Allow undefined bindings to fillBindingsInformation and add logging for error.

* Address review feedback

* Add App Forms (#5177)

* Add App Forms

* Address feedback and self review

* Add dynamic select

* Fixes and improvements

* Add the ability to refresh on submit.

* Use AppFormValue instead of redoing the type

* Address feedback

* [MM-31508] Rename URL to Path in Call (#5186)

* Add user agent to call context (#5193)

* Remove unneeded state reference (#5196)

* Change user agent query on fetch bindings (#5201)

* Add refresh websocket event to refetch bindings (#5194)

* Add refresh websocket event to refetch bindings

* Add missing changes

* Declare socket event constant and separate the handler to a different function

* Add binding validation on binding fetch (#5200)

* Apps commands (#5107)

* Add redux related information

* Add binding loading on channel refresh

* Add channel header and post option bindings

* Fix test

* Minor fixes

* Fix snapshots

* apps modals draft

* Handle errors and show bindings only on main channel

* Update Expand Levels keys and values to match latest changes

* Add NAVIGATE call response handling.

* Add more isolation to apps related code

* reuse command parser throughout slash_suggestion component's lifecycle

* fix prop and lint

* using alert to show error message. need another way

* duplicate import

* types

* types

* types

* rename file

* copy webapp parser and test

* dependencies moved. tests pass

* move app command parser into its own folder

* converted to typescript, all tests are passing

* automated and manual tests work

* lint

* lint

* remove fall throughs with blocks

* types

* doAppCall type

* extract displayError to deps file

* test types

* lint

* fix tests

* unused import

* PR feedback

* fix imports and show errors

* types

* remove execute suggestion for mobile

* watch feature flag

* fix tests

* change form text arugment behavior to show user input and not hint

* return call response error in doAppCall

* update tests to remove hint from text field suggestions

* lint

* use new base command structure

* fix tests

* wrap appsEnabled

* typescript actions/command.ts

* update app constants

* PR feedback

* fix error handling from doAppCall action

* Use App CallRequest structure (#5212)

* error handling

* move test files

* remove unused import

Co-authored-by: Daniel Espino García <larkox@gmail.com>

* Add feature flag (#5207)

* Add feature flag

* Simplify return

* Add localization, call validation and use call type on subpath (#5221)

* Add localization, call validation and use call type on subpath

* Add more localization to the parser and bring fixes from webapp

* Fix ephemerals and channel header / post options crashes

* fix app command parser deps and alert messages

* Improve suggestion handling

* Fix test

* Fix lint

* Return errors as error

* Address PR feedback

* return error property

* fix error string wordings

Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>

* leave the channel info screen when the call is successful. stay if there is an error

* fix intl in tests

Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-03-24 13:39:42 -04:00
.circleci Disable check deps CI job (#5214) 2021-03-08 13:46:49 -03:00
.github/workflows Create codeql-analysis (#5123) 2021-01-18 13:22:07 -07:00
.storybook [MM-28845]: Add storybook to mobile repo (#4870) 2020-11-02 15:41:07 +05:30
android Bump app build number to 347 (#5224) 2021-03-15 14:28:00 -03:00
app [MM-33766] Handle channel header call error (#5233) 2021-03-24 13:39:42 -04:00
assets Make createCall function and related functions return an error message to be shown at a higher level (#5239) 2021-03-24 11:52:54 +01:00
builds/nightlybeta jenkinsfile for weekly beta build (#1649) 2018-05-01 10:29:49 -03:00
detox MM-30428 Detox/E2E: Add e2e for MM-T3199, MM-T3223, MM-T3224 (#5240) 2021-03-24 22:13:10 +08:00
docs [MM-22959] Use Compass icons (#4847) 2020-10-15 15:34:24 -07:00
fastlane Fix deployment of iOS to TestFlight (#5208) 2021-03-05 09:08:26 -07:00
ios Bump app build number to 347 (#5224) 2021-03-15 14:28:00 -03:00
packager MM-31764 Fix image attachment layout when permanent sidebar is visible (#5115) 2021-01-13 14:57:04 -03:00
patches [MM-32587] [MM32602] Downgrade react-native-elements (#5156) 2021-02-05 11:04:16 -07:00
scripts Add check for empty translation source strings (#5044) 2021-01-04 16:05:10 +01:00
share_extension MM-30286 Detox/E2E: Add e2e test for MM-T3249 and added useful helpers (#4990) 2020-12-15 17:24:45 -08:00
storybook MM-29104: Add avatars component (#5001) 2021-01-11 16:09:13 +05:30
test Revert "[MM-29225] Define LSApplicationQueriesSchemes so Linking.canO… (#5067) 2021-01-06 09:11:27 -07:00
types Feature - Cloud Apps (#5226) 2021-03-22 18:02:06 -04:00
.buckconfig Initial commit 2016-10-04 14:10:44 -04:00
.editorconfig MM-11157 Switch ESLint to use eslint-config-mattermost (#2247) 2018-10-11 13:35:25 -04:00
.env [MM-28845]: Add storybook to mobile repo (#4870) 2020-11-02 15:41:07 +05:30
.eslintrc.json Upgrade Dependencies (#5103) 2021-01-13 12:36:31 -07:00
.flowconfig MM-26817 Upgrade to RN 0.63 (#4566) 2020-07-20 18:08:11 -04:00
.gitattributes Upgrade to RN 0.62.2 (#4093) 2020-04-14 16:39:51 -04:00
.gitignore [MM-28845]: Add storybook to mobile repo (#4870) 2020-11-02 15:41:07 +05:30
.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
babel.config.js [MM-28845]: Add storybook to mobile repo (#4870) 2020-11-02 15:41:07 +05:30
CHANGELOG.md Move mobile app changelog to admin docs (#4835) 2020-09-24 11:36:06 -07:00
CONTRIBUTING.md Remove outdated information from contributing file (#2759) 2019-05-02 08:25:41 -04:00
env.d.ts [MM-28845]: Add storybook to mobile repo (#4870) 2020-11-02 15:41:07 +05:30
index.js [MM-28845]: Add storybook to mobile repo (#4870) 2020-11-02 15:41:07 +05:30
ISSUE_TEMPLATE.md Update PR template and Issue template (#335) 2017-03-08 13:46:31 -03:00
jest.config.js Add eslint eol-last to require newline at end of files (#4985) 2020-11-30 21:46:05 -07:00
jsconfig.json Add recently used section (#1136) 2017-11-21 10:20:09 -05:00
LICENSE.txt Revert "Fix "{yyyy} {name of copyright owner}" in LICENSE.txt" (#2173) 2018-09-26 11:26:52 -03:00
metro.config.js Improve Ram-Bundles for Android and Enable on iOS (#4765) 2020-09-08 11:58:15 -03:00
NOTICE.txt Update NOTICE.txt (#4976) 2020-11-23 08:22:14 -03:00
package-lock.json Bump app version number to 1.41.0 (#5203) 2021-03-03 19:52:40 -07:00
package.json Bump app version number to 1.41.0 (#5203) 2021-03-03 19:52:40 -07:00
PULL_REQUEST_TEMPLATE.md [MM-23520] Port mattermost-redux (#4088) 2020-03-31 11:09:26 -07:00
react-native.config.js Add eslint eol-last to require newline at end of files (#4985) 2020-11-30 21:46:05 -07:00
README.md Typo error update in README.md (#4950) 2020-12-10 09:16:33 -03:00
SECURITY.md Update wording in SECURITY.md (#3789) 2020-01-16 01:44:56 +01:00
tsconfig.json update dependencies (#4958) 2020-11-18 19:45:07 -07:00
tsconfig.test.json Port WebSocket from mm-redux and batch actions (#4060) 2020-03-26 21:23:50 -03:00

Mattermost Mobile

  • Minimum Server versions: Current ESR version (5.25)
  • Supported iOS versions: 11+
  • 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
    • Android
    • iOS - Open this link from your iOS device
  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

You can leave the Beta testing program at any time:

  • On Android, click this link while logged in with your Google Play email address used to opt-in for the Beta program, then click Leave the program.
  • On iOS, access the Mattermost Beta app page in TestFlight and click Stop Testing.

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

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