* 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>
While inspecting Pyroscope, the function api.ReturnJSON
was seen to take some chunk of the overall memory allocations.
Looking deeper, we can see that the entire object
is json marshalled into bytes, and then wrote to the network.
Instead, we can just do a streaming write to the network
which avoids pre-allocating the entire object.
A similar approach is taken in the server channels codebase
as well.
```release-note
NONE
```
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
```
Adopt `placeholder_boards_rudder_key` as the replacement value for injecting the telemetry key, allowing Boards to preserve its unique telemetry key.
Co-authored-by: Mattermost Build <build@mattermost.com>
Update playbooks to use the `placeholder_*` semantics in use by channels in boards. While debugging this, I realized the telemetry service isn't available until after `Start()` is called, so move most of the Playbooks initialization logic there.
* 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.
* Updated query to support old mysql version
* Added tests
* Using foundation for tests
* Removed unused override params
* Removed unused override params
* 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
```