* MM-50960 - store system organization name
* restore the preparing workspace plugins and invite screens
* add back the page lines for the design
* add lines back and organize styles
* set back documentation to monorepo style and disable board as a product
* fix organization link and style skip button
* create team on organization name screen continue button click
* make sure there are not already created team and if so just update team name
* update the team display name if team has already been created
* cover error scenarios during team creation
* add pr feedback and add a couple of unit tests
* fix translation server error; make sure only update display name if it has changed in the form
* temp advances
* rewrite unit tests using react-testing library; fix unit tests
* fix translations
* make sure the launching workspace finish in cloud installations
* remove redundant validation
* fix unit tests
* remove unintended config value left after merge conflict
* MM-50550: Filter out threads from "left" channels v2
Currently leaving a channel doesn't affect the thread memberships of
that user/channel combination.
This PR aims to filter out all threads from those channels for the user.
Adds a DeleteAt column in the ThreadMemberships table, and filter out
all thread memberships that are "deleted".
Each time a user leaves a channel all thread memberships are going to be
marked as deleted, and when a user joins a channel again all those
existing thread memberships will be re-instantiated.
Adds a migration to mark all existing thread memberships as deleted
depending on whether there exists a channel membership for that
channel/user.
* Added migration files into list
* Fixes tests
* Fixes case where DeleteAt would be null
* Guard thread API endpoints with appropriate perms
* Deletes ThreadMembership rows upon leaving channel
* Minor style changes
* Use NoTranslation error
* Refactors tests
* Adds API tests to assert permissions on Team
* Adds tests, and fixes migrations
* Fixes test description
* Fix test
* Removes check on DM/GMs
* Change the MySQL query in the migration
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* 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>
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>
We would return "nil, nil" if a plugin was on the blocklist.
This would cause a nil dereference panic while trying to add
struct fields from manifest to the audit logs.
To avoid it, we return an error explicitly and ignore the
error ids to unnecessarily have it log an error.
https://mattermost.atlassian.net/browse/MM-51786
```release-note
NONE
```
After the monorepo integration, the boards product
was started before we started the hub.
This led to a data race where the GetHubForUserId was actually
called before the hub was initialized.
To fix this we initialize the platform first, and then the products.
https://mattermost.atlassian.net/browse/MM-52009
```release-note
NONE
```
Mockery started to throw errors like "Unexpected package creation during export data loading".
This was consistently reproducible locally and on upgrade, it has gone away.
```release-note
NONE
```
* bind to localhost:0 for tests
Explicitly bind to `localhost:0` instead of just `:0` to avoid binding to all available interfaces and in turn avoid triggering firewall warnings on MacOS.
* fix Playbooks to use dynamic port
* TestMetrics: handle ipv4 localhost too
* TestMetrics: linting
* MM-49564: Upsert in the Store vs App layer
Refactor drafts so that Upserting a draft would happen in the DB and not
in the app layer.
* Fixes mocks
* Fixes tests
* Fixes translations
* Fixes tests
* Update tests
* Fixes tests
* Addresses review comments
- renames Save => Upsert
- removes Sleep from tests
* Fixes flaky test
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* remove Boards feature flag from server, makefile, and docker
* Update server/boards/server/boards_service_util.go
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
---------
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
* Add new trial form to enrich trial requests with more customer info
* Update snapshots
* One more addition
* Fixes from PR feedback
* Fix types, i18n, update e2e tests
* Fix linter
* Fix i18n?
* Fix blank translation
* update snapshot
* Update snapshot properly
* Remove inapplicable test
* Fix business email validation only happening once
* UX Feedback
* Fix linter
* Fix linter again, not working locally
* FIX LINTER
* Move isvalid check until after some fields are set
* Fix for overlapping modals
* Fix linter
* UX feedback
* UX Feedback
* Fix typo in error modal
* [MM-51551] Add new Trial Form to Playbooks trial requests (#22650)
* Playbooks start trial entrypoints opens new trial form modal
* Fix style
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-51347] Trial form error modal for embargoed and air gapped entities (#22656)
* Playbooks start trial entrypoints opens new trial form modal
* Add support for air gapped environments when making trial requests
* Add specific handling for embargoed entities
* undo some code
* Fix linter
* Fix types
* Fix style
* Updates because TE has to upgrade to E0 before it can activate a trial
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
We log warnings whenever our websocket buffer sizes exceed
certain thresholds. The problem with that is, when this happens,
the logs are completely spammed with these lines
making it annoying for the customer.
To improve the situation, we use a timer that only gets reset
every minute.
https://mattermost.atlassian.net/browse/MM-51700
```release-note
NONE
```
* Revert "fix store issue take two"
This reverts commit 59f943c2c7ff7d88f7b36cc29e242042746e959e.
* Revert "fix store override issue"
This reverts commit 29c346757aa627c07d357c54991f9188c927dd1a.
* Revert "Fix TestPushNotificationRace"
This reverts commit 6d62dddf8679e82b02e8ad9fe7513217eef5b4ee.
* Revert "fix default DSN for CI"
This reverts commit e0e69cdbb0645bb50434f6b5bbd12bead1e7ce1d.
* Revert "disable playbooks from more unit tests"
This reverts commit a1e97a9e96bdd16537f5b6dbdc8335762617a9e0.
* Revert "disable playbooks for more tests"
This reverts commit 4d2dc74f05339f0b3cd28b997a2e35ae20f898be.
* Revert "disable playbooks for TestSAMLSettings"
This reverts commit 35c1a4312d0c6a0a64991520fa5b0892c083e6a1.
* Revert "disable playbooks for more unit tests"
This reverts commit c049631a1474cddf168b2be8feb24140e0dcfd48.
* Revert "disable playbooks for mocked enterprise tests"
This reverts commit 829317fddbd0e84866534a5a75e52dcffd2dbde7.
* Partially revert "disable playbooks for channel/apps mocked tests"
This reverts commit 52b4a0a6cf135d26f53298294ed23734aafae0d2.
* Revert "fix TestUnitUpdateConfig"
This reverts commit 8f134f2a8ae9765aa2b6f66d6827e10ef1f5109f.
* Revert "add plugin mock to TestUnitUpdateConfig"
This reverts commit 3ec5419092135f494fd04701b5cbbd15920e667b.
* Revert "disable Boards for more test helpers"
This reverts commit 5d4d0d02d9cf6f872f0304098c68a01a3aab0fbe.
* Revert "disable boards at correct place in test helpers"
This reverts commit 0c9e175f79293c8be4289c7424930388f207dc75.
* Partially revert "disable boards for slash cmd tests"
This reverts commit fad8d9de93f5ce351d2e50fd6448662e75f597ae.
* Revert "disable Boards for channels web tests"
This reverts commit 15540fdfc09cf927071af718d4ad0b2c58308328.
* Revert "Adds a teardown function to playbook server tests to disable and reenable boards"
This reverts commit 9a46e3d0f43f66d548994986b8c4029d58ad022f.
* Revert "Test disable boards through feature flag"
This reverts commit 787044add8ba8e2680a2c3c6ba11e709cebc8705.
* TestUnitUpdateConfig: restore callback check
* Revert "Revert "fix default DSN for CI""
This reverts commit 01b879d55ad1249265f23c6fd9ceb5d7730ddb3d.
* MM-45956: Optimize FileInfo stats query
We Denormalize Post.ChannelId on FileInfo.ChannelId
```release-note
The file info stats query is now optimized by denormalizing the channelID column into the table itself. This will speed up the query to get the file count for a channel on clicking the RHS.
Migration times:
On a MySQL 8.0.31 DB with
1405 rows in FileInfo and 11M posts, it took around 0.3s
On a Postgres 12.14 DB with
1731 rows in FileInfo and 11M posts, it took around 0.27s
```
https://mattermost.atlassian.net/browse/MM-45956
There is a standard IDNA2008 which defines how unicode characters
in domain names can be compared using UTS (Unicode Technical Standard) 46.
We use that to convert any links in messages to ASCII and
then compare with the domain list in config.
https://mattermost.atlassian.net/browse/MM-51486
```release-note
NONE
```