No description
Find a file
Lucas Reis d38bf60050
Disable Animations when Accessibility configuration is to remove it (#8743)
* feat: add support for reduced motion in BottomSheet and TabBar components

* fix: remove reduceMotion option from animation timing in login, onboarding, and server screens

* feat: integrate reduced motion support to the entire app and switch accordingly

* feat: positions the Login screen differently if animations are disabled

* fix: remove mock implementation of useReducedMotion in react-native-reanimated

* revert login screen

* fix: remove unused effect that resets translateX value in LoginOptions

* feat: add reduced motion support to ForgotPassword screen and reset translateX on LoginOptions mount

* feat: integrate reduced motion support in Onboarding and Slide components

* feat: add reduced motion support to MFA and SSO screens

* feat: update ReducedMotionConfig to use system preference in withServerDatabase

* refactor: remove ReducedMotionConfig from withServerDatabase component

* feat: remove reduced motion configuration from screens and adjust animations accordingly

* feat: integrate reduced motion handling in Server component animations

* feat: enhance BottomSheet animation with reduced motion support and update test setup for react-native-reanimated

* fix: update channel list row snapshots with collapsable and animated props

* test: update react-native-reanimated mock setup for improved testing

* fix: enhance react-native-reanimated mock to support reduced motion and prevent default call

* fix: refactor animationConfigs to use useMemo for improved performance and clarity

* feat: implement screen transition animation hook and integrate it into ForgotPassword screen

* fix: refactor LoginOptions to utilize useScreenTransitionAnimation for improved animation handling

* refactor: streamline MFA component by removing unused imports and integrating useScreenTransitionAnimation for enhanced transitions

* refactor: simplify Onboarding component by removing unused imports and integrating useScreenTransitionAnimation for smoother transitions

* refactor: enhance useScreenTransitionAnimation hook to support animated transitions and integrate it into Server component

* refactor: replace custom animation logic with useScreenTransitionAnimation in SSO component for improved transition handling
2025-06-26 11:25:48 +02:00
.github fix android sbom path (#8953) 2025-06-19 14:38:46 +03:00
.husky Push react native to 0.73.6 (#7863) 2024-04-22 12:44:39 +02:00
android Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
app Disable Animations when Accessibility configuration is to remove it (#8743) 2025-06-26 11:25:48 +02:00
assets Translated using Weblate (Swedish) 2025-06-23 13:46:59 +00:00
build/notice-file Add "APNG4Android" to ignoreDependencies in config.yaml (#8741) 2025-04-02 09:34:25 +03:00
detox Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
docs MM-63935 - docs abac end user indicators db schema updates (#8893) 2025-06-12 14:29:13 +02:00
eslint Update dependencies (#8721) 2025-04-07 09:30:06 +08:00
fastlane Update supported ESR version (#8835) 2025-05-16 09:28:47 +03:00
ios Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
libraries/@mattermost Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
patches Disable Animations when Accessibility configuration is to remove it (#8743) 2025-06-26 11:25:48 +02:00
scripts Add watchman watch-del to clean script (#8797) 2025-04-24 19:05:30 -03:00
share_extension Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
test Disable Animations when Accessibility configuration is to remove it (#8743) 2025-06-26 11:25:48 +02:00
types Ability to show quick action and add files to edit post (#8926) 2025-06-25 16:04:08 +05:30
.buckconfig Barebones code for v2 2020-11-17 14:20:58 -03:00
.editorconfig MM-35115 [Gekidou] Login flow - Email and Password (#5402) 2021-06-18 00:57:40 -04:00
.flowconfig [Gekidou] Upgrade to RN 0.70 (#6690) 2022-10-20 10:18:25 -03:00
.gitattributes Update v2 dependencies (#5312) 2021-04-14 10:55:29 -04:00
.gitignore chore: add .aider* to gitignore (#8425) 2024-12-18 11:35:39 -07:00
.node-version chore(deps-dev): allow devs to use Node.js 22 (LTS) (#8657) 2025-03-24 16:28:11 -06:00
.npmrc MM-54535 Fixed hang when using the magic keyboard on iPadOS 17 (#7555) 2023-09-27 18:54:33 +03:00
.nvmrc chore(deps-dev): allow devs to use Node.js 22 (LTS) (#8657) 2025-03-24 16:28:11 -06:00
.ruby-version bump Ruby verison (#8315) 2024-11-07 12:34:24 -04:00
.solidarity Update dependencies and upgrade to RN 0.76.5 (#8421) 2025-01-16 07:11:32 -07:00
.watchmanconfig Barebones code for v2 2020-11-17 14:20:58 -03:00
app.json Barebones code for v2 2020-11-17 14:20:58 -03:00
babel.config.js E2E feature schedule posts (#8709) 2025-04-23 12:10:37 +05:30
CHANGELOG.md Barebones code for v2 2020-11-17 14:20:58 -03:00
CONTRIBUTING.md Barebones code for v2 2020-11-17 14:20:58 -03:00
env.d.ts E2E feature schedule posts (#8709) 2025-04-23 12:10:37 +05:30
eslint.config.mjs Update dependencies (#8721) 2025-04-07 09:30:06 +08:00
Gemfile Update dependencies and upgrade to RN 0.76.5 (#8421) 2025-01-16 07:11:32 -07:00
Gemfile.lock Update dependencies and upgrade to RN 0.76.5 (#8421) 2025-01-16 07:11:32 -07:00
index.ts E2E feature schedule posts (#8709) 2025-04-23 12:10:37 +05:30
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md (#7080) 2023-02-03 08:55:40 -05:00
jest.config.js ci(MM-63199): code coverage tracking (#8642) 2025-03-14 13:21:25 -06:00
jsconfig.json Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
LICENSE.txt Barebones code for v2 2020-11-17 14:20:58 -03:00
metro.config.js Upgrade RN as well as update or replace other dependencies (#8011) 2024-06-19 09:33:45 +08:00
NOTICE.txt Update NOTICE.txt (#8957) 2025-06-23 14:58:39 +03:00
package-lock.json Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
package.json Secure Files and preview PDF inline (#8844) 2025-06-19 15:30:56 +08:00
PULL_REQUEST_TEMPLATE.md Barebones code for v2 2020-11-17 14:20:58 -03:00
react-native.config.js Update v2 dependencies (#5312) 2021-04-14 10:55:29 -04:00
README.md Update supported ESR version (#8835) 2025-05-16 09:28:47 +03:00
SECURITY.md Barebones code for v2 2020-11-17 14:20:58 -03:00
tsconfig.json Remove app alias for imports (#8314) 2024-11-07 08:34:49 +08:00
tsconfig.test.json Barebones code for v2 2020-11-17 14:20:58 -03:00

Mattermost Mobile v2

  • Minimum Server versions: Current ESR version (10.5.0+)
  • Supported iOS versions: 15.1+
  • Supported Android versions: 7.0+

Mattermost is an open source Slack-alternative used by thousands of companies around the world in 21 languages. Learn more at https://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.

I need the code for the v1 version

You can still access it! We have moved the code from master to the v1 branch. Be aware that we will not be providing any more v1 versions or updates in the public stores.

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.