Commit Graph

272 Commits

Author SHA1 Message Date
Jonathan
375c0632fa PLT-7503: Create Message Export Scheduled Task and CLI Command (#7612)
* Created message export scheduled task

* Added CLI command to immediately kick off an export job

* Added email addresses for users joining and leaving the channel to the export

* Added support for both MySQL and PostgreSQL

* Fixing gofmt error

* Added a new ChannelMemberHistory store and associated tests

* Updating the ChannelMemberHistory channel as users create/join/leave channels

* Added user email to the message export object so it can be included in the actiance export xml

* Don't fail to log a leave event if a corresponding join event wasn't logged

* Adding copyright notices

* Adding message export settings to daily diagnostics report

* Added System Console integration for message export

* Cleaned up TODOs

* Made batch size configurable

* Added export from timestamp to CLI command

* Made ChannelMemberHistory table updates best effort

* Added a context-based timeout option to the message export CLI

* Minor PR updates/improvements

* Removed unnecessary fields from MessageExport object to reduce query overhead

* Removed JSON functions from the message export query in an effort to optimize performance

* Changed the way that channel member history queries and purges work to better account for edge cases

* Fixing a test I missed with the last refactor

* Added file copy functionality to file backend, improved config validation, added default config values

* Fixed file copy tests

* More concise use of the testing libraries

* Fixed context leak error

* Changed default export path to correctly place an 'export' directory under the 'data' directory

* Can't delete records from a read replica

* Fixed copy file tests

* Start job workers when license is applied, if configured to do so

* Suggestions from the PR

* Moar unit tests

* Fixed test imports
2017-11-30 09:07:04 -05:00
Chris Duarte
27ba68a789 Add Config to disable Auth Transfers. (#7843)
* Add Config to disable Auth Transfers.

* Set config ExperimentalEnableAuthenticationTransfer behind an E20 license restriction
2017-11-28 11:46:48 -08:00
Bret Mogilefsky
e85ec38301 Don't force AmazonS3Region (#7830)
In [this issue](https://mattermost.atlassian.net/browse/PLT-7475), it says that the UI text should be `Help Text: (Optional) AWS region you selected when creating your S3 bucket. If no region is set, Mattermost attempts to get the appropriate region from AWS, or sets it to "us-east-1" if none found.` 

The [Mattermost documentation](https://docs.mattermost.com/administration/config-settings.html#amazon-s3-region) says the default for this value is `""`, but it's set here. For this reason the behavior described above (getting the appropriate region from AWS, then falling back to `us-east-1` only if that fails) **does not happen**; Mattermost tries region `us-east-1` even if `AmazonS3Endpoint` points to a different region.
2017-11-24 09:58:12 -08:00
Chris Duarte
fdbfb9a4ed Replace Channel Name for Team in Email Notifications (#7839)
* allow option to set channel name in email notification subject

* Added TeamName to title when UseChannelInEmailNotifications=true
2017-11-24 12:57:02 -05:00
Harrison Healey
fed7a59d6a Added CloseUnusedDirectMessages to default.json (#7899) 2017-11-24 10:48:49 +00:00
Chris Duarte
cfa09ce0ef Hide pre-release features section of advanced settings pane. (#7847) 2017-11-21 10:45:41 -05:00
Corey Hulen
8e81ded9ba Fixing SAML sync (#7763) 2017-11-02 13:16:00 -07:00
Corey Hulen
b3b46a01aa PLT-5813 support SAML sync via LDAP (#7668)
* PLT-5813 support SAML sync via LDAP

* Cleaning up based on review
2017-10-31 08:37:34 -07:00
Joram Wilander
a0bfd2885d Add config setting to configure plugins directory (#7725) 2017-10-26 13:21:35 -04:00
George Goldberg
dcb59058cf PLT-7976: Configurable timeout for Elasticsearch requests. (#7716) 2017-10-25 14:48:29 -04:00
Joram Wilander
1d968eb55e PLT-7849 Add config setting to disable plugin uploads (#7666)
* Add config setting to disable plugin uploads

* Update unit test
2017-10-25 08:52:50 -04:00
George Goldberg
5474cff0eb PLT-7934: Make query for bulk elasticsearch indexing more efficient. (#7664) 2017-10-25 13:23:01 +01:00
George Goldberg
7b1fb3c2c7 PLT-7862: Support batched live indexing. (#7640) 2017-10-18 11:43:10 +01:00
Jason Blais
a649602fc3 Add two missing diagnostics entries (#7634)
* Update diagnostics.go

* Fix config setting name SessionIdleTimeoutInMinutes

* Update diagnostics.go
2017-10-16 18:17:12 -04:00
Joram Wilander
15b361094a PLT-7633 (E20) Add session idle timeout config setting (#7524)
* Add session idle timeout config setting

* Modify config setting name to SessionIdleTimeoutInMinutes

* Small re-org of if statement

* Merge with latest master
2017-09-28 14:04:52 +01:00
George Goldberg
8bef94d250 PLT-7694: Allow setting a prefix for Elasticsearch indexes. (#7500) 2017-09-22 08:44:19 -07:00
Jesús Espino
62e5e2fda8 PLT-7508: Add settings to disable wide mention confirmation (#7416) 2017-09-20 11:38:27 -04:00
George Goldberg
7243aa6751 PLT-6558: Basic data retention job scheduler/worker implementation. (#7449)
* PLT-7639: Batch delete methods for data retention.

* PLT-6558: Basic data retention job worker/scheduler implementation.
2017-09-15 09:53:48 -07:00
David Meza
1605fa5102 Configs for themes in Display Settings: hide themes options, hide custom themes, specific list of themes (#7173)
* Add configuration to enable or disable choosing themes in Display Settings. Only for Licensed servers.

* Add configuration to enable or disable choosing custom themes in Display Settings. Only for Licensed servers.

* Add configuration to enable or disable a specific list of themes to choose in Display Settings. Only for Licensed servers.

* Added config value and logic for "DefaultTheme"

* Fix problem with undefined values when the server is not licensed
2017-09-05 19:28:46 -05:00
Harrison Healey
09f8267751 PLT-7517 Added setting to enable tracing of Amazon S3 connections (#7349)
* PLT-7517 Added setting to enable tracing of Amazon S3 connections

* Removed unnecessary placeholders on boolean settings

* Added AmazonS3Trace to diagnostics

* Updated AmazonS3Trace setting name in system console

* Removing extra colon
2017-09-05 15:24:21 -04:00
David Meza
b6456a675d Add x to be able to leave public and private channels (#7145)
* Add config value EnableXToLeaveChannelsFromLHS that if true displays x to the right of private and public channels on the LHS.

* Displays x to the right of private and public channels on the LHS based on if EnableXToLeaveChannelsFromLHS=true.

* change the tooltip for private and public channels to `Leave channel`

* Add client-side event for when user clicks the "x" button. Different for public, private, DM.
2017-09-01 14:21:09 -04:00
David Meza
3c52801193 Config to make town square read only (#7140)
* Be able to make Town Square read-only (Disable typing messages for non admins).

* Do not emit UserTypingEvent when TownSquareIsReadOnly and is Town Square.

* Add unit tests for TownSquareIsReadOnly config value and logic.

* Add TownSquareIsReadOnly to System console>Policy. Added Telemetry.

* Add control for TownSquareIsReadOnly=true only for License Enterprise Edition E10 & E20.

* Update en.json

* Update en.json

* Update policy_settings.jsx

* Change config value from TownSquareIsReadOnly to ExperimentalTownSquareIsReadOnly.

* Refactored to simplify. Avoid code repeat and multiple db calls.
2017-09-01 09:53:55 -04:00
Joram Wilander
899ab31fff Implement experimental REST API endpoints for plugins (#7279)
* Implement experimental REST API endpoints for plugins

* Updates per feedback and rebase

* Update tests

* Further updates

* Update extraction of plugins

* Use OS temp dir for plugins instead of search path

* Fail extraction on paths that attempt to traverse upward

* Update pluginenv ActivePlugins()
2017-09-01 09:00:27 -04:00
Chris Duarte
510b1a18f5 Manage version configurations client versions (#7220)
* Add config values for client versions. Return client versions in ping response.

* Manage client version through System Console.

* Added client versions to diagnostics

* Added translations messages en.json file.

* Hide Client Versions on System Console.
2017-08-28 12:22:54 -04:00
Harrison Healey
086365fb84 PLT-7417/PLT-7425 (#7278)
PLT-7417/PLT-7425 Update config.json defaults and removed admin console link settings
2017-08-25 10:24:52 -04:00
Chris
1222e6cd41 make config.json play nicely with version control (#7221) 2017-08-20 23:47:14 -05:00
Christopher Speller
fd1301779f Merge branch 'release-4.1' 2017-08-17 09:35:36 -07:00
George Goldberg
22459ee17a PLT-7302: Aggregate Elasticsearch indexes over a certain age. (#7224)
* 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
2017-08-17 10:05:17 -04:00
Jonathan
e1e2566c67 PLT-7375: Email batching not on by default for accounts that have never touched their email settings (#7206)
* PLT-7375: Send batched emails if batching is enabled and user has not explicitly set their email interval preference

* PLT-7375: Reverting 4cf316fcd

* PLT-7375: Send batched emails if batching is enabled and user has not explicitly set their email interval preference

* PLT-7375: EnableEmailBatching was accidentally flipped to true in 10dcdeca4b, causing config_test.go::TestConfigFromEnviroVars to fail

* PLT-7375: EnableEmailBatching was accidentally flipped to true in 10dcdeca4b, causing config_test.go::TestConfigFromEnviroVars to fail

* PLT-7375: Reverted accidental changes to config

* PLT-7375: Manually fixing config.
2017-08-15 09:20:03 +08:00
Chris
ffbf8e51fe PLT-6358: Server HTTP client improvements (#6980)
* restrict untrusted, internal http connections by default

* command test fix

* more test fixes

* change setting from toggle to whitelist

* requested ui changes

* add isdefault diagnostic

* fix tests
2017-08-09 13:49:07 -07:00
Jonathan
178ccd16cb System Console: Email notification content setting (#7122)
* 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
2017-08-06 07:52:35 +08:00
George Goldberg
fac865bf65 Set Elasticsearch replica count default to 1. (#7108) 2017-08-04 14:48:17 +01:00
George Goldberg
29be10ca2f PLT-7275: Configure replica/shard count for Elasticsearch indexes. (#7093) 2017-08-02 09:50:09 -04:00
Chris
65817e13c7 PLT-6965 jira integration (plus plugin scaffolding) (#6918)
* plugin scaffolding / jira integration

* add vendored testify packages

* webhook fix

* don't change i18n ids

* support configuration watching

* add basic jira plugin configuration to admin console

* fix eslint errors

* fix another eslint warning

* polish

* undo unintentional config.json commit >:(

* test fix

* add jira plugin diagnostics, remove dm support, add bot tag, generate web-safe secrets

* rebase, implement requested changes

* requested changes

* remove tests and minimize makefile change

* add missing license headers

* add missing comma

* remove bad line from Makefile
2017-08-02 01:36:54 -07:00
Joram Wilander
59992ae4a4 PLT-6763 Implement user access tokens and new roles (server-side) (#6972)
* 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
2017-07-31 12:59:32 -04:00
AJ Moon
6f4e38d129 [GH-6366] Add functionality to disable Authentication when connecting to SMTP (#6639)
* Issue #6366: Add feature to disable auth for Encrypted connections to SMTP settings.

* Clean PLAIN AUTH Option

* Reorder SMTP server setup and change helptext

* remove unneeded setting and modify logic

* text description change
2017-07-31 08:15:01 -07:00
Harrison Healey
3c0f082506 PLT-6924 Added config options to disable file uploads/downloads on mobile (#7049) 2017-07-28 11:52:31 -06:00
George Goldberg
ff0a790516 PLT-7040: Fix capitalisation of Elasticsearch in Config. (#7020) 2017-07-27 08:48:02 +01:00
Christopher Speller
97f34e483b Merge branch 'release-4.0' 2017-07-18 15:45:23 -07:00
Saturnino Abril
40c0c0bd13 Enable emoji picker by default in config.json (#6871) 2017-07-08 07:25:57 +08:00
George Goldberg
0495a51949 PLT-6916: Redesign the jobs package and Jobserver. (#6733)
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.
2017-07-07 15:21:02 +01:00
Saturnino Abril
beac2b0da0 teammate name display setting: username as default or full_name when LDAP/SAML is enabled (#6857) 2017-07-05 22:35:17 -04:00
Saturnino Abril
279c7b7fda [PLT-6969] System console setting for the emoji picker (#6809)
* system console setting for the emoji picker

* remove state.emojiPickerEnable

* update url to /admin_console/customization/emoji
2017-07-06 08:48:34 +08:00
Saturnino Abril
6d6ed309b9 add "TeammateNameDisplay": "full_name" to config.json (#6845) 2017-07-04 15:27:44 -07:00
Joram Wilander
8ec8948c84 PLT-6554 Add config setting to control enabling API version 3 (#6835)
* Add config setting to control enabling API version 3

* Update help text for APIv3 config setting (#6843)

* Update configuration_settings.jsx

* Update en.json
2017-07-04 16:12:02 -04:00
Jason Blais
ac2c91c507 Fix EnablChannelViewedMessages typo (#6822)
* Update config.json

* Update config.go

* Update config.go

* Update channel.go

* Update post.go

* Update diagnostics.go

* Update config.go
2017-07-03 09:01:14 -04:00
Corey Hulen
eb7561e05b PLT-6610 sending websocket event for last channel viewed (#6787) 2017-06-29 07:51:15 -07:00
Saturnino Abril
648f333850 [PLT-6496] Remove System Console and config settings for image height and width (#6688)
* remove System Console and config settings for image height and width

* add constants and update config.json

* updated as per review
2017-06-29 10:39:57 -04:00
Corey Hulen
36f216cb7c PLT-6080 moving clustering to memberlist (#6499)
* PLT-6080 adding cluster discovery service

* Adding memberlist lib

* Adding memberlist lib

* WIP

* WIP

* WIP

* WIP

* Rolling back config changes

* Fixing make file

* Fixing config for cluster

* WIP

* Fixing system console for clustering

* Fixing default config

* Fixing config

* Fixing system console for clustering

* Tweaking hub setting

* Bumping up time

* merging vendor dir

* Updating vendor dir

* Fixing unit test

* Fixing bad merge

* Remove some testing code

* Moving comment

* PLT-6868 adding db ping retry

* Removing unused loc strings

* Adding defer to cancel
2017-06-19 08:44:04 -07:00
Ryan Wang
7ac8542750 Add README file to config directory (#6498) 2017-06-09 13:31:16 -07:00