From 30608f2f060c7148888d2ac436e430d60146d26b Mon Sep 17 00:00:00 2001 From: "Carrie Warner (Mattermost)" <74422101+cwarnermm@users.noreply.github.com> Date: Wed, 2 Oct 2024 08:21:43 -0400 Subject: [PATCH 01/12] Rolled back deprecation of API deletion config settings (#7433) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sven Hüster --- .../deprecated-configuration-settings.rst | 42 ------------ .../environment-configuration-settings.rst | 68 ++++++++++++++++++- source/manage/mmctl-command-line-tool.rst | 9 +++ 3 files changed, 76 insertions(+), 43 deletions(-) diff --git a/source/configure/deprecated-configuration-settings.rst b/source/configure/deprecated-configuration-settings.rst index 71f06c1bd3c..da80e2d987a 100644 --- a/source/configure/deprecated-configuration-settings.rst +++ b/source/configure/deprecated-configuration-settings.rst @@ -807,48 +807,6 @@ The file must be in the same directory as your ``config.json`` file if you set a ---- -Experimental API endpoint settings ----------------------------------- - -Enable API team deletion -~~~~~~~~~~~~~~~~~~~~~~~~ - -*Removed in Mattermost v10 (Sept 2024) release* - -This setting isn't available in the System Console and can only be set in ``config.json``. - -**False**: The API endpoint cannot be called. Note that ``api/v4/teams/{teamid}`` can still be used to soft delete a team. - -+-------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableAPITeamDeletion": false``. | -+-------------------------------------------------------------------------------+ - -Enable API user deletion -~~~~~~~~~~~~~~~~~~~~~~~~ - -*Removed in Mattermost v10 (Sept 2024) release* - -This setting isn't available in the System Console and can only be set in ``config.json``. - -**False**: The API endpoint cannot be called. Note that ``api/v4/users/{userid}`` can still be used to soft delete a user. - -+-------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableAPIUserDeletion": false``. | -+-------------------------------------------------------------------------------+ - -Enable API channel deletion -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*Removed in Mattermost v10 (Sept 2024) release* - -This setting isn't available in the System Console and can only be set in ``config.json``. - -**False**: The API endpoint cannot be called. Note that ``api/v4/channels/{channelid}`` can still be used to soft delete a channel. - -+----------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableAPIChannelDeletion": false``. | -+----------------------------------------------------------------------------------+ - Other deprecated settings -------------------------- diff --git a/source/configure/environment-configuration-settings.rst b/source/configure/environment-configuration-settings.rst index 3a5e2e9cb16..3dd3a397696 100644 --- a/source/configure/environment-configuration-settings.rst +++ b/source/configure/environment-configuration-settings.rst @@ -182,4 +182,70 @@ Disable Customer Portal requests | restricted deployment environments. | | +-----------------------------------------------+---------------------------------------------------------------------------+ | **Note**: Cloud admins can’t modify this configuration setting. | -+-----------------------------------------------+---------------------------------------------------------------------------+ \ No newline at end of file ++-----------------------------------------------+---------------------------------------------------------------------------+ + +.. config:setting:: exp-enableapiteamdeletion + :displayname: Enable API team deletion (ServiceSettings) + :systemconsole: N/A + :configjson: EnableAPITeamDeletion + :environment: N/A + + - **true**: The ``api/v4/teams/{teamid}?permanent=true`` API endpoint can be called by team admins and system admins (or users with appropriate permissions), or by running the mmctl team delete command, to permanently delete a team. + - **false**: **(Default)** The API endpoint cannot be called, but ``api/v4/teams/{teamid}`` can still be used to soft delete a team. + +Enable API team deletion +~~~~~~~~~~~~~~~~~~~~~~~~ + +This setting isn't available in the System Console and can only be set in ``config.json``. + +**True**: The ``api/v4/teams/{teamid}?permanent=true`` API endpoint can be called by team admins and system admins (or users with appropriate permissions), or by running the :ref:`mmctl team delete ` command to permanently delete a team. + +**False**: The API endpoint cannot be called. Note that ``api/v4/teams/{teamid}`` can still be used to soft delete a team. + ++-------------------------------------------------------------------------------------------------------------------+ +| This feature's ``config.json`` setting is ``"EnableAPITeamDeletion": false`` with options ``true`` and ``false``. | ++-------------------------------------------------------------------------------------------------------------------+ + +.. config:setting:: exp-enableapiuserdeletion + :displayname: Enable API user deletion (ServiceSettings) + :systemconsole: N/A + :configjson: EnableAPIUserDeletion + :environment: N/A + + - **true**: The ``api/v4/users/{userid}?permanent=true`` API endpoint can be called by system admins (or users with appropriate permissions), or by running the mmctl user delete command, to permanently delete a user. + - **false**: **(Default)** The API endpoint cannot be called, but ``api/v4/users/{userid}`` can still be used to soft delete a user. + +Enable API user deletion +~~~~~~~~~~~~~~~~~~~~~~~~ + +This setting isn't available in the System Console and can only be set in ``config.json``. + +**True**: The ``api/v4/users/{userid}?permanent=true`` API endpoint can be called by system admins (or users with appropriate permissions), or by running the :ref:`mmctl user delete ` command, to permanently delete a user. + +**False**: The API endpoint cannot be called. Note that ``api/v4/users/{userid}`` can still be used to soft delete a user. + ++-------------------------------------------------------------------------------------------------------------------+ +| This feature's ``config.json`` setting is ``"EnableAPIUserDeletion": false`` with options ``true`` and ``false``. | ++-------------------------------------------------------------------------------------------------------------------+ + +.. config:setting:: exp-enableapichanneldeletion + :displayname: Enable API channel deletion (ServiceSettings) + :systemconsole: N/A + :configjson: EnableAPIChannelDeletion + :environment: N/A + + - **true**: The ``api/v4/channels/{channelid}?permanent=true`` API endpoint can be called by system admins (or users with appropriate permissions), or by running the mmctl channel delete command, to permanently delete a channel. + - **false**: **(Default)** The API endpoint cannot be called, but ``api/v4/channels/{channelid}`` can still be used to soft delete a channel. + +Enable API channel deletion +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This setting isn't available in the System Console and can only be set in ``config.json``. + +**True**: The ``api/v4/channels/{channelid}?permanent=true`` API endpoint can be called by system admins (or users with appropriate permissions), or by running the :ref:`mmctl channel delete ` command, to permanently delete a channel. + +**False**: The API endpoint cannot be called. Note that ``api/v4/channels/{channelid}`` can still be used to soft delete a channel. + ++----------------------------------------------------------------------------------------------------------------------+ +| This feature's ``config.json`` setting is ``"EnableAPIChannelDeletion": false`` with options ``true`` and ``false``. | ++----------------------------------------------------------------------------------------------------------------------+ \ No newline at end of file diff --git a/source/manage/mmctl-command-line-tool.rst b/source/manage/mmctl-command-line-tool.rst index 3fccaa0cce8..d16a2fb9799 100644 --- a/source/manage/mmctl-command-line-tool.rst +++ b/source/manage/mmctl-command-line-tool.rst @@ -943,6 +943,9 @@ mmctl channel delete Permanently delete channels along with all related information including posts from the database. +.. note:: + Requires the :ref:`Enable API Channel Deletion ` configuration setting to be set to ``true``. If this configuration setting is set to ``false``, attempting to delete the channel using mmctl fails. + **Format** .. code-block:: sh @@ -5465,6 +5468,9 @@ mmctl team delete Permanently delete a team along with all related information including posts from the database. +.. note:: + Requires the :ref:`Enable API Team Deletion ` configuration setting to be set to ``true``. If this configuration setting is set to ``false``, attempting to delete the team using mmctl fails. + **Format** .. code-block:: sh @@ -6218,6 +6224,9 @@ mmctl user delete Permanently delete users along with all related information including posts from the database. +.. note:: + Requires the :ref:`Enable API User Deletion ` configuration setting to be set to ``true``. If this configuration setting is set to ``false``, attempting to delete the user using mmctl fails. + **Format** .. code-block:: sh From 0fbdc34f42862205230d721064fdd9fddd6cf817 Mon Sep 17 00:00:00 2001 From: "Carrie Warner (Mattermost)" <74422101+cwarnermm@users.noreply.github.com> Date: Wed, 2 Oct 2024 08:58:40 -0400 Subject: [PATCH 02/12] Updated plan to Ent only (#7436) --- source/onboard/shared-channels.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/onboard/shared-channels.rst b/source/onboard/shared-channels.rst index 7b01eb1310e..1d42763a537 100644 --- a/source/onboard/shared-channels.rst +++ b/source/onboard/shared-channels.rst @@ -1,7 +1,7 @@ Shared channels (Experimental) ============================== -.. include:: ../_static/badges/ent-pro-cloud-selfhosted.rst +.. include:: ../_static/badges/ent-cloud-selfhosted.rst :start-after: :nosearch: Communicate across organizations, as well as external partners and vendors using Mattermost by synchronizing messages, emoji reactions, and file sharing in real-time through secured connections and shared channels. From 63b25d3c2edcae5ad29e69107c3bc87d08721bc5 Mon Sep 17 00:00:00 2001 From: Antonis Stamatiou Date: Wed, 2 Oct 2024 17:52:47 +0300 Subject: [PATCH 03/12] fix: Checkout proper codebase and bump some deps (#7437) --- .github/workflows/preview-env-fork.yml | 51 ++++++++++++++++++++++ .github/workflows/preview-env-template.yml | 5 ++- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/.github/workflows/preview-env-fork.yml b/.github/workflows/preview-env-fork.yml index 1317acc5f1c..cea0e577591 100644 --- a/.github/workflows/preview-env-fork.yml +++ b/.github/workflows/preview-env-fork.yml @@ -14,10 +14,61 @@ on: required: true jobs: + update-initial-status: + runs-on: ubuntu-latest + steps: + - name: package/update-initial-status + uses: mattermost/actions/delivery/update-commit-status@fec7b836001c9380d4bfaf28d443945c103a098c + env: + GITHUB_TOKEN: ${{ github.token }} + with: + repository_full_name: ${{ github.repository }} + commit_sha: ${{ inputs.COMMIT_SHA }} + context: "preview-env-fork-setup-update / deploy" + description: "Pipeline for docs generation for ${{ inputs.COMMIT_SHA }} is running" + status: pending + deploy: uses: ./.github/workflows/preview-env-template.yml secrets: inherit + needs: + - update-initial-status with: PR_NUMBER: ${{ inputs.PR_NUMBER }} TRIGGERING_ACTOR: ${{ inputs.TRIGGERING_ACTOR }} COMMIT_SHA: ${{ inputs.COMMIT_SHA }} + + # We need to duplicate here in order to set the proper commit status + # https://mattermost.atlassian.net/browse/CLD-5815 + update-failure-final-status: + runs-on: ubuntu-latest + if: failure() || cancelled() + needs: + - deploy + steps: + - uses: mattermost/actions/delivery/update-commit-status@fec7b836001c9380d4bfaf28d443945c103a098c + env: + GITHUB_TOKEN: ${{ github.token }} + with: + repository_full_name: ${{ github.repository }} + commit_sha: ${{ inputs.COMMIT_SHA }} + context: "preview-env-fork-setup-update / deploy" + description: "Pipeline for docs generation for ${{ inputs.COMMIT_SHA }} failed~" + status: failure + + # https://mattermost.atlassian.net/browse/CLD-5815 + update-success-final-status: + runs-on: ubuntu-latest + if: success() + needs: + - deploy + steps: + - uses: mattermost/actions/delivery/update-commit-status@fec7b836001c9380d4bfaf28d443945c103a098c + env: + GITHUB_TOKEN: ${{ github.token }} + with: + repository_full_name: ${{ github.repository }} + commit_sha: ${{ inputs.COMMIT_SHA }} + context: "preview-env-fork-setup-update / deploy" + description: "Pipeline for docs generation for ${{ inputs.COMMIT_SHA }} succeeded" + status: success diff --git a/.github/workflows/preview-env-template.yml b/.github/workflows/preview-env-template.yml index 185f23ecd73..1f28a20ff95 100644 --- a/.github/workflows/preview-env-template.yml +++ b/.github/workflows/preview-env-template.yml @@ -17,13 +17,14 @@ jobs: deploy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 with: submodules: true fetch-depth: 0 + ref: ${{ inputs.COMMIT_SHA }} - name: Setup Python - uses: actions/setup-python@db9987b4c1f10f0404fa60ee629f675fafbd6763 # v4.6.0 + uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: "3.9" From 1d17da0f9e00967f8015ee2b68df3dce0c77e22d Mon Sep 17 00:00:00 2001 From: Janu Geethakumari <56558950+1510janu@users.noreply.github.com> Date: Wed, 2 Oct 2024 11:10:18 -0400 Subject: [PATCH 04/12] Updated as per Issue #7428 (#7435) * Updated as per Issue #7428 Updated as per Issue #7428 Added: 1. A bullet point under section - 'Log in using the desktop app' 2. 'Desktop App displays white screen while launching and doesn't load the page' under the section - 'Troubleshooting your Desktop App installation'. * Update source/collaborate/install-desktop-app.rst --------- Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> Co-authored-by: Antonis Stamatiou --- source/collaborate/install-desktop-app.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/collaborate/install-desktop-app.rst b/source/collaborate/install-desktop-app.rst index c01228d30be..20035e6ee1f 100644 --- a/source/collaborate/install-desktop-app.rst +++ b/source/collaborate/install-desktop-app.rst @@ -164,7 +164,8 @@ The first time you log in to Mattermost using the desktop app, you'll see a spla .. tip:: - Can't find your Mattermost server URL? 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``. + - Can't find your Mattermost server URL? 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``. + - Having trouble launching your Desktop App? See the `Troubleshooting section <#troubleshooting-your-desktop-app-installation>` for details. Additional documentation resources ---------------------------------- @@ -204,6 +205,11 @@ How do I download app diagnostics? From Mattermost desktop v5.3, you can download a diagnostics text file via **Help > Run diagnostics**, which can be attached to a Support ticket. +Desktop App displays white screen while launching and doesn't load the page +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +1. Delete the local ``Mattermost desktop app`` configuration file. See the `Where is configuration stored locally? <#where-is-configuration-stored-locally>`__ section above for file location details. +2. Reinstall the application. + "Installation has failed" dialog ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From c259682d635bc27fcf5b8d43bcca07aa6462344d Mon Sep 17 00:00:00 2001 From: "Carrie Warner (Mattermost)" <74422101+cwarnermm@users.noreply.github.com> Date: Wed, 2 Oct 2024 16:45:12 -0400 Subject: [PATCH 05/12] Clarify expectations re: Mattermost notifications (#7378) * Initial commit to build new info architecture outline * Drafted web, desktop, & mobile notification details * Channel-specific & reply-thread prod expectations * Final notification section updates * Final notifications updates * Incorporated reviewer feedback * Incorporated reviewer feedback --------- Co-authored-by: M-ZubairAhmed --- source/about/mattermost-v9-changelog.md | 2 +- source/collaborate/message-priority.rst | 2 +- source/images/chrome-activity-badge.png | Bin 0 -> 12310 bytes source/images/chrome-mention-badge.png | Bin 0 -> 11280 bytes source/images/enable-notifications.png | Bin 0 -> 9148 bytes source/images/server-logout-indicator.png | Bin 0 -> 7501 bytes source/images/web-notification-prompt.png | Bin 0 -> 47480 bytes ...ge-your-channel-specific-notifications.rst | 73 +++++++ .../manage-your-desktop-notifications.rst | 91 ++++++++ ...e-your-mentions-keywords-notifications.rst | 38 ++++ .../manage-your-mobile-notifications.rst | 97 +++++++++ .../preferences/manage-your-notifications.rst | 197 +++++------------- ...manage-your-thread-reply-notifications.rst | 48 +++++ .../manage-your-web-notifications.rst | 77 +++++++ 14 files changed, 482 insertions(+), 143 deletions(-) create mode 100644 source/images/chrome-activity-badge.png create mode 100644 source/images/chrome-mention-badge.png create mode 100644 source/images/enable-notifications.png create mode 100644 source/images/server-logout-indicator.png create mode 100644 source/images/web-notification-prompt.png create mode 100644 source/preferences/manage-your-channel-specific-notifications.rst create mode 100644 source/preferences/manage-your-desktop-notifications.rst create mode 100644 source/preferences/manage-your-mentions-keywords-notifications.rst create mode 100644 source/preferences/manage-your-mobile-notifications.rst create mode 100644 source/preferences/manage-your-thread-reply-notifications.rst create mode 100644 source/preferences/manage-your-web-notifications.rst diff --git a/source/about/mattermost-v9-changelog.md b/source/about/mattermost-v9-changelog.md index fec8d1b4224..44b8439b9b2 100644 --- a/source/about/mattermost-v9-changelog.md +++ b/source/about/mattermost-v9-changelog.md @@ -160,7 +160,7 @@ See [this walkthrough video](https://mattermost.com/video/mattermost-v9-10-chang - Pre-packaged Mattermost Copilot plugin version [v0.8.1](https://github.com/mattermost/mattermost-plugin-ai/releases/tag/v0.8.1). - Pre-packaged Calls plugin version [v0.28.2](https://github.com/mattermost/mattermost-plugin-calls/releases/tag/v0.28.2). - Re-designed the user profile popover and improved its performance. - - Added banner to prompt users to give desktop notification permissions when opening the app. + - Added banner to prompt users to allow notification permissions when opening the app in web browsers. - Increased the width of the profile picture setting to match other user settings. - Improved screen reader support for the emoji picker. - Improved the accessibility of plugin buttons in the channel header. diff --git a/source/collaborate/message-priority.rst b/source/collaborate/message-priority.rst index 650d76257f0..f4306b216ec 100644 --- a/source/collaborate/message-priority.rst +++ b/source/collaborate/message-priority.rst @@ -42,7 +42,7 @@ To enable persistent notifications for a message: Receive persistent notifications -------------------------------- -You must have desktop and/or mobile push notifications enabled to receive persistent notifications. How you're notified depends on your :doc:`notifications preferences ` for desktop and mobile push notifications. You won't be notified when your availability is set to **Do Not Disturb**, or if you're :ref:`Out of Office `. Learn more about customizing how you receive notifications by visiting the :ref:`get notified ` documentation. +You must have desktop and/or mobile push notifications enabled to receive persistent notifications. How you're notified depends on your :doc:`notifications preferences ` for desktop and mobile push notifications. You won't be notified when your availability is set to **Do Not Disturb**, or if you're :ref:`Out of Office `. Learn more about managing and customizing how you receive :doc:`Mattermost notifications `. Urgent messages show a red mention badge which remains visibible until you view the message. Selecting the **Acknowledge** icon (when present) won't impact the urgent red mention badge. diff --git a/source/images/chrome-activity-badge.png b/source/images/chrome-activity-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..8d788b3382378088ed7985fbac785bdd3b487745 GIT binary patch literal 12310 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 literal 0 HcmV?d00001 diff --git a/source/images/chrome-mention-badge.png b/source/images/chrome-mention-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..faf7b1f9de42cfcff78b071adc418d64ed6b1902 GIT binary patch literal 11280 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 Z8?hB5#KqfH`=^VoAfqB(D`gV;{{T83m0|z@ literal 0 HcmV?d00001 diff --git a/source/images/enable-notifications.png b/source/images/enable-notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..2450ff07bbaf271ce625fb979128c091190f56e6 GIT binary patch literal 9148 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 literal 0 HcmV?d00001 diff --git a/source/images/server-logout-indicator.png b/source/images/server-logout-indicator.png new file mode 100644 index 0000000000000000000000000000000000000000..331dc6c8c18108ed7acb0741b98b6db484b0a6bf GIT binary patch literal 7501 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 XGtoj|5j+Gx00000NkvXXu0mjf#)Frp literal 0 HcmV?d00001 diff --git a/source/images/web-notification-prompt.png b/source/images/web-notification-prompt.png new file mode 100644 index 0000000000000000000000000000000000000000..9cfa2e2bb8f72358b3cf7509e5970a04a3e0a056 GIT binary patch literal 47480 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 E2k7alwEzGB literal 0 HcmV?d00001 diff --git a/source/preferences/manage-your-channel-specific-notifications.rst b/source/preferences/manage-your-channel-specific-notifications.rst new file mode 100644 index 00000000000..862f685273d --- /dev/null +++ b/source/preferences/manage-your-channel-specific-notifications.rst @@ -0,0 +1,73 @@ +Manage your channel-specific notifications +=========================================== + +.. include:: ../_static/badges/allplans-cloud-selfhosted.rst + :start-after: :nosearch: + +By default, your web and desktop notification preferences apply to all channels you’re a member of. You can customize your per-channel notification preferences for any channel you're a member of for the following actions: + +- `Mute channels <#mute-channels>`__ +- `Ignore channel-wide @mentions <#ignore-channel-wide-@mentions>`__ +- `Auto-follow all new threads <#auto-follow-all-new-channel-threads>`__ + +.. tab:: Web/Desktop + + You have 2 ways to manage notification preferences per channel: + + 1. Select the channel name, then select **Notification Preferences** from the drop-down list. + + .. image:: ../images/channel-notification-settings.gif + :alt: Select the channel name dropdown to access channel-specific notification preferences. + + 2. Alternatively, select the channel's **View Info** |channel-info| icon, and then select **Notification Preferences** in the right pane. + +.. tab:: Mobile + + Tap the channel name, and then tap **Mobile Notifications**. + +Mute channels +------------- + +All channels are unmuted by default, including direct and group messages, as well as private and public channels. + +You can choose to mute or unmute a channel at any time as follows: + +- Select **Mute Conversation** or **Unmute Conversation** for direct and group messages. +- Select **Mute Channel** or **Unmute Channel** for private and public channels. + +Once a channel is muted: + +- All notifications for that channel are disabled, including email, desktop, incoming call ring tones, and push notifications. +- The muted channel displays a mute icon next to the channel name. +- The channel is greyed out in the channel sidebar, and doesn't appear bold to indicate unread messages unless you’re :doc:`@mentioned ` in that channel directly. + +Ignore channel-wide @mentions +------------------------------ + +By default, you're notified every time someone uses channel-wide :doc:`@mentions ` including :ref:`@channel and @all `, as well as :ref:`@here `. + +When you choose to ignore channel-wide @mentions in channels, the channel name is bolded in the channel sidebar for new unreads unless it's muted. + +Follow all new channel threads +------------------------------- + +By default, you don’t automatically follow new conversation threads in any channel unless you start a thread or reply to a thread, follow a thread, or are @mentioned in a thread. + +You can configure Mattermost to automatically follow every thread in a channel. + +.. tab:: Web/Desktop + + 1. Select the channel name to access more channel options. + 2. Select **Notification Preferences**. + 3. Under **Follow all threads in this channel**, select **Automatically follow threads in this channel**. + 4. Select **Save**. + + Select **Threads** in the channel sidebar to access all threads you're following, and to unfollow threads you no longer want to follow. + +.. tab:: Mobile + + 1. In a channel, tap the **More** icon |more-icon| to the right of the channel name. + 2. Tap **View info**. + 3. Tap **Follow all threads**. + + Tap **Threads** in the channel list to access all threads you're following, and to unfollow threads you no longer want to follow. \ No newline at end of file diff --git a/source/preferences/manage-your-desktop-notifications.rst b/source/preferences/manage-your-desktop-notifications.rst new file mode 100644 index 00000000000..0f8576eb58d --- /dev/null +++ b/source/preferences/manage-your-desktop-notifications.rst @@ -0,0 +1,91 @@ +Manage your desktop notifications +================================= + +.. include:: ../_static/badges/allplans-cloud-selfhosted.rst + :start-after: :nosearch: + +.. |dot-badge| image:: ../images/dot-badge.png + :alt: A dot on the badge means you have unread activity in at least one channel you're a member of. + :width: 50px + +.. |numbered-badge| image:: ../images/numbered-badge.png + :alt: A numbered badge means you have at least 1 unread message, @mention, or one of your keywords has triggered a notification. + :width: 50px + +Enable notifications +-------------------- + +From Mattermost v9.9 and desktop app v5.5, Mattermost prompts you to enable notifications in the desktop app the first time you connect to a Mattermost server. + +- When you select **Allow**, you won't be asked again. You'll start receiving notifications in the desktop app for all Mattermost activity with `badges <#badge-based-notifications>`__, `banner alerts <#banner-alerts>`__ and `sounds <#notification-sounds>`__. See the section below on `customizing your notifications <#customize-your-notifications>`__ based on how you prefer to be notified about Mattermost activity in the desktop app. +- If you select **Deny** or **Deny Permanently**, you won't be asked again. You won't receive Mattermost notifications in the web browser. You can change this preference by :ref:`editing the server connection ` to :ref:`manage your notification permissions `. + +.. note:: + + - You may also need to enable notifications in Windows, macOS, or Linux for Mattermost by changing your System Preferences. + - When you allow desktop notifications, you'll also receive a second prompt asking you to allow notifications in your default web browser. + + .. image:: ../images/web-notification-prompt.png + :alt: An example of a Firefox web browser notification prompt. + :scale: 70 + +Badge-based notifications +------------------------- + +Mattermost desktop app icons display the following types of badges: + +- A numbered badge for unread :ref:`direct ` :ref:`group ` messages, :doc:`@mentions `, and :doc:`keywords ` you're actively watching. |numbered-badge| +- A dot badge for unread activity. |dot-badge| + +Banner alerts +------------- + +Banner alerts in the desktop app are popup windows that display for a limited time in the top right corner of your screen that summarizes the new activity. + +Notification sounds +-------------------- + +By default, desktop app notifications include audible sounds. + +Customize your notifications +---------------------------- + +By default, you are notified when you're @mentioned, when you receive a direct or group message, or for matches to keywords you're following. + +Want to receive notifications about replies to threads you’re following? Select **Notify me about replies to threads I’m following**. + +Want notifications for all new messages? Select **Desktop and mobile notifications > All new messages** + +Desktop app users can also :doc:`customize their desktop app experience ` further based on their platform operating system. + +Change or disable sounds +~~~~~~~~~~~~~~~~~~~~~~~~ + +You can change or disable notification sounds by going to **Desktop notification sounds > Message notification sound**. + +Incoming Call notifications +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Want to hear a sound when a Mattermost call starts? If your Mattermost admin :ref:`enables this Beta feature `, you can choose the sound that plays when a call is started within a direct or group message by going to **Desktop notification sounds > Incoming call sound**. + +Disable all desktop notifications +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Select **Desktop and mobile notifications > Nothing** to disable all desktop and :doc:`web notifications `. + +Clear the **Use different settings for my mobile devices** to additionally disable all Mattermost mobile notifications everywhere you use Mattermost. + +Additionally, macOS users can disable notifications for all unread activity in the desktop app by :doc:`customizing your desktop app experience ` to disable the **Show red badge on Dock icon to indicate unread messages** option. + +Frequently asked questions +--------------------------- + +What does a Mattermost icon with an exclamation point mean? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. image:: ../images/server-logout-indicator.png + :alt: A Mattermost logo with an exclamation point means you're logged out of at least 1 Mattermost server you connect to using the desktop app. + +A Mattermost icon with an exclamation point means that you're logged out of at least 1 Mattermost server you connect to using the desktop app. Log back in to any servers as needed. See the :doc:`Connect to multiple workspaces ` documentation for details. + +If the icon continues to display, refresh the **Playbooks** and/or **Boards** tabs located at the top of the desktop app window. \ No newline at end of file diff --git a/source/preferences/manage-your-mentions-keywords-notifications.rst b/source/preferences/manage-your-mentions-keywords-notifications.rst new file mode 100644 index 00000000000..0549cf26897 --- /dev/null +++ b/source/preferences/manage-your-mentions-keywords-notifications.rst @@ -0,0 +1,38 @@ +Manage your @mention and keyword notifications +============================================== + +.. include:: ../_static/badges/allplans-cloud-selfhosted.rst + :start-after: :nosearch: + +You're :doc:`notified ` in a :doc:`web browser `, the :doc:`desktop app `, and on your :doc:`mobile device `, when you're @mentioned by your username or first name, @mentioned as part of a user group, and for matches to keywords you're following. + +You're also notified when someone uses channel-wide :doc:`@mentions ` including :ref:`@channel and @all `, as well as :ref:`@here `. + +For all other messages, channels appear bolded to indicate unread activity. + +Customize notification keywords +-------------------------------- + +Using a web browser or the desktop app, you can customize keywords to trigger notifications. Keywords aren't case-sensitive. + +For example, you can receive notifications for all messages and threads related to a specific topic, project name, or customer. + +.. image:: ../images/keywords-trigger-mentions.gif + :alt: A walkthrough of setting keywords that trigger mentions in Mattermost. + +.. tip:: + + Separate multiple keywords using commas or by pressing :kbd:`Tab`, and use :kbd:`Backspace` to manage keywords. + +Passively track keywords (no notification) +------------------------------------------ + +.. include:: ../_static/badges/ent-pro-only.rst + :start-after: :nosearch: + +From Mattermost v9.3, Mattermost Enterprise and Professional customers interested calling attention to specific topics of interest across channels can do so without sending notifications to a Mattermost client. + +Using a web browser or the desktop app, you can passively track key terms by specifying single or multiple words to be highlighted in all channels you're a member of. Keywords and phrases are automatically highlighted using a color based on your :doc:`Mattermost theme `. + +.. image:: ../images/keywords-highlighted.gif + :alt: A walkthrough of setting keywords that are highlighted in Mattermost. \ No newline at end of file diff --git a/source/preferences/manage-your-mobile-notifications.rst b/source/preferences/manage-your-mobile-notifications.rst new file mode 100644 index 00000000000..e41f5378884 --- /dev/null +++ b/source/preferences/manage-your-mobile-notifications.rst @@ -0,0 +1,97 @@ +Manage your mobile notifications +================================= + +.. include:: ../_static/badges/allplans-cloud-selfhosted.rst + :start-after: :nosearch: + +.. |numbered-badge| image:: ../images/numbered-badge.png + :alt: A numbered badge means you have at least 1 unread message, @mention, or one of your keywords has triggered a notification. + :width: 50px + +Enable notifications +-------------------- + +From Mattermost v9.9, Mattermost prompts you to enable notifications in the mobile app the first time you open the app. + +When you enable notifications, you'll start receiving notifications for all Mattermost activity with `badges <#badge-based-notifications>`__, and `push notifications <#push-notifications>`__. See the section below on `customizing your notifications <#customize-your-notifications>`__ based on how you prefer to be notified about Mattermost activity on your mobile device. + +.. note:: + + You may also need to enable notifications in iOS or Android for Mattermost by changing your device preferences. + +Badge-based notifications +------------------------- + +Mattermost mobile app icons display numbered badges for unread :ref:`direct ` and :ref:`group ` messages, and :doc:`@mentions `, :doc:`keywords ` you're actively watching. + +|numbered-badge| + +.. note:: + + - The Mattermost mobile app doesn't display dot badges indicating other unread activity by design. The activity you're directly involved in is prioritized over other activity. + - Android users may see Mattermost notifications in the Android Notification Shade while the Mattermost icon shows no badge. This is because the Android notification system may also display badges unread activity. + +Push notifications +------------------ + +You'll see mobile push notification messages on your device as follows: + +- **iOS**: On the Lock Screen, Notification Center, and as Banners/Alerts based on your iOS settings. +- **Android**: On the Lock Screen, Notification Shade, and as Banners/Heads-Up Notifications based on your Android settings. + +Customize your notifications +---------------------------- + +You can manage your mobile notifications in both the desktop app and the mobile app. + +Desktop app +~~~~~~~~~~~~ + +In the desktop app, manage your mobile notification preferences by selecting the **Settings** |gear| icon located in the top right corner of the screen, and select **Notifications > Desktop and mobile notifications**. + +By default, you receive mobile notifications when your Mattermost availability is :ref:`away or offline `. + +- Want to receive mobile notifications when you're online too? Under **Trigger mobile notifications when I am**, select **Online, away, or offline**. Note that you won't be notified on your device if you're actively using Mattermost in a web browser. Alternatively, select **Offline** to receive fewer mobile notifications. + +- Want different desktop and mobile notifications? Select **Use different settings for my mobile devices**, and then select **All new messages**, or **Mentions, direct messages and group messages**. + +Mobile app +~~~~~~~~~~ + +In the mobile app, tap your profile picture, then tap **Settings > Notifications**. + +- Tap **Mentions** to disable notifications based on keywords that trigger mentions, including first name, username, channel-wide @mentions, and keywords you've specified. +- Tap **Push Notifications** to choose what to be notified about. + +You can also :ref:`manage email notifications ` and :ref:`send automatic replies to direct messages ` directly from your device. + +Incoming Call notifications +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Want to hear a sound on your mobile device when a Mattermost call starts? If your Mattermost admin :ref:`enables this Beta feature `, select **Call Notifications** to choose the sound that plays when a call is started within a direct or group message you're participating in. + +.. tip:: + + - From Mattermost mobile app v2.19, incoming call sounds also include device vibration, as well as vibration-only when your device is in silent mode. + - If you prefer a separate call sound on mobile, your mobile change applies only to your mobile device. + +Disable all mobile notifications +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To disable all Mattermost mobile notifications, tap **Push Notifications > Nothing**. + +Frequently asked questions +-------------------------- + +Are mobile notification counts the same as other Mattermost clients? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +No. You're only notified of unread threads with @mentions on your mobile device. You're not notified of general unread activity on mobile. + +What does a Mattermost icon with an exclamation point mean? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. image:: ../images/server-logout-indicator.png + :alt: A Mattermost logo with an exclamation point means you're logged out of at least 1 Mattermost server you connect to using the mobile app. + +A Mattermost icon with an exclamation point means that you're logged out of at least 1 Mattermost server you connect to using the mobile app. Log back in to any servers as needed. See the :doc:`Connect to multiple workspaces ` documentation for details. \ No newline at end of file diff --git a/source/preferences/manage-your-notifications.rst b/source/preferences/manage-your-notifications.rst index 76136843984..48b402476e6 100644 --- a/source/preferences/manage-your-notifications.rst +++ b/source/preferences/manage-your-notifications.rst @@ -5,169 +5,84 @@ Manage your notifications :start-after: :nosearch: .. |dot-badge| image:: ../images/dot-badge.png - :alt: A dot on the badge means you have unread activity in at least one channel you're a member of. - :width: 50px - + :alt: A dot on the badge means you have unread activity in at least one channel you're a member of. + :width: 50px .. |numbered-badge| image:: ../images/numbered-badge.png - :alt: A numbered badge means you have at least 1 unread message, @mention, or one of your keywords has triggered a notification. - :width: 50px - -Mattermost notifies you of new activity in the following ways: - -**Badges**: In Mattermost, badges show you when you have unread messages and threads. - - |dot-badge| You have unread activity in at least one channel you're a member of. + :alt: A numbered badge means you have at least 1 unread message, @mention, or one of your keywords has triggered a notification. + :width: 50px - |numbered-badge| You have at least one unread :ref:`direct message `, :ref:`group message `, :doc:`@mention `, or a keyword triggered a notification. +.. toctree:: + :maxdepth: 1 + :hidden: + :titlesonly: -**Banner alerts**: Pop-ups alert you to new activity. + Manage your web notifications + Manage your desktop notifications + Manage your mobile notifications + Manage your thread reply notifications + Manage your @mention & keyword notifications + Manage your channel-specific notifications -**Push notifications**: Mobile app alert you to new activity when you're on the go. - -**Sounds**: Audible sounds alert you to new activity. +Mattermost notifies you of new activity you're directly involved in. How you're notified depends on what Mattermost client you're using, the type of Mattermost activity you're being notified about, and how you prefer to be notified. .. include:: ../_static/badges/academy-notifications.rst :start-after: :nosearch: -Get notified -------------- +You're in control +------------------ -You can configure Mattermost to receive increase or decrease the number of notifications based on your preferences. +You are in control of how, when, and where you're notified of activity that matters to you based on how you prefer to work and collaborate. To access notification preferences: -In a web browser or the desktop app, select the **Settings** |gear| icon located in the top right corner of the screen to manage your notification preferences. +- In a web browser or the desktop app, select the **Settings** |gear| icon located in the top right corner of the screen to manage your notification preferences. +- On mobile, tap your profile picture, then tap **Settings > Notifications**. -On mobile, select the **Settings** |gear| icon and tap **Notifications**. +See the `Default notifications <#default-notifications>`__ table below for details on customizing your notification experience based on your preferred Mattermost client. .. tip:: - - From Mattermost v9.8, your desktop and mobile notification preferences have been combined together under **Settings > Notifications**. If you're using an older Mattermost release, you'll find these settings split out as desktop settings and mobile settings instead. - - Missing notifications? Visit our `notifications knowledge base article `__ for additional troubleshooting tips and tricks. - -.. tab:: Web/Desktop/Mobile - - By default, you're notified of all Mattermost activity in Mattermost with badges, banner alerts, and sounds, regardless of how you access Mattermost, and your current :ref:`Mattermost availability `. - - When accessing Mattermost using a supported web browser, the browser tab's favicon notifies you of unread messages with an asterisk (*) and a message count. From Mattermost v9.9, you're prompted to give Mattermost permission to send you notifications in the announcement bar. - - - When you select **Enable notifications**, you won't be asked again, and you'll start receiving Mattermost notifications in the web browser. - - If you dismiss the prompt, you won't receive notifications in the web browser, and you'll prompted again the next time you open Mattermost in a browser. - - **Want different notifications on mobile?** - - To personalize your notification preferences for the mobile app, select **Desktop and mobile notifications**, and then select **Use different settings for my mobile devices** to define how mobile notifications are triggered, when they're triggered based on you being online, away, or offline, and whether they include replies to threads you're following. - - **Getting too many notifications?** - - If you're receiving too many notifications, you can configure Mattermost to notify you for select messages only. Select **Desktop and mobile notifications > Mentions, direct messages, and group messages** to receive notifications for mentions, direct messages, and group messages only. This option also enables you to receive notifications about replies to threads you're following by selecting **Notify me about replies to threads I'm following**. - - Disable web, desktop, and mobile notifications altogether by selecting **Desktop and mobile notifications > Nothing**. - -.. tab:: Notification sounds - - By default, desktop message notifications include audible sounds. You can change or disable these sounds if preferred. Go to **Desktop notification sounds > Message notification sound** to choose a different sound, or disable this option to turn off desktop notification sounds, if preferred. - - **Want incoming call sounds?** - - Want to hear a sound when a Mattermost call starts? If your Mattermost admin :ref:`enables this Beta feature `, you can choose the sound that plays when a call is started within a direct or group message you're participating in by going to **Desktop notifications > Notification sound for incoming calls**. - - From Mattermost mobile app v2.19, incoming call sounds on mobile include sounds and vibration, and vibration only when your device is in silent mode. You can set one **Incoming call sound** for web or desktop, and a different one for mobile. When you select an **Incoming call sound** on mobile, your changes apply only to mobile. - -.. tab:: Email - - By default, you're notified of all Mattermost activity by email right away when you're offline or away from Mattermost for more than 5 minutes. - - **Too many notifications?** - - Turn off email notifications altogether by selecting **Email Notifications > Never**. - - **Group email notifications in batches** - - Mattermost also supports the ability to group multiple email notifications together into a single email. If your Mattermost admin :ref:`enables this feature `, you'll receive batches of notifications by email every 15 minutes, or as configured by your admin. - -.. tab:: @mentions & keywords - - By default, you’re notified when you’re @mentioned in a message or a thread by your username or first name, or when a thread you’re following has a new response. For all other messages, the channel is highlighted to indicate unread messages. - - You're also notified when someone uses channel-wide :doc:`mentions ` including @channel, @all, and @here. - - **Customize notification keywords** - - Using a web browser or the desktop app, customize any additional non case-sensitive keywords to trigger notifications. For example, you can receive notifications for all messages and threads related to a specific topic, project name, or customer. Separate multiple keywords using commas or by pressing :kbd:`Tab`, and use :kbd:`Backspace` to manage keywords. - - .. image:: ../images/keywords-trigger-mentions.gif - :alt: A walkthrough of setting keywords that trigger mentions in Mattermost. - - **Passively track keywords (no notification)** - - .. include:: ../_static/badges/ent-pro-only.rst - :start-after: :nosearch: - - From Mattermost v9.3, Mattermost Enterprise and Professional users interested calling attention to specific topics of interest across channels, at a glance, can do so without triggering notifications. - - Using a web browser or the desktop app, passively track key terms by specifying single or multi-words to highlight in all channels you're a member of. Keywords and phrases are automatically highlighted based on your :doc:`Mattermost theme `. - - .. image:: ../images/keywords-highlighted.gif - :alt: A walkthrough of setting keywords that are highlighted in Mattermost. - -.. tab:: Replies - - If :doc:`Threaded discussions ` are disabled, you won't be notified in reply threads unless you're @mentioned. However, you can configure Mattermost to notify you when someone replies to a thread you started, or started or have participated in. Select **Reply notifications** to choose the option that works best for you. This setting is hidden when Threaded discussions is enabled. - - **Automatic replies** - - Mattermost also supports the ability to automatically send custom replies to direct messages. If your Mattermost admin enables this experimental feature, you can go to **Automatic Direct Message Replies** to select **Enable** this feature and compose your message. - -.. tab:: Per-channel - - You can set notification preferences at the channel level, including group messages, for every channel you're a member of. You have 2 ways to access channel preferences: - - Select the channel name, then select **Notification Preferences**. - - .. image:: ../images/channel-notification-settings.gif - :alt: Select the channel name dropdown to access channel-specific notification preferences. - - Alternatively, select the channel's **View Info** |channel-info| icon, and then select **Notification Preferences** in the right pane. - - **Mute channel** - - All channels are unmuted by default. Using Mattermost in a web browser or the desktop app, mute a channel any time by selecting **Mute Channel**. Mute a direct message or group message by selecting **Mute Conversation**. You can unmute channels the same way by selecting **Unmute Channel** and **Unmute Conversation**. - - Using the mobile app: - - 1. Tap the channel or conversation you want to mute. - 2. Tap the **More** |more-icon| icon located in the top right corner of the app. - 3. Tap **Mute**. - 4. Unmute the channel or conversation by tapping **Mute** again. - - Once a channel is muted: - - - Email, desktop, incoming call ring tones, and push notifications are disabled. - - A mute icon displays next to the channel, direct message, or group message’s name. - - The channel is dimmed in the channel sidebar, and isn’t bolded to indicate unread messages unless you’re :doc:`@mentioned ` directly. - - **Ignore channel-wide @mentions** - - By default, you’ll be notified every time someone on your team mentions an entire channel using @channel, @all, or @here. - - When using Mattermost in a web browser or the desktop app, stop being notified for channel-wide @mentions, by selecting the **Ignore mentions for @channel, @here and @all** option. Mention notifications for channel-wide mentions are ignored, but the channel is marked as unread unless it's muted. + From Mattermost v9.8, your desktop and mobile notification preferences have been combined together under **Notifications**. If you're using an older Mattermost release and older Mattermost clients, you'll find separate preferences for desktop and mobile. - - In the desktop app, your mobile push notification preferences use the same configuration as the desktop app by default. Clear the **Use the same notification setting as desktop** option to customize your push notification preferences. You can receive notifications for all new messages; mentions, direct messages, and keywords; or no notifications within the desktop app. +Default notifications +------------------------ - - In the mobile app, you're notified about all new messages by default. You can customize your mobile app notification preferences. You can receive notifications for all new messages, mentions only, or no notifications. +Mattermost notifies you of new activity, including unread activity, :ref:`direct ` and :ref:`group ` messages, and :doc:`@mentions `, :doc:`keywords ` you're actively watching, :doc:`thread replies `, and unread activity in :doc:`specific channels `. - - Select **Reset to default** to return to global defaults. +The table below lists the types of notifications you can expect to see and hear in Mattermost. Select your preferred Mattermost clients to learn more about notifications for that client. - **Desktop notifications** ++-----------------------+---------------------------------------------------+-------------------------------------------------------------------+ +| **Notification Type** | **What it Means** | **Which Mattermost Clients?** | ++=======================+===================================================+===================================================================+ +| Icon badge (dot) | You have unread activity in at least 1 channel | :doc:`Web `, | +| | you're a member of | :doc:`Desktop ` | +| |dot-badge| | | | ++-----------------------+---------------------------------------------------+-------------------------------------------------------------------+ +| Icon badge (number) | You have at least 1 unread message with an | :doc:`Web ` & | +| | @mention, or a match to a keyword you're watching | :doc:`Desktop ` | +| |numbered-badge| | | & :doc:`Mobile ` | ++-----------------------+ +-------------------------------------------------------------------+ +| Banner alert popups | | :doc:`Web ` & | +| | | :doc:`Desktop ` | ++-----------------------+ +-------------------------------------------------------------------+ +| Push notifications | | :doc:`Mobile ` | +| | | | ++-----------------------+---------------------------------------------------+-------------------------------------------------------------------+ +| Alert sounds | You have at least 1 unread message with an | :doc:`Web `, | +| | @mention, a match to a keyword you're watching, | :doc:`Desktop `, | +| | or replies to a thread you're following | & :doc:`Mobile ` | ++-----------------------+---------------------------------------------------+-------------------------------------------------------------------+ - By default, your web and desktop notification preferences apply to all channels you’re a member of. You can customize notifications on a channel by channel basis if preferred by selecting **Desktop notifications**. Select **(Default**) options to revert back to your global preferences. +Email notifications +~~~~~~~~~~~~~~~~~~~~ - **Mobile push notifications** +By default, Mattermost notifications are sent to you via email for :doc:`@mentions ` and :ref:`direct messages ` when you are :ref:`offline or away ` from Mattermost for more than 5 minutes. - By default, your mobile push notification preferences apply to all channels you’re a member of. You can customize notifications on a channel by channel basis if preferred by selecting **Mobile push notifications**. Select **(Default**) options to revert back to your global preferences. +You can disable email notifications by going to **Settings > Notifications > Email notifications** and changing **Immediately** to **Never**. - **Auto-follow all new threads in this channel** +.. note:: - By default, you don’t automatically follow new conversation threads unless you start a thread or reply to a thread, follow a thread, or are @mentioned in a thread. + Mattermost can group multiple email notifications together into a single email. If your Mattermost admin :ref:`enables this feature `, you'll receive batches of notifications by email every 15 minutes, or as configured by your admin. - You can configure Mattermost to automatically follow every thread in a channel. When enabled, you can access all threads in the **Threads** view, and unfollow individual threads as you prefer. +Missing notifications? +---------------------- +Visit the Mattermost `notifications Knowledge Base article `__ for additional troubleshooting tips and tricks. \ No newline at end of file diff --git a/source/preferences/manage-your-thread-reply-notifications.rst b/source/preferences/manage-your-thread-reply-notifications.rst new file mode 100644 index 00000000000..c5e570beaaf --- /dev/null +++ b/source/preferences/manage-your-thread-reply-notifications.rst @@ -0,0 +1,48 @@ +Manage your thread reply notifications +====================================== + +.. include:: ../_static/badges/allplans-cloud-selfhosted.rst + :start-after: :nosearch: + +You're :doc:`notified ` in a :doc:`web browser `, the :doc:`desktop app `, and on your :doc:`mobile device `, for threads you're following when you're @mentioned or the messages contain a keyword you're tracking. + +.. tip:: + + - Mattermost auto-follows you on all direct and group messages, any thread you start, as well as any thread where you've been :doc:`@mentioned ` directly. + - You can choose to :ref:`follow or unfollow any thread ` at any time. + +You won't receive notifications for threads you're not following, or thread replies when they don't @mention you directly. However, blue message indicators show you unread thread replies you're not following in a given public or private channel. + +For all other messages, a channel appears bolded to indicate unread messages. + +Customize your notifications +---------------------------- + +Follow all threads in channels automatically +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can follow all threads in a channel automatically by going to **Channel Settings > Notification Preferences > Follow all threads in this channel and enable the Automatically follow threads in this channel**. + +Get notified when threaded discussions are disabled +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If your organization doesn't use threaded discussions, or you have :ref:`opted out of threaded discussions `, you can configure Mattermost to notify you when someone replies to a thread you started, or have participated in. Go to **Settings > Notifications > Reply notifications** to choose one of 3 options: + +- Receive notifications for messages in reply threads that you either start or participate in. +- Receive notifications on messages, but only in threads that you start. +- Don't receive notifications on messages in reply threads unless you're directly @mentioned. + +Send automatic replies to direct messages +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Want to automatically reply to direct messages when you're out of office? When your system admin :ref:`enables the ability for you to do so `, you can configure Mattermost to send custom replies to direct messages by going to **Settings > Notifications > Automatic Direct Message Replies**, selecting **Enable**, and composing your automatic reply message. + +Frequently asked questions +-------------------------- + +Are thread notification counts the same across all Mattermost clients? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +No. Mobile app notifications only indicate unread threads with @mentions, and not general unread activity. + +Using Mattermost in a web browser or the desktop app, the **Threads** list bolds unread threads that don't contain @mentions. \ No newline at end of file diff --git a/source/preferences/manage-your-web-notifications.rst b/source/preferences/manage-your-web-notifications.rst new file mode 100644 index 00000000000..2932f4119be --- /dev/null +++ b/source/preferences/manage-your-web-notifications.rst @@ -0,0 +1,77 @@ +Manage your web notifications +============================== + +.. include:: ../_static/badges/allplans-cloud-selfhosted.rst + :start-after: :nosearch: + +.. |chrome-mention-badge| image:: ../images/chrome-mention-badge.png + :alt: An example of a Chrome web browser mention badge indicator. + +.. |chrome-activity-badge| image:: ../images/chrome-activity-badge.png + :alt: An example of a Chrome web browser activity badge indicator. + +Enable notifications +-------------------- + +From Mattermost v9.10, Mattermost prompts you to enable notifications in your web browser. + +.. image:: ../images/enable-notifications.png + :alt: From Mattermost v9.10, you're prompted to enable notifications. + +- When you select **Enable notifications**, you won't be asked again. You'll start receiving notifications in your web browser for all Mattermost activity with `badges <#badge-based-notifications>`__ and `sounds <#notification-sounds>`__. See the section below on `customizing your notifications <#customize-your-notifications>`__ based on how you prefer to be notified about Mattermost activity in a web browser. +- If you dismiss this prompt, you won't receive Mattermost notifications in the web browser, and you'll prompted again the next time you open Mattermost in a web browser. + +Badge-based notifications +------------------------- + +In a web browser, Mattermost icons display the following types of badges: + +- Numbered badges for unread :ref:`direct ` :ref:`group ` messages, :doc:`@mentions `, and :doc:`keywords ` you're actively watching. + + - A red dot badge means an unread @mention or keyword. |chrome-mention-badge| + + - A black dot badge means an unread direct or group message. |chrome-activity-badge| + +Notification sounds +-------------------- + +By default, web-based notifications include audible sounds. + +Customize your notifications +---------------------------- + +.. tip:: + + Mattermost notification settings labeled as Desktop also configure your web-based notifications when using Mattermost in a web browser. + +Reduce web notifications +~~~~~~~~~~~~~~~~~~~~~~~~~ + +To reduce the number of notifications you receive, select **Desktop and mobile notifications > Mentions, direct messages, and group messages**, and save your changes. + +With limited notifications enabled, you can also choose to receive notifications about replies to threads you're following by selecting **Notify me about replies to threads I'm following**. + +Change or disable sounds +~~~~~~~~~~~~~~~~~~~~~~~~ + +You can change or disable notification sounds by going to **Desktop notification sounds > Message notification sound**. + +Incoming Call notifications +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Want to hear a sound when a Mattermost call starts? If your Mattermost admin :ref:`enables this Beta feature `, you can choose the sound that plays when a call is started within a direct or group message by going to **Desktop notification sounds > Incoming call sound**. + +Disable all web notifications +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Select **Desktop and mobile notifications > Nothing** to disable all web and desktop notifications. + +Clear the **Use different settings for my mobile devices** to additionally disable all Mattermost mobile notifications everywhere you use Mattermost. + +Frequently asked questions +-------------------------- + +Why am I prompted repeatedly enable notifications I don't want? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Mattermost will continue to prompt you to enable notifications in a web browser until you respond to the prompt. If you want to disable all Mattermost notifications, select **Enable notifications** when prompted, and then `disable all Mattermost web notifications <#disable-all-web-notifications>`__. \ No newline at end of file From 7da53cb3b3c51296d19a126da9f035de14193ab5 Mon Sep 17 00:00:00 2001 From: kshitij katiyar <90389917+Kshitij-Katiyar@users.noreply.github.com> Date: Thu, 3 Oct 2024 18:28:29 +0530 Subject: [PATCH 06/12] [MM-57194]: Added note to copy secrets as they will not be visible again (#7416) * [MM-57194]: Added note to copy secrets as they will not be visible again * [MM-57194]: review fixes * Update source/integrate/jira-interoperability.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> --------- Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> Co-authored-by: Raghav Aggarwal --- source/integrate/jira-interoperability.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/integrate/jira-interoperability.rst b/source/integrate/jira-interoperability.rst index d7835a52666..39f8df7d743 100644 --- a/source/integrate/jira-interoperability.rst +++ b/source/integrate/jira-interoperability.rst @@ -30,6 +30,10 @@ A Mattermost system admin must perform the following steps in Mattermost. c. Once installed, select **Configure**. You're taken to the System Console. d. On the Jira configuration page, enable and configure Jira interoperability as follows, and then select **Save**: + .. note:: + + We recommend making a copy of your webhook secret, as it will only be visible to you once. + - Generate a **Webhook Secret** by selecting **Regenerate**. - **Allow users to attach and create Jira issues in Mattermost**: Enable or disable the user's ability to attach and create Jira issues in Mattermost. When enabled, you must also `install this Jira integration in your Jira instance <#install-integration-as-Jira-app>`__. - **Mattermost Roles Allowed to Edit Jira Subscriptions**: Specify the Mattermost roles that can edit Jira subscriptions to control which Mattermost users can subscribe channels to Jira tickets. From 550f9acc77d6162c07253c1b8fafdfd03918e06c Mon Sep 17 00:00:00 2001 From: emily dela cruz Date: Thu, 3 Oct 2024 09:44:57 -0400 Subject: [PATCH 07/12] Update banner for Hacktoberfest announce (#7438) --- source/_static/js/myscript-v1.js | 2 +- source/_templates/custom-nav.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_static/js/myscript-v1.js b/source/_static/js/myscript-v1.js index 3ca1d0f7bdc..197ed4977a0 100644 --- a/source/_static/js/myscript-v1.js +++ b/source/_static/js/myscript-v1.js @@ -68,7 +68,7 @@ $(document).ready(function () { // Fallback for when a notification CTA expires const dateInFuture = (value) => new Date().getTime() <= new Date(value).getTime(); - const expiryDate = '2024-11-10T00:00:00-0500'; + const expiryDate = '2024-10-31T00:00:00-0500'; // 12am EST const fallback_url = 'https://mattermost.com/solutions/mattermost-for-microsoft-teams/'; diff --git a/source/_templates/custom-nav.html b/source/_templates/custom-nav.html index 621aa4ee472..0aaff701e48 100644 --- a/source/_templates/custom-nav.html +++ b/source/_templates/custom-nav.html @@ -4,7 +4,7 @@ From 4a5fb1377e5e0aa4b2497c8b6d92f12d797cf20d Mon Sep 17 00:00:00 2001 From: "Carrie Warner (Mattermost)" <74422101+cwarnermm@users.noreply.github.com> Date: Thu, 3 Oct 2024 14:10:37 -0400 Subject: [PATCH 08/12] Notification expectations (#7440) * Initial commit to build new info architecture outline * Drafted web, desktop, & mobile notification details * Channel-specific & reply-thread prod expectations * Final notification section updates * Final notifications updates * Incorporated reviewer feedback * Incorporated reviewer feedback * Incorporated reviewer feedback * screenshot update --------- Co-authored-by: M-ZubairAhmed --- source/images/desktop-notification-prompt.png | Bin 0 -> 92529 bytes .../manage-your-desktop-notifications.rst | 9 ++++--- .../manage-your-mobile-notifications.rst | 22 ++++++++---------- .../manage-your-web-notifications.rst | 12 ++++++---- 4 files changed, 21 insertions(+), 22 deletions(-) create mode 100644 source/images/desktop-notification-prompt.png diff --git a/source/images/desktop-notification-prompt.png b/source/images/desktop-notification-prompt.png new file mode 100644 index 0000000000000000000000000000000000000000..72d2a3cc3707d276d53d4f74e9674a75653cc0b9 GIT binary patch literal 92529 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

8{<(4CjK*};(2es9xpV4bjZV0c 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 b2vh|Y)=1Jg(Wz{=00000NkvXXu0mjf3Oa%R literal 0 HcmV?d00001 diff --git a/source/preferences/manage-your-desktop-notifications.rst b/source/preferences/manage-your-desktop-notifications.rst index 0f8576eb58d..cf971afe473 100644 --- a/source/preferences/manage-your-desktop-notifications.rst +++ b/source/preferences/manage-your-desktop-notifications.rst @@ -17,17 +17,16 @@ Enable notifications From Mattermost v9.9 and desktop app v5.5, Mattermost prompts you to enable notifications in the desktop app the first time you connect to a Mattermost server. +.. image:: ../images/desktop-notification-prompt.png + :alt: An example of a Mattermost desktop app notification prompt. + :scale: 50 + - When you select **Allow**, you won't be asked again. You'll start receiving notifications in the desktop app for all Mattermost activity with `badges <#badge-based-notifications>`__, `banner alerts <#banner-alerts>`__ and `sounds <#notification-sounds>`__. See the section below on `customizing your notifications <#customize-your-notifications>`__ based on how you prefer to be notified about Mattermost activity in the desktop app. - If you select **Deny** or **Deny Permanently**, you won't be asked again. You won't receive Mattermost notifications in the web browser. You can change this preference by :ref:`editing the server connection ` to :ref:`manage your notification permissions `. .. note:: - You may also need to enable notifications in Windows, macOS, or Linux for Mattermost by changing your System Preferences. - - When you allow desktop notifications, you'll also receive a second prompt asking you to allow notifications in your default web browser. - - .. image:: ../images/web-notification-prompt.png - :alt: An example of a Firefox web browser notification prompt. - :scale: 70 Badge-based notifications ------------------------- diff --git a/source/preferences/manage-your-mobile-notifications.rst b/source/preferences/manage-your-mobile-notifications.rst index e41f5378884..963f6cd64d2 100644 --- a/source/preferences/manage-your-mobile-notifications.rst +++ b/source/preferences/manage-your-mobile-notifications.rst @@ -44,26 +44,24 @@ Customize your notifications You can manage your mobile notifications in both the desktop app and the mobile app. -Desktop app -~~~~~~~~~~~~ +.. tab:: Desktop app -In the desktop app, manage your mobile notification preferences by selecting the **Settings** |gear| icon located in the top right corner of the screen, and select **Notifications > Desktop and mobile notifications**. + In the desktop app, manage your mobile notification preferences by selecting the **Settings** |gear| icon located in the top right corner of the screen, and select **Notifications > Desktop and mobile notifications**. -By default, you receive mobile notifications when your Mattermost availability is :ref:`away or offline `. + By default, you receive mobile notifications when your Mattermost availability is :ref:`away or offline `. -- Want to receive mobile notifications when you're online too? Under **Trigger mobile notifications when I am**, select **Online, away, or offline**. Note that you won't be notified on your device if you're actively using Mattermost in a web browser. Alternatively, select **Offline** to receive fewer mobile notifications. + - Want to receive mobile notifications when you're online too? Under **Trigger mobile notifications when I am**, select **Online, away, or offline**. Note that you won't be notified on your device if you're actively using Mattermost in a web browser. Alternatively, select **Offline** to receive fewer mobile notifications. -- Want different desktop and mobile notifications? Select **Use different settings for my mobile devices**, and then select **All new messages**, or **Mentions, direct messages and group messages**. + - Want different desktop and mobile notifications? Select **Use different settings for my mobile devices**, and then select **All new messages**, or **Mentions, direct messages and group messages**. -Mobile app -~~~~~~~~~~ +.. tab:: Mobile app -In the mobile app, tap your profile picture, then tap **Settings > Notifications**. + In the mobile app, tap your profile picture, then tap **Settings > Notifications**. -- Tap **Mentions** to disable notifications based on keywords that trigger mentions, including first name, username, channel-wide @mentions, and keywords you've specified. -- Tap **Push Notifications** to choose what to be notified about. + - Tap **Mentions** to disable notifications based on keywords that trigger mentions, including first name, username, channel-wide @mentions, and keywords you've specified. + - Tap **Push Notifications** to choose what to be notified about. -You can also :ref:`manage email notifications ` and :ref:`send automatic replies to direct messages ` directly from your device. + You can also :ref:`manage email notifications ` and :ref:`send automatic replies to direct messages ` directly from your device. Incoming Call notifications ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/preferences/manage-your-web-notifications.rst b/source/preferences/manage-your-web-notifications.rst index 2932f4119be..0e0da25029f 100644 --- a/source/preferences/manage-your-web-notifications.rst +++ b/source/preferences/manage-your-web-notifications.rst @@ -13,7 +13,7 @@ Manage your web notifications Enable notifications -------------------- -From Mattermost v9.10, Mattermost prompts you to enable notifications in your web browser. +From Mattermost v9.10, Mattermost prompts you to grant permission to your web browser to show notifications. .. image:: ../images/enable-notifications.png :alt: From Mattermost v9.10, you're prompted to enable notifications. @@ -28,9 +28,11 @@ In a web browser, Mattermost icons display the following types of badges: - Numbered badges for unread :ref:`direct ` :ref:`group ` messages, :doc:`@mentions `, and :doc:`keywords ` you're actively watching. - - A red dot badge means an unread @mention or keyword. |chrome-mention-badge| +A red dot badge means you have unread @mentions, keywords, direct messages, and group messages. +|chrome-mention-badge| - - A black dot badge means an unread direct or group message. |chrome-activity-badge| +A black dot badge means you have unread activity in channels you're a member of. +|chrome-activity-badge| Notification sounds -------------------- @@ -47,7 +49,7 @@ Customize your notifications Reduce web notifications ~~~~~~~~~~~~~~~~~~~~~~~~~ -To reduce the number of notifications you receive, select **Desktop and mobile notifications > Mentions, direct messages, and group messages**, and save your changes. +To reduce the number of notifications you receive, select **Desktop and mobile notifications > Mentions, direct messages, and group messages**, and save your changes. You can set this preference across all channels or for specific channels. With limited notifications enabled, you can also choose to receive notifications about replies to threads you're following by selecting **Notify me about replies to threads I'm following**. @@ -74,4 +76,4 @@ Frequently asked questions Why am I prompted repeatedly enable notifications I don't want? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Mattermost will continue to prompt you to enable notifications in a web browser until you respond to the prompt. If you want to disable all Mattermost notifications, select **Enable notifications** when prompted, and then `disable all Mattermost web notifications <#disable-all-web-notifications>`__. \ No newline at end of file +Mattermost will continue to prompt you to grant permission to the browser to show notifications until you respond to the prompt. If you want to disable all Mattermost notifications, select **Enable notifications** when prompted, and then `disable all Mattermost web notifications <#disable-all-web-notifications>`__. From b75e8017c1a1903e71aec95015b3ffa2e9adfa2b Mon Sep 17 00:00:00 2001 From: Eva Sarafianou Date: Fri, 4 Oct 2024 15:37:38 +0300 Subject: [PATCH 09/12] fix version number (#7441) --- source/scale/elasticsearch.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/scale/elasticsearch.rst b/source/scale/elasticsearch.rst index 4cc519c8a8d..35e805444ec 100644 --- a/source/scale/elasticsearch.rst +++ b/source/scale/elasticsearch.rst @@ -26,7 +26,7 @@ Deploying Elasticsearch includes the following two steps: `setting up the Elasti Set up an Elasticsearch server ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1. Download and install the latest release of `Elasticsearch v8 `_, or `Elasticsearch v7.14+ `_. See the Elasticsearch documentation for installation details. +1. Download and install the latest release of `Elasticsearch v8 `_, or `Elasticsearch v7.17+ `_. See the Elasticsearch documentation for installation details. .. important:: From a788a6202889085f2c7374be4bfd4d618f6e7bed Mon Sep 17 00:00:00 2001 From: "Carrie Warner (Mattermost)" <74422101+cwarnermm@users.noreply.github.com> Date: Tue, 8 Oct 2024 09:10:17 -0400 Subject: [PATCH 10/12] Update legal hold plugin installation, setup, & usage (#7411) * Initial draft of legal hold updates * Latest plugin setup, config, & usage * Incorporated reviewer feedback * Update source/comply/legal-hold.rst * Added secret key workflow * Incorporated reviewer feedback * Update source/comply/legal-hold.rst Co-authored-by: Doug Lauder * Update source/comply/legal-hold.rst Co-authored-by: Doug Lauder --------- Co-authored-by: Doug Lauder --- source/comply/legal-hold.rst | 162 ++++++++++++++++------------ source/images/legal-hold-secret.png | Bin 0 -> 94806 bytes source/images/legal-holds.png | Bin 0 -> 21712 bytes 3 files changed, 92 insertions(+), 70 deletions(-) create mode 100644 source/images/legal-hold-secret.png create mode 100644 source/images/legal-holds.png diff --git a/source/comply/legal-hold.rst b/source/comply/legal-hold.rst index 856850a3ca8..c34a7b04b72 100644 --- a/source/comply/legal-hold.rst +++ b/source/comply/legal-hold.rst @@ -1,152 +1,174 @@ -Legal hold +Legal Hold =========== .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -A legal hold, also known as a litigation hold, is a process that an organization uses to preserve all forms of relevant information when litigation is reasonably anticipated. It's a requirement established by the Federal Rules of Civil Procedure (FRCP) in the United States and similar laws in other jurisdictions. +A Legal Hold, also known as a litigation hold, is a process that an organization uses to preserve all forms of relevant information when litigation is reasonably anticipated. It's a requirement established by the Federal Rules of Civil Procedure (FRCP) in the United States and similar laws in other jurisdictions. Primary use cases include: 1. **Litigation**: In anticipation or in the event of a lawsuit, organizations need to preserve all relevant documents and electronic data to ensure they can adequately defend their position. A failure to do so could result in court penalties. 2. **Regulatory investigation**: If an organization is being investigated by a regulatory body, it may be required to preserve and produce certain documents or data. 3. **Audits**: During an audit, whether internal or external, an organization might need to put a hold on certain data that is relevant to the audit. -4. **Records management**: In some cases, organizations might use a legal hold to temporarily suspend the deletion of data that would otherwise be purged as part of its records management policy. +4. **Records management**: In some cases, organizations might use a Legal Hold to temporarily suspend the deletion of data that would otherwise be purged as part of its records management policy. -Mattermost is used as a secure collaboration hub by technical and operational teams, with critical documents and data shared on a daily basis. Thus, legal hold is a key requirement for Enterprises and public sector organizations who have deployed Mattermost for their teams, to meet compliance & auditory requirements while minimizing risk. +Mattermost is used as a secure collaboration hub by technical and operational teams, with critical documents and data shared on a daily basis. Thus, Legal Hold is a key requirement for Enterprises and public sector organizations who have deployed Mattermost for their teams, to meet compliance & auditory requirements while minimizing risk. -Mattermost legal hold can be combined with :doc:`eDiscovery ` integration and :doc;`data retention policies ` to customize the data retained and deleted to comply with compliance requirements. +Mattermost Legal Hold can be combined with :doc:`eDiscovery ` integration and :doc:`data retention policies ` to customize the data retained and deleted to comply with compliance requirements. -Legal hold demo (Sneak Peek) +Legal Hold demo (Sneak Peek) ---------------------------- -Check out this `YouTube sneak peek demo `_ to learn about Mattermost's legal hold workflow. +Check out this `YouTube sneak peek demo `_ to learn about Mattermost's Legal Hold workflow. .. raw:: html - + -Below are step-by-step instructions on how to carry out a legal hold for Mattermost with XML-formatted data, Amazon S3 file storage, and archiving and compliance tools, such as `Smarsh `_. +Below are step-by-step instructions on how to carry out a Legal Hold for Mattermost using the Mattermost Legal Hold plugin. -How to carry out a legal hold +How to carry out a Legal Hold ----------------------------- Step 1: Upgrade to Mattermost Enterprise ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Legal hold is available in :ref:`Mattermost Enterprise `. Learn more about the Enterprise plan & request a quote online at https://mattermost.com/pricing/ +Legal Hold is available in :ref:`Mattermost Enterprise `. Learn more about the Enterprise plan & request a quote online at https://mattermost.com/pricing/ -Step 2: Establish a legal hold policy +Step 2: Establish a Legal Hold policy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Establish a policy for when to implement a legal hold. This should be developed in consultation with your legal counsel and should include procedures for identifying relevant custodians (those who have potentially relevant information). +Establish a policy for when to implement a Legal Hold. This should be developed in consultation with your legal counsel and should include procedures for identifying relevant users (those who have potentially relevant information). -Establishing a legal hold policy first enables you to configure the Mattermost system correctly to meet your compliance & auditory requirements, minimizing associated risk. +Establishing a Legal Hold policy first enables you to configure the Mattermost system correctly to meet your compliance & auditory requirements, minimizing associated risk. -Step 3: Enable legal hold in Mattermost -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Step 3: Set up the Mattermost Legal Hold plugin +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1 - Configure your file storage as Amazon S3 +Install the plugin +^^^^^^^^^^^^^^^^^^ + +1. Log in to your Mattermost workspace as a system administrator. +2. Download the latest version of the `plugin binary release `_, compatible with Mattermost v8.0.1 and later. If you are using an earlier version of Mattermost, :doc:`follow our documentation ` to upgrade to Mattermost v8.0.1 or later. +3. Go to **System Console > Plugins > Plugin Management > Upload Plugin**, and upload the plugin binary you downloaded in the previous step. +4. In the **Installed Plugins** section, scroll to **Legal Hold Plugin**, and select **Enable**. + +Configure the plugin +^^^^^^^^^^^^^^^^^^^^^ + +When the Legal Hold integration is enabled, you can configure when it runs using the format ``HH:MM ±HHMM`` and ``+0000`` for UTC. + +You can configure a custom Amazon S3 bucket for Legal Holds by specifying Amazon S3 configuration settings. If no S3 configuration is specified, the Mattermost server file store used. Learn more about file storage configuration options in our :ref:`product documentation `. + +(Optional) Configure a data retention policy ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1. In Mattermost, go to **System Console > Environment > File Storage**. -2. Set the **File Storage System** to **Amazon S3**. -3. Connect the Amazon S3 storage with Mattermost by specifying the S3 bucket name, prefix, AWS region, and hostname. You may optionally specify the access keys if using IAM roles, and you can optionally specify a separate S3 Bucket than the one configured for your Mattermost server. -4. Learn more about file storage configuration options in our :ref:`product documentation `. +You can optionally configure a :doc:`data retention policy ` to control how long data and file attachments are retained in the Mattermost database. -.. note:: +Step 4: Create a Legal Hold +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - For legal hold, only Amazon S3 is supported at this time, for increased reliability, compliance and automation capabilities. - - Support for additional file storage options such as MinIO or local file storage are under consideration. - - You may also optionally use our API to preserve data for legal hold. See our :ref:`electronic discovery ` product documentation to learn more. +In Mattermost, create a Legal Hold by completing the following steps: -2 - Enable compliance exports -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1. Go to **System Console > Plugins > Legal Hold Plugin**, and select **Create new**. +2. Enter a name for the Legal Hold. +3. Specify the user names or user groups of users you want to place on Legal Hold. +4. (Optional) Public channels are excluded by default. You can choose to include public channels that the specified users or user groups are members of, if preferred; however, doing so will significantly increase the amount of data held based on the number public channels available. +5. Specify the number of days that users are placed in Legal Hold with a start date. An end date is optional. +6. Select **Create Legal Hold**. `Downloadable data <#download-legal-hold-data>`__ won't be available until the next scheduled job runs. -Enable compliance exports containing all messages and file uploads in an XML format to your AWS S3 file storage. +Manage Legal Holds +^^^^^^^^^^^^^^^^^^ -The exports include information on channel member history at the time the message was posted, which is critical information for some legal hold use cases. Entries for deleted messages and files are also included. +While a Legal Hold is in place, you can edit details of the Legal Hold, access the Legal Hold Secret, as well as download a copy of the preserved data to your local machine. -1. In Mattermost, go to **System Console > Compliance > Compliance Export**. -2. Set **Enable Compliance Exports** to **true**. -3. Set the **Compliance Export time**. Choose a time when fewer people are using your system, such as 2:00AM your local time. -4. Set the export file format to **Actiance XML**. -5. Learn more about compliance export configuration options in our :doc:`product documentation `. +.. image:: ../images/legal-holds.png + :alt: An example of the Legal Hold management interface available to Mattermost system admins. -.. note:: +Edit a Legal Hold +:::::::::::::::::: - - For legal hold, only XML format is supported at this time. - - Support for additional file formats, such as CSV or EML, are under consideration. +Select the **Edit** |edit-on-github| icon to change the name of the Legal Hold, add or remove users, change the end date, as well as include or exclude public channels. -3 - Leverage compliance API in your DLP tool of choice -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Access a Legal Hold secret +::::::::::::::::::::::::::: -Connect it directly to the Amazon S3 bucket where compliance exports are stored. Our recommended DLP tool of choice is `Smarsh `_. Learn more about their legal hold & e-discovery processes in their `documentation `_. +A Legal Hold secret enables you to verify the authenticity of the data for a Legal Hold in Mattermost. -You may optionally also use other tools that connect with Amazon S3, such as Active360, AwareHQ, Onna, or Trellix, though our team will be able to provide limited support using these tools. +Select the **Show** |preview-icon| icon to display the Legal Hold secret key. Keep a copy of this key in a secure location. -4 - (Optional) Configure a data retention policy -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. image:: ../images/legal-hold-secret.png + :alt: An example of a Legal Hold Secret Key available to Mattermost system admins. -This is typically implemented alongside legal hold, though is not required. +To verfiy the contents of the files in this Legal Hold, you must append the processor command with the following flag: ``--legal-hold-secret ``. The output verifies the file and returns the authenticity state of files along with the rest of the output for the processor, as follows: -1. In Mattermost, go to **System Console > Compliance > Data Retention Policies**. -2. Set either a **Global retention policy** that applies to all messages and files older in your system, or a **custom retention policy** for specific teams or channels. -3. Learn more about data retention configuration options in our :doc:`product documentation `. +Success: -Step 4: Identify custodians -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. code-block:: text -Select the individuals or user groups that you want to place on legal hold. + Secret key was provided, verifying legal holds... + - Verifying Legal Hold *processor9*: Verified -Step 5: Initiate legal hold -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Error: + +.. code-block:: text + + ... + Secret key was provided, verifying legal holds... + - Verifying Legal Hold *processor9*: [Error] hash mismatch for file: legal_hold/processor9_i7k1dbkipiyojeess6ozi4agyr/index.json + ... -Use the built-in functionality in Smarsh to specify one or more custodians for legal hold, and the number of days the custodian(s) are placed on legal hold. +Download Legal Hold data +::::::::::::::::::::::::: + +Select the **Download** |download-icon| icon to download a copy of the preserved data to a location on your local machine. Note, no data will be available to download until at least one scheduled job is completed. This may take up to 24 hours. + +Step 5: Release a Legal Hold +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -While the legal hold is in place, you may edit it by adding or removing custodians, as well as access the preserved data. +Once the Legal Hold has completed, release it to take users off of the Legal Hold by selecting the **Release** option to the right of the Legal Hold task. -Step 6: Release legal hold -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. important:: -Once the legal hold has completed, release it in Smarsh. This action will take custodians off of the legal hold. + Once a Legal Hold is released, all data is irretrievably deleted from Mattermost and can't be recovered. Frequently asked questions --------------------------- -Who can implement legal hold? +Who can implement Legal Hold? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Only Mattermost system administrators can implement a legal hold. +Only Mattermost system admins can implement a Legal Hold. -Does a user know if they're placed under a legal hold in Mattermost? +Does a user know if they're placed under a Legal Hold in Mattermost? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -No, users will not be notified if they're placed under a legal hold. This allows for investigations to be conducted without influencing user behavior and without conflicts of interest. +No, users won't be notified if they're placed under a Legal Hold, and no reference to Legal Holds will be visible in their Mattermost client or accessible via the Mattermost API. This allows for investigations to be conducted without influencing user behavior and without conflicts of interest. -What types of content does legal hold cover? +What types of content does Legal Hold cover? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The legal hold covers all messages and file uploads shared in conversations where the legal hold is active, including messages posted by plugins, bots or webhooks. This includes messages or files shared in public channels, private channels, direct messages and group messages. +The Legal Hold covers all messages and file uploads shared in conversations where the Legal Hold is active, including messages posted by plugins, bots or webhooks. This includes messages or files shared in public channels, private channels, direct messages and group messages. -However, legal hold does not apply to reactions, collaborative playbooks, or audio calls. +However, Legal Hold does not apply to reactions, collaborative playbooks, or audio calls. -Can users delete their messages while on a legal hold? +Can users delete their messages while on a Legal Hold? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Yes, users can delete messages, but they are retained for the purposes of legal hold when implemented with the aforementioned steps. +Yes, users can delete messages, but they are retained for the purposes of Legal Hold when implemented with the aforementioned steps. -Can a legal hold be applied retroactively to collect past data? +Can a Legal Hold be applied retroactively to collect past data? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Yes, but this is only guaranteed for existing and future messages/files once legal hold is activated. It won't recover messages or files that were deleted before the legal hold was activated. +Yes, but this is only guaranteed for existing and future messages/files once Legal Hold is activated. It won't recover messages or files that were deleted before the Legal Hold was activated. -Is legal hold the same as e-discovery? +Is Legal Hold the same as e-discovery? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ No. While they serve a related use case, they are not the same. -Legal hold is an initial step to ensure relevant electronically stored information (ESI) is preserved. On the other hand, e-discovery is a multi-step process that uses this preserved data to identify, collect, preserve, process, review, and produce ESI in the context of a legal or investigative process. +Legal Hold is an initial step to ensure relevant electronically stored information (ESI) is preserved. On the other hand, e-discovery is a multi-step process that uses this preserved data to identify, collect, preserve, process, review, and produce ESI in the context of a legal or investigative process. How do I enable e-discovery for Mattermost? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/images/legal-hold-secret.png b/source/images/legal-hold-secret.png new file mode 100644 index 0000000000000000000000000000000000000000..0ddd11ee54cbe315e975502aa5cc8b8df7c1cfe7 GIT binary patch literal 94806 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