* MM-8810: Add CSV Compliance export
* Only allowing to schedule actiances export throught the cli
* De-duplicating some code
* Fixes on texts
* Fixes on translations
* MM-6992 Added highlighting to elasticsearch results
* Added a unique type for post search matches
* Fixed Elasticsearch matches not being sent through API
* MM-8701 Limit the number of client config fields sent before user logs in
* Fixed missing client config field
* Reduced duplication between limited and regular client config
* Prototype for CBA
* Fixing gofmt issues
* Do not require password if logging in with certificate
* Fixing issues from feedback
* Adding unit tests
* Fixing feedback
* Get the count of the all system users at endpoint /users/stats
* Added GetTotalUsersStats test in api4
* Changed pluralization and added the test back.
Some years ago, we explicitly disallowed keep-alive on connections
initiated by the golang driver to the mattermost-server, possibly due to
memory leak issues. While this path isn't used directly via a typical
werver/webapp setup, it makes sense to allow keep-alive for any
third-party programmatic use of the API.
This commit will allow us to test `master` with the behaviour over some
time to identify any potential new troubles.
* send websocket event whenever the channel has changed it's type (public|private)
* updated per comment
Signed-off-by: Saturnino Abril <saturnino.abril@gmail.com>
* add channel_converted websocket event
Signed-off-by: Saturnino Abril <saturnino.abril@gmail.com>
* only send channel_id via websocket message for "channel_converted" event
Signed-off-by: Saturnino Abril <saturnino.abril@gmail.com>
* allow `Wait()`ing on the supervisor
In the event the plugin supervisor shuts down a plugin for crashing too
many times, the new `Wait()` interface allows the `ActivatePlugin` to
accept a callback function to trigger when `supervisor.Wait()` returns.
If the supervisor shuts down normally, this callback is invoked with
a nil error, otherwise any error reported by the supervisor is passed
along.
* improve plugin activation/deactivation logic
Avoid triggering activation of previously failed-to-start plugins just
becase something in the configuration changed. Now, intelligently
compare the global enable bit as well as the each individual plugin's
enabled bit.
* expose store to manipulate PluginStatuses
* expose API to fetch plugin statuses
* keep track of whether or not plugin sandboxing is supported
* transition plugin statuses
* restore error on plugin activation if already active
* don't initialize test plugins until successfully loaded
* emit websocket events when plugin statuses change
* skip pruning if already initialized
* MM-8622: maintain plugin statuses in memory
Switch away from persisting plugin statuses to the database, and
maintain in memory instead. This will be followed by a cluster interface
to query the in-memory status of plugin statuses from all cluster nodes.
At the same time, rename `cluster_discovery_id` on the `PluginStatus`
model object to `cluster_id`.
* MM-8622: aggregate plugin statuses across cluster
* fetch cluster plugin statuses when emitting websocket notification
* address unit test fixes after rebasing
* relax (poor) racey unit test re: supervisor.Wait()
* make store-mocks
The previous complete removal of this field resulted in an
incompatibility with 4.x servers that could not handle the now null
column field.
Instead, ensure this field is at least always set to 0, with a plan to
remove it altogether in a future release.
* Set EnableUserCreation to true by default
* Fix argument type to FormatBool
* Convert EnableUserCreation instances to pointer
* Convert to boolean in tests also
* Set value of pointer to be false
* Convert remaining EnableUserCreation instances to pointer
* MM-10264: Adds CLI command to import and export permissions.
* MM-10264: Changes Scheme Name to DisplayName and adds Name slug field.
* MM-10264: Changes display name max size.
* MM-10264: Another merge fix.
* MM-10264: Changes for more Schemes methods checking for migration.
* MM-10264: More updates for Schemes migration checking.
* Remove api package
* Remove api dependency from cmd package
* Remove EnableAPIv3 setting
* Update web tests
* Add more websocket tests
* Move some ws and oauth tests to api4 package
* Move command tests into api4 package
* Test fixes
* Fix msg command test
* Add some app file tests
* MM-9728: Online migration for advanced permissions phase 2
* Add unit tests for new store functions.
* Move migration specific code to own file.
* Add migration state function test.
* Style fixes.
* Add i18n strings.
* Fix mocks.
* Add TestMain to migrations package tests.
* Fix typo.
* Fix review comments.
* Fix up the "Check if migration is done" check to actually work.