diff --git a/docs/main/administration-guide/configure/environment-configuration-settings.mdx b/docs/main/administration-guide/configure/environment-configuration-settings.mdx index ed45ce7da308..2e23b6f6b43f 100644 --- a/docs/main/administration-guide/configure/environment-configuration-settings.mdx +++ b/docs/main/administration-guide/configure/environment-configuration-settings.mdx @@ -257,6 +257,34 @@ See the [setting up TLS for Mattermost](/deployment-guide/server/setup-tls) for +### Enable channel viewed WebSocket messages + + ++++ + + + + + + +

Determine whether channel_viewed WebSocket events are sent. These events synchronize unread notifications across a user's clients and devices.

  • true: (Default) channel_viewed WebSocket events are sent.
  • false: channel_viewed WebSocket events aren't sent.
  • System Config path: Environment > Web Server
  • config.json setting: ServiceSettings > EnableChannelViewedMessages > true
  • Environment variable: MM_SERVICESETTINGS_ENABLECHANNELVIEWEDMESSAGES
+ + + +Disabling this configuration setting in larger deployments may improve server performance in the following areas: + +- Reduced database load: When `channel_viewed` events are disabled, the server no longer needs to log these events in the database. This reduces the number of write and update operations, which can be substantial in a busy server with many users frequently switching channels. +- Decreased network traffic: Disabling these events means there are fewer messages sent between the server and clients. This reduction in network traffic can lower latency and improve the overall responsiveness of the server, especially for users with slower connections. +- Lower server CPU usage: Processing `channel_viewed` events requires CPU resources to handle database transactions and network communication. Without these events, the server's CPU can be utilized more efficiently for other tasks, improving the overall performance. +- Improved user experience: With reduced server load and network traffic, users may experience faster loading times and a more fluid interaction with the application. + +However, disabling this configuration setting affects some functionality, such as accurate tracking of read and unread messages in channels. It's important to balance performance improvements with the needs of your organization and users. + + + ### Enable insecure outgoing connections diff --git a/docs/main/administration-guide/configure/experimental-configuration-settings.mdx b/docs/main/administration-guide/configure/experimental-configuration-settings.mdx index fe539f051665..1e95f75958f2 100644 --- a/docs/main/administration-guide/configure/experimental-configuration-settings.mdx +++ b/docs/main/administration-guide/configure/experimental-configuration-settings.mdx @@ -135,33 +135,6 @@ Specify the maximum frequency, in seconds, which the batching job checks for new
-### Enable channel viewed websocket messages - -This setting determines whether `channel_viewed WebSocket` events are sent, which synchronize unread notifications across clients and devices. - - --- - - - - - -
This feature's config.json setting is "EnableChannelViewedMessages": true with options true and false.
- - - -Disabling this experimental configuration setting in larger deployments may improve server performance in the following areas: - -- Reduced Database Load: When channel_viewed events are disabled, the server no longer needs to log these events in the database. This reduces the number of write and update operations, which can be substantial in a busy server with many users frequently switching channels. -- Decreased Network Traffic: Disabling these events means there are fewer messages sent between the server and clients. This reduction in network traffic can lower latency and improve the overall responsiveness of the server, especially for users with slower connections. -- Lower Server CPU Usage: Processing channel_viewed events requires CPU resources to handle database transactions and network communication. Without these events, the server's CPU can be utilized more efficiently for other tasks, improving the overall performance. -- Improved User Experience: With reduced server load and network traffic, users may experience faster loading times and a more fluid interaction with the application. -- However, disabling this configuration setting affects some functionality, such as accurate tracking of read and unread messages in channels. It’s important to balance performance improvements with the needs of your organization and users. - - - ### Enable default channel leave/join system messages This setting determines whether team leave/join system messages are posted in the default `town-square` channel. diff --git a/server/public/model/config.go b/server/public/model/config.go index fb3608c99f86..7851daa30269 100644 --- a/server/public/model/config.go +++ b/server/public/model/config.go @@ -441,7 +441,7 @@ type ServiceSettings struct { EnableFileSearch *bool `access:"write_restrictable"` MinimumHashtagLength *int `access:"environment_database,write_restrictable,cloud_restrictable"` EnableUserTypingMessages *bool `access:"site_posts,write_restrictable,cloud_restrictable"` - EnableChannelViewedMessages *bool `access:"experimental_features,write_restrictable,cloud_restrictable"` + EnableChannelViewedMessages *bool `access:"environment_web_server,write_restrictable,cloud_restrictable"` EnableUserStatuses *bool `access:"write_restrictable,cloud_restrictable"` ExperimentalEnableAuthenticationTransfer *bool `access:"experimental_features"` ClusterLogTimeoutMilliseconds *int `access:"write_restrictable,cloud_restrictable"` diff --git a/webapp/channels/package.json b/webapp/channels/package.json index fc08df1aba03..b53b255ec243 100644 --- a/webapp/channels/package.json +++ b/webapp/channels/package.json @@ -75,13 +75,13 @@ "prop-types": "15.8.1", "react": "18.2.0", "react-beautiful-dnd": "13.1.1", - "react-bootstrap": "github:mattermost/react-bootstrap#05559f4c61c5a314783c390d2d82906ee8c7e558", + "react-bootstrap": "github:mattermost/react-bootstrap#c17701564a6f240a14419d94369936c380f917e5", "react-color": "2.19.3", "react-day-picker": "8.3.6", "react-dom": "18.2.0", "react-intl": "*", "react-is": "18.2.0", - "react-overlays": "0.9.3", + "react-overlays": "5.2.1", "react-redux": "9.2.0", "react-router-dom": "5.3.4", "react-select": "5.9.0", @@ -129,7 +129,6 @@ "@types/react-bootstrap": "0.32.35", "@types/react-color": "3.0.6", "@types/react-dom": "18.2.25", - "@types/react-overlays": "1.1.3", "@types/react-router-dom": "5.3.3", "@types/react-transition-group": "4.4.5", "@types/react-virtualized-auto-sizer": "1.0.1", diff --git a/webapp/channels/src/components/__snapshots__/get_link_modal.test.tsx.snap b/webapp/channels/src/components/__snapshots__/get_link_modal.test.tsx.snap index d4a06f09d104..98b23902937d 100644 --- a/webapp/channels/src/components/__snapshots__/get_link_modal.test.tsx.snap +++ b/webapp/channels/src/components/__snapshots__/get_link_modal.test.tsx.snap @@ -9,85 +9,82 @@ exports[`components/GetLinkModal should have called onHide when close button is aria-hidden="true" />