snapshot of https://github.com/mattermost/mattermost.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s

This commit is contained in:
upstream-mirror
2026-09-16 00:29:55 +05:00
commit 240db4e2a7
15309 changed files with 2173406 additions and 0 deletions

View File

@@ -0,0 +1,301 @@
---
title: "Access your workspace"
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
<PlanAvailability slug="all-commercial" />
Access your Mattermost instance with your credentials using a web browser, the desktop app, or the mobile app for iOS or Android. Depending on how Mattermost is configured, you'll log in using your email address, username, or single sign-on (SSO) username, and your password. See the [Client availability](/end-user-guide/access/client-availability) documentation to learn which features are available on different Mattermost clients.
<Tip>
Can't find your Mattermost link? Ask your company's IT department or your Mattermost system admin for your organization's **Mattermost Site URL**. It'll look something like `https://example.com/company/mattermost`, `mattermost.yourcompanydomain.com`, or `chat.yourcompanydomain.com`. These URLs could also end in `.net`.
</Tip>
<Tabs>
<TabItem value="web-desktop" label="Web/Desktop">
## Web browser
1. Open a supported [web browser](/deployment-guide/software-hardware-requirements#pc-web).
2. Copy and paste the Mattermost server link into the browser's address field.
3. Enter your user credentials to log into Mattermost.
4. Bookmark the Mattermost URL in your web browser of choice so logging into Mattermost is easy in the future.
## Desktop app
1. Download and install the Mattermost desktop app from the App Store (macOS), Microsoft Store (Windows), or by [using a package manager (Linux)](/deployment-guide/desktop/linux-desktop-install).
2. When prompted, enter the Mattermost server link and a display name for the Mattermost instance. The display name is helpful in cases where you connect to multiple Mattermost instances. See the [server connections](/end-user-guide/preferences/connect-multiple-workspaces) documentation for details.
3. Enter your user credentials to log into Mattermost.
4. If the server requires an authentication secret, you'll be prompted to enter it when you connect. Enter the secret provided by your system admin and select **OK**. See the [troubleshooting](#troubleshooting-authentication-secrets) section below for help if you're having issues.
5. The team that displays first in the team sidebar opens. If you're not a member of a team yet, you're prompted to select a team to join.
<Note>
When you log into Mattermost using external user credentials, such as Google or Entra ID, you'll temporarily leave the desktop app during login while authenticating your credentials. Once you're successfully logged in to Mattermost, you'll be returned to the desktop app. See the [Single Sign-On (SSO)](#single-sign-on-sso) section below for details on the external providers that Mattermosts supports.
</Note>
</TabItem>
<TabItem value="mobile" label="Mobile">
1. Download and install the Mattermost mobile app from the [Apple App Store (iOS)](https://www.apple.com/app-store/) or [Google Play Store (Android)](https://play.google.com/store/games?hl=en).
2. When prompted, enter the Mattermost server link and a display name for the Mattermost instance. Server URLs must begin with either `http://` or `https://`. The display name is helpful in cases where you connect to multiple Mattermost instances. See the [server connections](/end-user-guide/preferences/connect-multiple-workspaces) documentation for details.
3. Enter your user credentials to log into Mattermost.
4. Optionally toggle the **Advanced Options** section to enter an **Authentication secret**. This is an additional security measure that some organizations use. Your system admin can provide you with the secret if required. See the [troubleshooting](#troubleshooting-authentication-secrets) section below for help if you're having issues.
5. The team that displays first in the team sidebar opens. If you're not a member of a team yet, you're prompted to select a team to join.
</TabItem>
<TabItem value="mobile-via-microsoft-intune" label="Mobile via Microsoft Intune">
When your organization uses Microsoft Intune App Protection to secure Mattermost on iOS mobile devices, you must enroll to access Mattermost on mobile. Enrollment adds extra protection to work data while keeping your personal device and apps private.
## What to Expect
Each time you sign in, Mattermost checks the Intune App Protection Policy applied to your account and automatically enroll your account before you can access your workspace. After enrollment, your Mattermost experience generally stays the same, but some restrictions may be enforced.
Intune protections apply **per Mattermost workspace** (the Mattermost server you sign in to). If you have access to multiple Mattermost workspaces, each workspace may have different protections and requirements in place. This guide explains what to expect when the workspace you are connecting to is protected by Intune.
<Note>
- Intune protections are based on your **user account**, not your Mattermost role or permissions.
- Intune policies are controlled by your organization, not by Mattermost.
- Intune enrollment applies only when you sign in using your organization’s **Microsoft/Entra ID** sign-in method (for example, **Sign in with Microsoft**). If you sign in using a different method (such as email/password or another SSO provider), Intune App Protection may not be applied for that workspace.
- If you’re unsure which sign-in option to use, contact your IT support team.
</Note>
## Sign In to Enroll
To sign in and enroll your iOS device:
1. Open the Mattermost mobile app on your iOS device.
2. Sign in with Microsoft (your organization’s sign-in option).
3. Enter your credentials.
4. When enrollment completes, you are notified.
5. If your organization’s Intune App Protection Policy requires it, you’ll be prompted to set a PIN to protect your work data. Once the PIN is confirmed, the Mattermost Mobile App unlocks access to your workspace.
Enrollment happens automatically during sign-in. If you cancel the sign-in flow before it completes, return to the sign-in flow and finish signing in to continue using Mattermost on that device.
## Mid-Session Enrollment
If enrollment is triggered while you're already signed in, you may be prompted to confirm your Microsoft sign-in again. This is expected and typically takes only a few seconds.
If you tap **Cancel**, you won’t be able to continue using Mattermost on that device until enrollment succeeds. You can retry immediately, or [log out](#what-happens-when-i-log-out-manually) and retry later.
## What Changes After Enrollment?
Your organization’s Intune App Protection Policy may restrict how you copy, capture, save, and share data from Mattermost. The exact behavior depends on the specific policy settings your organization has configured.
### Screenshot and Screen Recording Restrictions
Depending on your organization’s policy, you may not be able to take screenshots or record your screen while using Mattermost. If screenshot or screen recording is blocked, your device may still show the screenshot or recording UI, but the content may not be captured.
### File Save Restrictions
Depending on policy, you may not be able to save files from Mattermost to personal or unmanaged locations. Files may be limited to locations approved by your organization.
### Browser and Sharing Restrictions
Depending on policy, links may open only in an approved browser and sharing may be restricted to managed apps. If you try to open a link in an unapproved browser or share content to an unmanaged app, the action may be blocked.
## Frequently Asked Questions
### What Happens If I Leave the Organization or Lose My Device?
If you leave the organization, or your device is lost or compromised, your IT support team can wipe Mattermost work data from your iOS device. This is called a **selective wipe**.
A selective wipe means that:
- Only Mattermost work data is removed from your device.
- Personal apps, photos, and files are untouched.
- You are logged out of the affected Mattermost workspace.
- Other Mattermost workspaces on your device remain unaffected.
### Why Can’t I Access Mattermost After Enrollment?
Mattermost may restrict access after enrollment if Intune detects a risk, such as:
- Your device operating system is out of date
- The device is too old to meet security requirements
- A jailbroken device is detected
- Malware is detected
- Re-authentication is required
If this occurs, Intune blocks access and displays an error message in the Mattermost mobile app explaining what action is required. Contact your IT support team for help.
### What Happens When I Log Out Manually?
When you log out of Mattermost:
- All workspace data is securely removed from the device.
- Intune protection for that workspace is removed.
You can sign back in with Microsoft if you need access again.
</TabItem>
</Tabs>
## Reset your password
If you've forgotten your password, you can reset it on the login screen by selecting **Forgot your password?**, or by contacting your system admin for assistance.
## Magic link login for guests
<PlanAvailability slug="entry-ent" />
From Mattermost v11.3, guests can log in to Mattermost without a password using a secure link sent to their email address when [enabled by the system admin](/administration-guide/onboard/guest-accounts#configure-magic-links-for-guests). The magic link login provides a streamlined passwordless authentication option for guest users.
If you've been invited as a guest to a Mattermost workspace, enter your email address on the login screen. You'll receive an email with a link to log in without a password. The link expires in 48 hours for security purposes. To log in again at a later time, enter your email address on login to receive a new login link by email that expires in 5 minutes.
<Important>
- Magic link security depends on your email account security.
- Never share your magic link with anyone else, as doing so would give that person full access to your account.
</Important>
## Email address or username
When [account creation with email](/administration-guide/configure/authentication-configuration-settings#enable-account-creation-with-email) is enabled by your system admin, you can log in with the username or email address used to create a Mattermost account.
![Log in to Mattermost with your username or email address, or reset your password.](/images/login-email-username.png)
## Single Sign-On (SSO)
When enabled by your system admin, you may log in using your GitLab, Google, Entra ID, AD/LDAP, or SAML credentials.
<Tabs>
<TabItem value="gitlab" label="GitLab">
When enabled by your system admin, you can log in with your GitLab account using a one-click login option.
![Log in to Mattermost using your GitLab credentials.](/images/login-gitlab.png)
</TabItem>
<TabItem value="google" label="Google">
When enabled by your system admin, you can log in with your Google account using a one-click login option.
![Log in to Mattermost using your Google Apps credentials.](/images/login-google.png)
</TabItem>
<TabItem value="entra-id" label="Entra ID">
When enabled by your system admin, you can log in with your Entra ID account using a one-click login option.
![Log in to Mattermost with your Entra ID credentials.](/images/sign-in-entraid.png)
</TabItem>
<TabItem value="ad-ldap" label="AD/LDAP">
When enabled by your system admin, you can log in with your AD/LDAP credentials. This lets you use the same username and password for Mattermost that you use for various other company services.
![Log in to Mattermost with your AD/LDAP credentials.](/images/login-ad.png)
</TabItem>
<TabItem value="saml" label="SAML">
When enabled by your system admin, you can log in with your SAML credentials. This lets you use the same username and password for Mattermost that you use for various other company services.
Mattermost officially supports [Okta](/administration-guide/onboard/sso-saml-okta), [OneLogin](/administration-guide/onboard/sso-saml-onelogin), and Microsoft ADFS as an identity provider (IDP) for SAML, but you may use other SAML IDPs as well. See our [SAML Single Sign-On documentation](/administration-guide/onboard/sso-saml) to learn more about configuring SAML for Mattermost.
![Log in to Mattermost with SAML credentials, such as OneLogin.](/images/login-onelogin.png)
</TabItem>
</Tabs>
## Multi-factor authentication
If your system admin [enables multi-factor authentication](/administration-guide/onboard/multi-factor-authentication#enabling-mfa) for your Mattermost instance, you can [optionally set up multi-factor authentication](/end-user-guide/preferences/manage-your-security-preferences) for your Mattermost user account by selecting your profile picture located in the top-right corner of Mattermost, and going to **Security \> Multi-Factor Authentication**.
If your system admin [enforces multi-factor authentication](/administration-guide/onboard/multi-factor-authentication#enforcing-mfa), you are required to [set up multi-factor authentication](/end-user-guide/preferences/manage-your-security-preferences) for your Mattermost account. When you attempt to log in to Mattermost, you're directed to the multi-factor authentication setup page. You won't be able to access Mattermost until multi-factor setup is complete. If you encounter issues setting up multi-factor authentication, contact your Mattermost system admin for assistance.
## Troubleshooting authentication secrets
If you're having trouble connecting to a Mattermost server that requires an authentication secret, consider the following troubleshooting tips:
- **Authentication secrets are case-sensitive**: Ensure you're entering the secret exactly as provided, including any uppercase letters, numbers, or special characters.
- **Spaces matter**: Don't add extra spaces before or after the secret.
- **Copy/paste issues**: If copying the secret from a document, ensure you're not accidentally copying extra characters. It may be safer to type it manually.
- **Contact your administrator**: If you continue experiencing issues, contact your IT department or Mattermost system administrator. They can verify the secret is configured correctly on the server side.
<Tabs>
<TabItem value="desktop" label="Desktop">
If you're having trouble connecting to a server with an authentication secret:
<table>
<colgroup>
<col style={{width: '40%'}} />
<col style={{width: '60%'}} />
</colgroup>
<thead>
<tr>
<th>Issue</th>
<th>What To Do</th>
</tr>
</thead>
<tbody>
<tr>
<td>Error: <strong>Server authentication required</strong></td>
<td>Your server requires an authentication secret. Enter the secret provided by your system administrator in the modal that appears.</td>
</tr>
<tr>
<td>Error: <strong>The provided authentication secret is incorrect</strong></td>
<td>The secret you entered doesn't match the server's configuration. Verify with your system admin that you have the correct secret (secrets are case-sensitive).</td>
</tr>
<tr>
<td><strong>Connection works but then stops</strong></td>
<td>Your organization may have rotated the authentication secret. Try connecting again. The app will automatically prompt you to enter the new secret.</td>
</tr>
<tr>
<td><strong>Modal doesn't appear</strong></td>
<td>If you're not seeing the authentication prompt, try removing the server and adding it again. This will reset all stored credentials.</td>
</tr>
</tbody>
</table>
</TabItem>
<TabItem value="mobile" label="Mobile">
If you're having trouble connecting to a server with an authentication secret:
<table>
<colgroup>
<col style={{width: '40%'}} />
<col style={{width: '60%'}} />
</colgroup>
<thead>
<tr>
<th>Issue</th>
<th>What To Do</th>
</tr>
</thead>
<tbody>
<tr>
<td>Error: <strong>"Authentication secret is invalid"</strong></td>
<td>Tap on the server entry, tap <strong>Edit</strong>, expand <strong>Advanced Options</strong>, verify the secret is entered correctly, and tap <strong>Save</strong> to retry.</td>
</tr>
<tr>
<td><strong>Forgot to enter secret during setup</strong></td>
<td>Tap on the server entry, tap <strong>Edit</strong>, expand <strong>Advanced Options</strong>, enter the secret in the <strong>Authentication secret</strong> field, and tap <strong>Save</strong>.</td>
</tr>
<tr>
<td><strong>Need to update secret after rotation</strong></td>
<td>Swipe left on the server, tap <strong>Edit</strong>, expand <strong>Advanced Options</strong>, update the <strong>Authentication secret</strong> field with the new value, and tap <strong>Save</strong>.</td>
</tr>
<tr>
<td><strong>Error persists with correct secret</strong></td>
<td>Try removing the server completely and adding it again with the authentication secret entered during initial setup.</td>
</tr>
</tbody>
</table>
</TabItem>
</Tabs>

View File

@@ -0,0 +1,550 @@
---
title: "Client availability"
---
import useBaseUrl from '@docusaurus/useBaseUrl';
<PlanAvailability slug="all-commercial" />
The following tables highlight the end user features of Mattermost and their support across Web, Desktop, and Mobile applications (iOS and Android).
## Messages
<table>
<colgroup>
<col style={{width: '40%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
</colgroup>
<thead>
<tr>
<th>Feature</th>
<th>Web</th>
<th>Desktop</th>
<th>Mobile</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/end-user-guide/collaborate/organize-conversations">Threaded discussions</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/format-messages#use-markdown">Format messages with Markdown</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td>Partial Support</td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/react-with-emojis-gifs">Emojis</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/react-with-emojis-gifs#quick-emoji-reactions">Emoji reactions</a></td>
<td></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/share-files-in-messages">File sharing</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/mention-people">@mentions</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/search-for-messages#hashtags">Search hashtags</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/search-for-messages#search-modifiers">Search modifiers</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td>Search highlighting</td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/save-pin-messages">Pin and save messages</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/share-files-in-messages#preview-file-attachments">Preview image links</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/administration-guide/configure/site-configuration-settings#enable-website-link-previews">Preview websites</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/preferences/manage-your-notifications">Notifications</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/manage-channel-bookmarks">Bookmark channels</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
</tbody>
</table>
## Channels
<table>
<colgroup>
<col style={{width: '40%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
</colgroup>
<thead>
<tr>
<th>Feature</th>
<th>Web</th>
<th>Desktop</th>
<th>Mobile</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/end-user-guide/collaborate/create-channels">Create a new channel</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/join-leave-channels#join-a-channel">Join a channel</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/join-leave-channels#leave-a-channel">Leave a channel</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/favorite-channels">Favorite a channel</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/preferences/manage-your-channel-specific-notifications#mute-channels">Mute a channel</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/manage-channel-members">Manage members</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/manage-channel-members#add-members-to-a-channel">Add members</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/rename-channels">Rename channels</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/administration-guide/configure/user-management-configuration-settings#deactivate-users">Deactivate members</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td></td>
</tr>
</tbody>
</table>
## Teams
<table>
<colgroup>
<col style={{width: '40%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
</colgroup>
<thead>
<tr>
<th>Feature</th>
<th>Web</th>
<th>Desktop</th>
<th>Mobile</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/end-user-guide/preferences/manage-your-notifications">Multi-team support for notifications</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/organize-using-teams">Team switching</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/preferences/customize-your-theme">Team-based theming</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/team-settings">Team settings</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/organize-using-teams#join-a-team">Join existing team</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/organize-using-teams#create-a-team">Create a new team</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/invite-people">Share an invite link</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/invite-people">Invite people</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/administration-guide/manage/team-channel-members#teams">Manage team members</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/organize-using-teams#leave-a-team">Leave team</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
</tbody>
</table>
## Collaborative playbooks
<table>
<colgroup>
<col style={{width: '40%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
</colgroup>
<thead>
<tr>
<th>Feature</th>
<th>Web</th>
<th>Desktop</th>
<th>Mobile</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/end-user-guide/workflow-automation/work-with-playbooks">Collaborative playbooks</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td></td>
</tr>
</tbody>
</table>
## Calls
<table>
<colgroup>
<col style={{width: '40%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
</colgroup>
<thead>
<tr>
<th>Feature</th>
<th>Web</th>
<th>Desktop</th>
<th>Mobile</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/end-user-guide/collaborate/make-calls#join-a-call">Join call</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/make-calls#share-your-screen">Share screen</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/make-calls#chat-in-a-call">Chat in thread</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/make-calls#react-using-emojis">React with emoji</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/collaborate/make-calls#record-a-call">Record a call</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
</tbody>
</table>
## Integrations
<table>
<colgroup>
<col style={{width: '40%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
</colgroup>
<thead>
<tr>
<th>Feature</th>
<th>Web</th>
<th>Desktop</th>
<th>Mobile</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/end-user-guide/workflow-automation/interact-with-playbooks#slash-commands">Slash commands</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td>Partial Support</td>
</tr>
<tr>
<td><a href="/integrations-guide/popular-integrations">Server-side plugins</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="https://developers.mattermost.com/integrate/plugins/interactive-dialogs/">Interactive dialogs</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td></td>
</tr>
<tr>
<td><a href="https://developers.mattermost.com/integrate/apps/authentication/oauth2/">OAuth 2.0</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="https://developers.mattermost.com/integrate/webhooks/incoming/">Incoming webhooks</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="https://developers.mattermost.com/integrate/webhooks/outgoing/">Outgoing webhooks</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="https://developers.mattermost.com/integrate/reference/mm-blocks/">Mattermost Blocks</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Included" width="16" height="16" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Included" width="16" height="16" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Included" width="16" height="16" /></td>
</tr>
<tr>
<td><a href="https://developers.mattermost.com/integrate/reference/message-attachments/">Message attachments</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="https://developers.mattermost.com/integrate/plugins/interactive-messages/#message-buttons">Message buttons</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="https://developers.mattermost.com/integrate/plugins/interactive-messages/#message-menus">Message menus</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="https://developers.mattermost.com/integrate/plugins/components/webapp/actions/">Message actions</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td></td>
</tr>
<tr>
<td><a href="https://developers.mattermost.com/integrate/reference/server/">Right-hand sidebar</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td></td>
</tr>
</tbody>
</table>
## Authentication
<table>
<colgroup>
<col style={{width: '40%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
</colgroup>
<thead>
<tr>
<th>Feature</th>
<th>Web</th>
<th>Desktop</th>
<th>Mobile</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/end-user-guide/access/access-your-workspace#email-address-or-username">Email password login</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/administration-guide/onboard/ad-ldap">AD/LDAP</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/administration-guide/onboard/sso-saml">SAML SSO</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/administration-guide/onboard/sso-gitlab">GitLab SSO</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/administration-guide/onboard/sso-entraid">Entra ID SSO</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/administration-guide/onboard/sso-google">Google SSO</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
</tbody>
</table>
## Other
<table>
<colgroup>
<col style={{width: '40%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
<col style={{width: '20%'}} />
</colgroup>
<thead>
<tr>
<th>Feature</th>
<th>Web</th>
<th>Desktop</th>
<th>Mobile</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/end-user-guide/preferences/manage-your-display-options#language">Localization for 22 languages</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/preferences/customize-your-theme">Custom user interface themes</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/preferences/manage-your-profile">User profile settings</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
<tr>
<td><a href="/end-user-guide/preferences/manage-your-channel-specific-notifications">Channel notification settings</a></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
<td><img src={useBaseUrl('/img/ui/checkmark.svg')} alt="Supported" className="theme-icon" /></td>
</tr>
</tbody>
</table>
### What feature quality levels does Mattermost have?
We strive to release viable features. This means that we put in a significant amount of effort to ensure we solve a use case with a high bar for quality. A feature that's viable and meets our criteria for our production quality levels will be released to production.
However, when working on large and complex features or new products, we may need to test them with a high volume of customers and users. For these scenarios, we'll release them as [Experimental](/administration-guide/manage/feature-labels#experimental) or [Beta](/administration-guide/manage/feature-labels#beta), and implement feature flags and/or A/B testing to validate the effectiveness of features prior to production-level release. Additionally, we [dogfood our features](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) on our community server, and provide many configuration options that ensure customers can opt-in when trying experimental or beta features.
See the [Mattermost feature labels](/administration-guide/manage/feature-labels) documentation for details on the status, maturity, and support level of each feature, and what you can expect at each level.

View File

@@ -0,0 +1,24 @@
---
title: "Install the Mattermost Android mobile app"
---
<PlanAvailability slug="all-commercial" />
Take Mattermost wherever you go by [installing the Mattermost mobile app](https://play.google.com/store/apps/details?id=com.mattermost.rn) on your Android mobile device running Android 7.0 or later.
1. On your device, visit the Play Store.
2. Search for "Mattermost" and select **INSTALL** to download the app.
3. Open Mattermost from your homescreen and enter your team and account information to login:
1. **Enter Server URL:** This is the web address you go to when you want to access Mattermost. See the [access your workspace](/end-user-guide/access/access-your-workspace) documentation for additional details.
2. Enter your credentials as specified by your Mattermost system admin. Select **Log in**.
<Tip>
You can set up multi-factor authentication for Mattermost if your system admin has [enabled your ability to do so](/administration-guide/configure/authentication-configuration-settings#enable-multi-factor-authentication). See the [manage security preferences](/end-user-guide/preferences/manage-your-security-preferences) documentation for details.
</Tip>
## Mattermost on Chromebooks
Mattermost Android mobile app for Android isn't supported on Chromebooks. While some Android applications can run on ChromeOS devices, the Mattermost app isn't optimized for this environment and may not function as expected.
For the best experience on Chromebooks, we recommend accessing Mattermost through the web app using the Chrome browser. Alternatively, ChromeOS users can also choose to install the web app as a Progressive Web App (PWA) directly from the browser for an app-like experience with a desktop icon and windowed view.

View File

@@ -0,0 +1,60 @@
---
title: "Install the Mattermost desktop app"
---
<PlanAvailability slug="all-commercial" />
Download and install the Mattermost desktop app [for macOS from the App Store](https://apps.apple.com/us/app/mattermost-desktop/id1614666244?mt=12), [for Windows from the Microsoft Store](https://apps.microsoft.com/detail/xp8br8mh3lpklt?hl=en-US&gl=US), or by [using a package manager (Linux)](/deployment-guide/desktop/linux-desktop-install).
We strongly recommend installing the desktop app on a local drive. Network shares aren't supported.
1. When prompted, enter the Mattermost server link and a display name for the Mattermost instance. The display name is helpful in cases where you connect to multiple Mattermost instances. See the [server connections](/end-user-guide/preferences/connect-multiple-workspaces) documentation for details.
2. Enter your user credentials to log into Mattermost.
3. The team that displays first in the team sidebar opens. If you're not a member of a team yet, you're prompted to select a team to join.
<Note>
When you log into Mattermost using external user credentials, such as Google or Entra ID, you'll temporarily leave the desktop app during login while authenticating your credentials. Once you're successfully logged in to Mattermost, you'll be returned to the desktop app. See the [Single Sign-On (SSO)](#single-sign-on-sso) section below for details on the external providers that Mattermosts supports.
</Note>
## Upgrade the desktop app
From v6.1.0, Mattermost Desktop uses in-app notifications to alert you when new releases are available. You'll see a notification in the **Downloads** dropdown with platform-specific options:
- **macOS (App Store)**: Select **Open Mac App Store** to update through the App Store.
- **macOS (DMG)**: Select **Download Update** to download the new DMG file from your browser. Open the DMG and drag Mattermost to your Applications folder.
- **Windows (Microsoft Store)**: Select **Use Windows Store** to update through the Microsoft Store.
- **Windows (MSI)**: Select **Download Manually** to download the MSI installer from your browser, then run the installer.
- **Linux**: Select the notification to open the GitHub releases page, download the appropriate package for your system (AppImage, deb, rpm, Flatpak), and install it.
**Manual update check**
You can manually check for updates at any time by:
- Selecting **Help \> Check for Updates** from the menu bar, or
- Going to **Settings \> Updates** and selecting **Check Now**
**Skip a version**
If you don't want to see notifications for a specific version, select **Skip This Version** in the notification. You won't see notifications for that version, but you'll be notified when a newer version is released.
<Note>
In enterprise deployments, your system administrator may disable update notifications via Group Policy. If you're not seeing update notifications, contact your IT department.
</Note>
### Upgrading to v6.1.0 using Windows MSI installer
If you're upgrading from a version earlier than v6.1.0 using the Windows MSI installer, you may need to recreate your taskbar shortcut once after upgrading. This one-time change improves shortcut reliability and prevents shortcuts from breaking during future upgrades.
Prior to v6.1.0, installing over an older Desktop App version could break shortcuts. The v6.1.0 MSI installer uses a more reliable method for shortcut icons that prevents this issue in future upgrades. This only affects Windows MSI installer upgrades. The Windows Store version is not affected, and future upgrades to v6.1.1 and later won't require shortcut recreation.
If your taskbar shortcut shows the wrong icon or fails to launch after upgrading to v6.1.0:
1. Right-click the broken shortcut on your taskbar and select **Unpin from taskbar**.
2. Launch Mattermost Desktop from the Start Menu or desktop shortcut.
3. Right-click the Mattermost icon in the taskbar while it's running.
4. Select **Pin to taskbar**.
Your new shortcut will work correctly for all future updates.

View File

@@ -0,0 +1,23 @@
---
title: "Install the Mattermost iOS mobile app"
---
<PlanAvailability slug="all-commercial" />
Take Mattermost wherever you go by [installing the Mattermost mobile app](https://apps.apple.com/us/app/mattermost/id1257222717) on your iOS mobile device running iOS 12.1 or later.
1. On your device, visit the App Store.
2. Search for "Mattermost" and select **GET** to download the app.
3. Enter your Apple ID Password or use Face or Touch ID to proceed with the installation. You may also be asked to provide an Apple Verification Code received through text/phone call, login notification, or **Settings** on your trusted device.
4. Open the Mattermost app and tap **Sign in** below the **Next** button.
5. On the next screen, tap **Allow** when prompted to approve notifications for the Mattermost app.
6. Now follow the steps below to log in:
1. **Enter Server URL:** This is the web address you go to when you want to access Mattermost.
2. **Display Name:** This is a name for your server so that you can identify it in case you have multiple servers set up in your app. Tap **Connect** to continue.
3. Enter your credentials as specified by your Mattermost system admin in the next screen. Tap **Log in**.
<Tip>
- See the [access your workspace](/end-user-guide/access/access-your-workspace) documentation for additional details.
- You can set up multi-factor authentication for Mattermost if your system admin has [enabled your ability to do so](/administration-guide/configure/authentication-configuration-settings#enable-multi-factor-authentication). See the [manage security preferences](/end-user-guide/preferences/manage-your-security-preferences) documentation for details.
</Tip>

View File

@@ -0,0 +1,46 @@
---
title: "Log out of Mattermost"
---
import useBaseUrl from '@docusaurus/useBaseUrl';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
<PlanAvailability slug="all-commercial" />
You can log out of Mattermost from your profile picture. Select **Log Out** to log out of all teams on the server.
<Tabs>
<TabItem value="web-desktop" label="Web/Desktop">
![Log out of Mattermost from your profile picture.](/images/profile-log-out.png)
</TabItem>
<TabItem value="mobile" label="Mobile">
<img src={useBaseUrl('/images/profile-log-out-mobile.png')} width="300" alt="Log out of Mattermost from your profile picture." />
</TabItem>
</Tabs>
## Frequently asked questions
### What happens when I log out of Mattermost?
When you log out of Mattermost, all data related to your session is removed except a record in the app database of the server you accessed and general activity state information, such as the onboarding checklist. Your user data stored within the server database is deleted when you log out. If you were to delete the Mattermost desktop and the mobile app, the most recent server URL and state data would also be deleted.
When you log out, the following additional data is also deleted:
- All push notifications from that server.
- The websocket, network, and analytics clients stored locally in memory.
- All cookies for the server URL.
- The image cache for all servers (not just the server you've logged out of).
- All files saved in the cache directory for that server.
- All thumbnails and data saved to the clipboard for all servers (not just the server you've logged out of).
- The `image_cache` cache directory (Android mobile app)
If you have multiple Mattermost accounts on the same server, logging out of one account will not log you out of the other accounts.
### What happens if I log out while my device is enrolled in Intune MAM?
If your device is enrolled in Intune MAM (Mobile Application Management), logging out of Mattermost will remove all workspace data and Intune protection for that workspace from your iOS device. You can sign back in with Microsoft if you need access again. Learn more about [accessing your workspace with Intune MAM](https://docs.mattermost.com/end-user-guide/access/access-your-workspace.html#itab--Mobile-via-Microsoft-Intune-MaM--0_1-Mobile-via-Microsoft-Intune-MaM).