* Prepare file upload infrastructure for Data Retention.
This commit prepares the file upload infrastructure for the data
retention feature that is under construction. Changes are:
* Move file management code to utils to allow access to it from jobs.
* From now on, store all file uploads in a top level folder which is the
date of the day on which they were uploaded.
This commit is based on Harrison Healey's branch, but updated to work
with the latest master.
* Use NewAppError
* PLT-7302: Aggregate Elasticsearch indexes over a certain age.
This is done by a scheduled daily job, in order to keep the shard count
to a sensible level in Elasticsearch.
* Use map[string]string instead of StringMap
* Added unit tests for getFile headers
* Fixed exe type test to run correctly on multiple platforms
* Make sure we close the body on all Client4 calls
* Changed Response.Response field to Response.Header
* Clarified type of Response.Header
* PLT-7195: Added new config option, new license feature, and config UI to system console. Still need to implement behaviour change in email batching code
* PLT-7195: Modified batch emails to respect email notification content type setting
* PLT-7195: Tweaking the colours a bit
* PLT-7195: Added support for email notification content type setting in immediate (non-batched) notification messages. Attempted to clean up the code somewhat. Unit tests coming in a future commit
* PLT-7195: Added unit tests for non-batched emails
* Checked license when applying email content settings
* Changed return type of getFormattedPostTime
* Revert "PLT-6603: Don't return all posts on invalid query. (#7061)"
This reverts commit 25a2013890.
* Revert " #4755 Combining consecutive user join/leave system messages to single message and few other changes. (#5945)"
This reverts commit 8a91235fb3.
* Implement user access tokens and new roles
* Update config.json
* Add public post permission to apiv3
* Remove old comment
* Fix model unit test
* Updates to store per feedback
* Updates per feedback from CS
This is necessary for certain users where
GetBucketLocation API is disabled using IAM
policies. There is a field AmazonS3Region
which we need to re-purpose and use to support
this properly.
Fixes https://github.com/mattermost/platform/issues/6999
* PLT-7177: Found default preference that needs to be changed
* PLT-7177: Front end behaves as desired
* PLT-7177: Changed default batching interval on server side
* PLT-7177: Added unit tests for new default interval
* PLT-7177: Removed unused import
* PLT-7177: Renamed constants to increase clarity
* ignore null array items in incoming webhooks / command responses
* consolidate code, process announcements in command response as well
* make a bit more idiomatic, add tests
* add missing file
* Fixes Elasticsearch to have consistent capitalisation everywhere
across the code and UI (except the config file unfortunately).
* Adds basic unit tests for Elastichsearch.
* Adds a Elasticsearch docker image to the Makefile to enable testing
the Elasticsearch feature.
This commit redesigns the jobserver to be based around an architecture
of "workers", which carry out jobs of a particular type, and "jobs"
which are a unit of work carried by a particular worker. It also
introduces "schedulers" which are responsible for scheduling jobs of a
particular type automatically (jobs can also be scheduled manually when
apropriate).
Workers may be run many times, either in instances of the platform
binary, or the standalone jobserver binary. In any mattermost cluster,
only one instance of platform OR jobserver must run the schedulers. At
the moment this is controlled by a config variable, but in future will
be controlled through the cluster leader election process.