We monitor the health of DB replicas, and on a fatal error,
take them out of the pool.
On a separate goroutine, we keep pinging the unhealthy replicas,
and on getting a good response back, we add them back to the pool.
https://mattermost.atlassian.net/browse/MM-50427
```release-note
Mattermost is now resilient against DB replica outages and will
dynamically choose a replica if it's alive.
Also added a config parameter ReplicaMonitorIntervalSeconds
whose default value is 5. This controls how frequently unhealthy
replicas will be monitored for liveness check.
```
Co-authored-by: Mattermost Build <build@mattermost.com>
- channel request types removed from fetchMyChannelsAndMembersREST
- removed isMinimumServerVersion check from that above action call, which is adding the query to include the archived channels
This issue involves updating the user picker functionality in the Mattermost web app's app framework. Currently, bot users are being displayed in the user picker for forms, which is not desired. The goal is to hide bot users from the user picker dropdown and only show real users. This can be achieved by filtering out any user that is a bot using the user.is_bot property. The necessary changes have been made in the apps_form_select_field.tsx file, specifically in the loadDynamicUserOptions function, which has been updated to filter out bot users using .filter((user) => !user.is_bot).
* update dependencies
* update default server config and client type
* close browser context once test is done
* fix test when switching a product
* update screenshots and readme
* add cross-env and make headless mode as default
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Generated values for settings are a random base64 string with a length of 32. Unfortunately, base64 has some accepted characters like `+` and `/` that don't behave correctly if we use them in a URL without the proper additional encoding.
Use instead this safe version of base64 https://datatracker.ietf.org/doc/html/rfc4648#section-5, where:
- `/` becomes `_`
- `+` becomes `-`
Fixes https://mattermost.atlassian.net/browse/MM-51923
* Enable products for channels tests
* increase unit test timeout; check IsConfigReadOnly
* make app-layers
* Avoid loading boards tempaltes between tests to improve speed
* Fix delete query to be compatible with both databases
* Avoid preserving the templates for boards store tests
* Run all tests in one command
* Revert "Run all tests in one command"
This reverts commit 0330f7cd8f96b47776770e8f80ba6ba18d98b8d1.
* concurrent pkg group tests in CI
* Revert "Revert "Run all tests in one command""
This reverts commit 73892fec772575ff054a99ba9e00a7b57ca74164.
* Revert "concurrent pkg group tests in CI"
This reverts commit 550fb6cdd4a7f14d9632f2626bc66f389173b5d9.
* try testing 3 subsets of packages concurrently to improve time taken
* Revert "try testing 3 subsets of packages concurrently to improve time taken"
This reverts commit 97475f3c4eafa8bbe047097e0841220884f68cdc.
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: wiggin77 <wiggin77@warpmail.net>
* eslint format lib to root
* eslint fixes
* no id rule removed
* same rectintl
* try 1
* eslint format lib to root
* eslint fixes
* no id rule removed
* same rectintl
* react intl in root
* type fix
* add back version to components
* missing translations added
* remove type casting
* a
* type fix formatjs
* snaps updated
* Update package-lock.json
* Update package-lock.json
* rem
* snapshot updates
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* Add selectors/urls to Channels
* Create utils/notification_sounds in Channels
* Move Utils.isLinux to UserAgent.isLinux
* Remove Utils.isMac in favour of UserAgent.isMac
* Move cmdOrCtrlPressed and isKeyPressed into new utils/keyboard
* Remove eslint-disable for max-lines in utils.tsx
Added Formatjs's built-in formatter called "simple". With this change, the intermediate Formatjs compile step is removed. Additionally, the npm command for Playbooks was standardised by replacing "extract" with "i18n-extract" to ensure consistency across all products.
Picks out formatjs-eslint-plugin to webapp root. Updates react-intl to 6.3.2 in all products. Executed i18n-extract and checked if any translations got changed. Although it was a major version update, the only breaking change was for a vue peer dependency. Adds "*" to take whatever dependency rule to products and declare the react-intl as the root package. Fixes a few lint and type errors cropped in due to the update No-ID rule removed from playbooks in preparation for unifying practices across products. Lastly, a few missing translations in Playbooks added
This package was added during the resolution of issues with Boards CI tests. This pull request isolates and tests the package's impact after recent npm changes. It was found that removing the stub package did not result in any issues.
This will be shown in the system console to let users know
which search backend is active.
Implemented via adding an extra param in the ping response.
https://mattermost.atlassian.net/browse/MM-49984
```release-note
The database section in the system console now has an additional
read-only section which shows the active search backend in use.
This can be helpful to confirm which is the currently active
search engine when there are multiple of them configured.
```
---------
Co-authored-by: Mattermost Build <build@mattermost.com>