Cypress/E2E: Upgrade cypress and test server config (#24594)

* upgrade cypress and test server config

* fix checks to lint and types

* fix CloudSettings and upgrade packages to latest

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
This commit is contained in:
Saturnino Abril 2023-10-03 22:26:37 +08:00 committed by GitHub
parent 43cb6fa6c1
commit f3f9a84456
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 2347 additions and 1544 deletions

View File

@ -95,6 +95,7 @@
"format": ["PascalCase"]
}
],
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-non-null-assertion": 0,
"@typescript-eslint/no-unused-vars": [
2,

File diff suppressed because it is too large Load Diff

View File

@ -1,54 +1,54 @@
{
"devDependencies": {
"@babel/eslint-parser": "7.21.8",
"@babel/eslint-plugin": "7.19.1",
"@cypress/request": "2.88.11",
"@mattermost/types": "7.10.0",
"@testing-library/cypress": "9.0.0",
"@types/async": "3.2.20",
"@types/authenticator": "1.1.1",
"@types/express": "4.17.17",
"@types/fs-extra": "11.0.1",
"@types/lodash": "4.14.194",
"@babel/eslint-parser": "7.22.15",
"@babel/eslint-plugin": "7.22.10",
"@cypress/request": "3.0.1",
"@mattermost/types": "9.0.0",
"@testing-library/cypress": "10.0.1",
"@types/async": "3.2.21",
"@types/authenticator": "1.1.2",
"@types/express": "4.17.18",
"@types/fs-extra": "11.0.2",
"@types/lodash": "4.14.199",
"@types/lodash.intersection": "4.4.7",
"@types/lodash.mapkeys": "4.6.7",
"@types/lodash.without": "4.4.7",
"@types/mime-types": "2.1.1",
"@types/mochawesome": "6.2.1",
"@types/pdf-parse": "1.1.1",
"@types/recursive-readdir": "2.2.1",
"@types/shelljs": "0.8.12",
"@types/uuid": "9.0.1",
"@typescript-eslint/eslint-plugin": "5.59.2",
"@typescript-eslint/parser": "5.59.2",
"@types/mime-types": "2.1.2",
"@types/mochawesome": "6.2.2",
"@types/pdf-parse": "1.1.2",
"@types/recursive-readdir": "2.2.2",
"@types/shelljs": "0.8.13",
"@types/uuid": "9.0.4",
"@typescript-eslint/eslint-plugin": "6.7.4",
"@typescript-eslint/parser": "6.7.4",
"async": "3.2.4",
"authenticator": "1.1.5",
"aws-sdk": "2.1371.0",
"axios": "1.4.0",
"axios-retry": "3.4.0",
"chai": "4.3.7",
"aws-sdk": "2.1468.0",
"axios": "1.5.1",
"axios-retry": "3.8.0",
"chai": "4.3.10",
"chalk": "4.1.2",
"client-oauth2": "github:larkox/js-client-oauth2#e24e2eb5dfcbbbb3a59d095e831dbe0012b0ac49",
"cross-env": "7.0.3",
"cypress": "12.11.0",
"cypress": "13.3.0",
"cypress-file-upload": "5.0.8",
"cypress-multi-reporters": "1.6.3",
"cypress-plugin-tab": "1.0.5",
"cypress-wait-until": "1.7.2",
"dayjs": "1.11.7",
"cypress-wait-until": "2.0.1",
"dayjs": "1.11.10",
"deepmerge": "4.3.1",
"dotenv": "16.0.3",
"eslint": "8.39.0",
"eslint-import-resolver-webpack": "0.13.2",
"eslint-plugin-cypress": "2.13.3",
"dotenv": "16.3.1",
"eslint": "8.50.0",
"eslint-import-resolver-webpack": "0.13.7",
"eslint-plugin-cypress": "2.15.1",
"eslint-plugin-header": "3.1.1",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-import": "2.28.1",
"eslint-plugin-mattermost": "github:mattermost/eslint-plugin-mattermost#5b0c972eacf19286e4c66221b39113bf8728a99e",
"eslint-plugin-no-only-tests": "3.1.0",
"eslint-plugin-react": "7.32.2",
"eslint-plugin-react": "7.33.2",
"express": "4.18.2",
"extract-zip": "2.0.1",
"knex": "2.4.2",
"knex": "2.5.1",
"localforage": "1.10.0",
"lodash.intersection": "4.4.0",
"lodash.mapkeys": "4.6.0",
@ -58,7 +58,7 @@
"mime": "3.0.0",
"mime-types": "2.1.35",
"mocha": "10.2.0",
"mocha-junit-reporter": "2.2.0",
"mocha-junit-reporter": "2.2.1",
"mocha-multi-reporters": "1.5.1",
"mochawesome": "7.1.3",
"mochawesome-merge": "4.3.0",
@ -67,12 +67,12 @@
"mysql": "2.18.1",
"path": "0.12.7",
"pdf-parse": "1.1.1",
"pg": "8.10.0",
"pg": "8.11.3",
"recursive-readdir": "2.2.3",
"shelljs": "0.8.5",
"timezones.json": "1.7.0",
"typescript": "5.0.4",
"uuid": "9.0.0",
"timezones.json": "1.7.1",
"typescript": "5.2.2",
"uuid": "9.0.1",
"yargs": "17.7.2"
},
"overrides": {
@ -81,7 +81,6 @@
}
},
"scripts": {
"postinstall": "patch-package",
"check-types": "tsc -b",
"cypress:open": "cross-env TZ=Etc/UTC cypress open",
"cypress:run": "cross-env TZ=Etc/UTC cypress run",
@ -97,8 +96,5 @@
"uniq-meta": "grep -r \"^// $META:\" cypress | grep -ow '@\\w*' | sort | uniq",
"check": "eslint --ext .js,.ts . --quiet --cache",
"fix": "eslint --ext .js,.ts . --quiet --fix --cache"
},
"dependencies": {
"patch-package": "7.0.0"
}
}

View File

@ -1,13 +0,0 @@
diff --git a/node_modules/@testing-library/cypress/dist/index.js b/node_modules/@testing-library/cypress/dist/index.js
index 9a03c94..b2d3aac 100644
--- a/node_modules/@testing-library/cypress/dist/index.js
+++ b/node_modules/@testing-library/cypress/dist/index.js
@@ -38,7 +38,7 @@ function createQuery(queryName, implementationName) {
};
const log = options.log !== false && Cypress.log({
name: queryName,
- type: this.get('prev').get('chainerId') === this.get('chainerId') ? 'child' : 'parent',
+ type: this.get('prev') && this.get('prev').get('chainerId') === this.get('chainerId') ? 'child' : 'parent',
message: inputArr,
timeout: options.timeout,
consoleProps: () => consoleProps

View File

@ -1,8 +1,6 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {UserProfile} from 'mattermost-redux/types/users';
// ***************************************************************
// - [#] indicates a test step (e.g. # Go to a page)
// - [*] indicates an assertion (e.g. * Check the title)
@ -13,7 +11,7 @@ import {UserProfile} from 'mattermost-redux/types/users';
// Group: @channels @channel
describe('Leave and Archive channel actions display as destructive', () => {
let testUser: UserProfile;
let testUser: Cypress.UserProfile;
let offTopicUrl: string;
before(() => {

View File

@ -10,116 +10,6 @@
// Stage: @prod
// Group: @channels @cloud_only @cloud_trial
function simulateSubscription() {
cy.intercept('GET', '**/api/v4/cloud/subscription/invoices', {
statusCode: 200,
body: [
{
id: 'in_1Lz8b0I67GP2qpb43kcuMyFP',
number: '8D53267B-0006',
create_at: 1667263490000,
total: 65,
tax: 0,
status: 'open',
description: '',
period_start: 1664582400000,
period_end: 1667260800000,
subscription_id: 'sub_K0AxuWCDoDD9Qq',
line_items: [
{
price_id: 'price_1KLUYiI67GP2qpb48DXFukcJ',
total: 65,
quantity: 0.06451612903225806,
price_per_unit: 1000,
description: 'Cloud Professional',
},
],
current_product_name: 'Cloud Professional',
},
{
id: 'in_1LntnKI67GP2qpb4VObu3NgP',
number: '8D53267B-0005',
create_at: 1664584986000,
total: 733,
tax: 0,
status: 'failed',
description: '',
period_start: 1661990400000,
period_end: 1664582400000,
subscription_id: 'sub_K0AxuWCDoDD9Qq',
line_items: [
{
price_id: 'price_1KLUZ2I67GP2qpb45uTS89eb',
total: 733,
quantity: 0.7333333333333333,
price_per_unit: 999,
description: 'Cloud Professional',
},
],
current_product_name: 'Cloud Professional',
},
{
id: 'in_1LntnKI67GP2qpb4VObu3NgV',
number: '8D53267B-0005',
create_at: 1664584986000,
total: 733,
tax: 0,
status: 'paid',
description: '',
period_start: 1661990400000,
period_end: 1664582400000,
subscription_id: 'sub_K0AxuWCDoDD9Qq',
line_items: [
{
price_id: 'price_1KLUZ2I67GP2qpb45uTS89eb',
total: 733,
quantity: 0.7333333333333333,
price_per_unit: 999,
description: 'Cloud Professional',
},
],
current_product_name: 'Cloud Professional',
},
],
});
cy.intercept('GET', '**/api/v4/cloud/subscription', {
statusCode: 200,
body: {
id: 'sub_test1',
is_free_trial: 'true',
customer_id: '5zqhakmibpgyix9juiwwkpfnmr',
product_id: 'prod_K0AxuWCDoDD9Qq',
seats: 25,
status: 'active',
},
});
cy.intercept('GET', '**/api/v4/cloud/products**', {
statusCode: 200,
body:
[
{
id: 'prod_LSBESgGXq9KlLj',
sku: 'cloud-starter',
price_per_seat: 0,
name: 'Cloud Free',
},
{
id: 'prod_K0AxuWCDoDD9Qq',
sku: 'cloud-professional',
price_per_seat: 10,
name: 'Cloud Professional',
},
{
id: 'prod_Jh6tBLcgWWOOog',
sku: 'cloud-enterprise',
price_per_seat: 30,
name: 'Cloud Enterprise',
},
],
});
}
describe('System Console - Billing History', () => {
before(() => {
simulateSubscription();
@ -166,6 +56,116 @@ describe('System Console - Billing History', () => {
cy.get('@tableRows').eq(1).find('td').eq(4).find('a').should('have.attr', 'href').and('include', 'invoices/in_1LntnKI67GP2qpb4VObu3NgP/pdf');
cy.get('@tableRows').eq(2).find('td').eq(4).find('a').should('have.attr', 'href').and('include', 'invoices/in_1LntnKI67GP2qpb4VObu3NgV/pdf');
});
function simulateSubscription() {
cy.intercept('GET', '**/api/v4/cloud/subscription/invoices', {
statusCode: 200,
body: [
{
id: 'in_1Lz8b0I67GP2qpb43kcuMyFP',
number: '8D53267B-0006',
create_at: 1667263490000,
total: 65,
tax: 0,
status: 'open',
description: '',
period_start: 1664582400000,
period_end: 1667260800000,
subscription_id: 'sub_K0AxuWCDoDD9Qq',
line_items: [
{
price_id: 'price_1KLUYiI67GP2qpb48DXFukcJ',
total: 65,
quantity: 0.06451612903225806,
price_per_unit: 1000,
description: 'Cloud Professional',
},
],
current_product_name: 'Cloud Professional',
},
{
id: 'in_1LntnKI67GP2qpb4VObu3NgP',
number: '8D53267B-0005',
create_at: 1664584986000,
total: 733,
tax: 0,
status: 'failed',
description: '',
period_start: 1661990400000,
period_end: 1664582400000,
subscription_id: 'sub_K0AxuWCDoDD9Qq',
line_items: [
{
price_id: 'price_1KLUZ2I67GP2qpb45uTS89eb',
total: 733,
quantity: 0.7333333333333333,
price_per_unit: 999,
description: 'Cloud Professional',
},
],
current_product_name: 'Cloud Professional',
},
{
id: 'in_1LntnKI67GP2qpb4VObu3NgV',
number: '8D53267B-0005',
create_at: 1664584986000,
total: 733,
tax: 0,
status: 'paid',
description: '',
period_start: 1661990400000,
period_end: 1664582400000,
subscription_id: 'sub_K0AxuWCDoDD9Qq',
line_items: [
{
price_id: 'price_1KLUZ2I67GP2qpb45uTS89eb',
total: 733,
quantity: 0.7333333333333333,
price_per_unit: 999,
description: 'Cloud Professional',
},
],
current_product_name: 'Cloud Professional',
},
],
});
cy.intercept('GET', '**/api/v4/cloud/subscription', {
statusCode: 200,
body: {
id: 'sub_test1',
is_free_trial: 'true',
customer_id: '5zqhakmibpgyix9juiwwkpfnmr',
product_id: 'prod_K0AxuWCDoDD9Qq',
seats: 25,
status: 'active',
},
});
cy.intercept('GET', '**/api/v4/cloud/products**', {
statusCode: 200,
body:
[
{
id: 'prod_LSBESgGXq9KlLj',
sku: 'cloud-starter',
price_per_seat: 0,
name: 'Cloud Free',
},
{
id: 'prod_K0AxuWCDoDD9Qq',
sku: 'cloud-professional',
price_per_seat: 10,
name: 'Cloud Professional',
},
{
id: 'prod_Jh6tBLcgWWOOog',
sku: 'cloud-enterprise',
price_per_seat: 30,
name: 'Cloud Enterprise',
},
],
});
}
});
describe('System Console - Empty Billing Screen', () => {

View File

@ -10,45 +10,6 @@
// Stage: @prod
// Group: @channels @cloud_only @cloud_trial
function simulateSubscription() {
cy.intercept('GET', '**/api/v4/cloud/subscription', {
statusCode: 200,
body: {
id: 'sub_test1',
is_free_trial: 'true',
customer_id: '5zqhakmibpgyix9juiwwkpfnmr',
product_id: 'prod_Jh6tBLcgWWOOog',
seats: 25,
status: 'active',
},
});
cy.intercept('GET', '**/api/v4/cloud/products**', {
statusCode: 200,
body:
[
{
id: 'prod_LSBESgGXq9KlLj',
sku: 'cloud-starter',
price_per_seat: 0,
name: 'Cloud Free',
},
{
id: 'prod_K0AxuWCDoDD9Qq',
sku: 'cloud-professional',
price_per_seat: 10,
name: 'Cloud Professional',
},
{
id: 'prod_Jh6tBLcgWWOOog',
sku: 'cloud-enterprise',
price_per_seat: 30,
name: 'Cloud Enterprise',
},
],
});
}
describe('System Console - Payment Information section', () => {
before(() => {
// * Check if server has license for Cloud
@ -116,5 +77,43 @@ describe('System Console - Payment Information section', () => {
cy.get('span.savedFeedback__text').should('be.visible').should('have.text', 'Thanks for sharing feedback!');
cy.get('button#feedbackSubmitedDone').should('be.enabled').click();
});
});
function simulateSubscription() {
cy.intercept('GET', '**/api/v4/cloud/subscription', {
statusCode: 200,
body: {
id: 'sub_test1',
is_free_trial: 'true',
customer_id: '5zqhakmibpgyix9juiwwkpfnmr',
product_id: 'prod_Jh6tBLcgWWOOog',
seats: 25,
status: 'active',
},
});
cy.intercept('GET', '**/api/v4/cloud/products**', {
statusCode: 200,
body:
[
{
id: 'prod_LSBESgGXq9KlLj',
sku: 'cloud-starter',
price_per_seat: 0,
name: 'Cloud Free',
},
{
id: 'prod_K0AxuWCDoDD9Qq',
sku: 'cloud-professional',
price_per_seat: 10,
name: 'Cloud Professional',
},
{
id: 'prod_Jh6tBLcgWWOOog',
sku: 'cloud-enterprise',
price_per_seat: 30,
name: 'Cloud Enterprise',
},
],
});
}
});

View File

@ -10,37 +10,6 @@
// Stage: @prod
// Group: @channels @enterprise @not_cloud @system_console
// # Goes to the System Scheme page as System Admin
const goToSessionLengths = () => {
cy.apiAdminLogin();
cy.visit('/admin_console/environment/session_lengths');
};
// # Wait's until the Saving text becomes Save
const waitUntilConfigSave = () => {
cy.waitUntil(() => cy.get('#saveSetting').then((el) => {
return el[0].innerText === 'Save';
}));
};
// Clicks the save button in the system console page.
// waitUntilConfigSaved: If we need to wait for the save button to go from saving -> save.
// Usually we need to wait unless we are doing this in team override scheme
const saveConfig = (waitUntilConfigSaved = true, clickConfirmationButton = false) => {
// # Save if possible (if previous test ended abruptly all permissions may already be enabled)
cy.get('#saveSetting').then((btn) => {
if (btn.is(':enabled')) {
btn.click();
}
});
if (clickConfirmationButton) {
cy.get('#confirmModalButton').click();
}
if (waitUntilConfigSaved) {
waitUntilConfigSave();
}
};
describe('MM-T2574 Session Lengths', () => {
before(() => {
cy.shouldNotRunOnCloudEdition();
@ -125,4 +94,35 @@ describe('MM-T2574 Session Lengths', () => {
}
});
});
// # Goes to the System Scheme page as System Admin
const goToSessionLengths = () => {
cy.apiAdminLogin();
cy.visit('/admin_console/environment/session_lengths');
};
// # Wait's until the Saving text becomes Save
const waitUntilConfigSave = () => {
cy.waitUntil(() => cy.get('#saveSetting').then((el) => {
return el[0].innerText === 'Save';
}));
};
// Clicks the save button in the system console page.
// waitUntilConfigSaved: If we need to wait for the save button to go from saving -> save.
// Usually we need to wait unless we are doing this in team override scheme
const saveConfig = (waitUntilConfigSaved = true, clickConfirmationButton = false) => {
// # Save if possible (if previous test ended abruptly all permissions may already be enabled)
cy.get('#saveSetting').then((btn) => {
if (btn.is(':enabled')) {
btn.click();
}
});
if (clickConfirmationButton) {
cy.get('#confirmModalButton').click();
}
if (waitUntilConfigSaved) {
waitUntilConfigSave();
}
};
});

View File

@ -9,26 +9,6 @@
// Group: @channels @enterprise @not_cloud
function withTrialBefore(trialed: string) {
cy.intercept('GET', '**/api/v4/trial-license/prev', {
statusCode: 200,
body: {
IsLicensed: trialed,
IsTrial: trialed,
},
});
}
function withTrialLicense(trial: string) {
cy.intercept('GET', '**/api/v4/license/client?format=old', {
statusCode: 200,
body: {
IsLicensed: 'true',
IsTrial: trial,
},
});
}
describe('Self hosted Pricing modal', () => {
let urlL: string | undefined;
let createdUser: Cypress.UserProfile | undefined;
@ -191,4 +171,24 @@ describe('Self hosted Pricing modal', () => {
cy.findByText('https://mattermost.com/pl/pricing/#self-hosted').last().should('exist');
});
function withTrialBefore(trialed: string) {
cy.intercept('GET', '**/api/v4/trial-license/prev', {
statusCode: 200,
body: {
IsLicensed: trialed,
IsTrial: trialed,
},
});
}
function withTrialLicense(trial: string) {
cy.intercept('GET', '**/api/v4/license/client?format=old', {
statusCode: 200,
body: {
IsLicensed: 'true',
IsTrial: trial,
},
});
}
});

View File

@ -26,7 +26,7 @@ describe('channels > App Bar', {testIsolation: true}, () => {
describe('App Bar disabled', () => {
it('should not show the Playbook App Bar icon', () => {
cy.apiUpdateConfig({ExperimentalSettings: {EnableAppBar: false}});
cy.apiUpdateConfig({ExperimentalSettings: {DisableAppBar: true}});
// # Login as testUser
cy.apiLogin(testUser);
@ -41,7 +41,7 @@ describe('channels > App Bar', {testIsolation: true}, () => {
describe('App Bar enabled', () => {
beforeEach(() => {
cy.apiUpdateConfig({ExperimentalSettings: {EnableAppBar: true}});
cy.apiUpdateConfig({ExperimentalSettings: {DisableAppBar: false}});
// # Login as testUser
cy.apiLogin(testUser);

View File

@ -47,7 +47,7 @@ describe('channels > channel header', {testIsolation: true}, () => {
describe('App Bar enabled', () => {
it('webapp should hide the Playbook channel header button', () => {
cy.apiAdminLogin();
cy.apiUpdateConfig({ExperimentalSettings: {EnableAppBar: true}});
cy.apiUpdateConfig({ExperimentalSettings: {DisableAppBar: false}});
// # Login as testUser
cy.apiLogin(testUser);
@ -65,7 +65,7 @@ describe('channels > channel header', {testIsolation: true}, () => {
describe('App Bar disabled', () => {
beforeEach(() => {
cy.apiAdminLogin();
cy.apiUpdateConfig({ExperimentalSettings: {EnableAppBar: false}});
cy.apiUpdateConfig({ExperimentalSettings: {DisableAppBar: true}});
// # Login as testUser
cy.apiLogin(testUser);

View File

@ -43,7 +43,7 @@ declare namespace Cypress {
* @example
* cy.apiGetBots();
*/
apiGetBots(page: number, perPage: number, includeDeleted: boolean): Chainable<{bots: Bot[]}>;
apiGetBots(page?: number, perPage?: number, includeDeleted?: boolean): Chainable<{bots: Bot[]}>;
/**
* Disable bot.

View File

@ -1,37 +1,117 @@
{
"ServiceSettings": {
"SiteURL": "http://localhost:8065",
"WebsocketURL": "",
"LicenseFileLocation": "",
"ListenAddress": ":8065",
"ConnectionSecurity": "",
"TLSCertFile": "",
"TLSKeyFile": "",
"TLSMinVer": "1.2",
"TLSStrictTransport": false,
"TLSStrictTransportMaxAge": 63072000,
"TLSOverwriteCiphers": [],
"UseLetsEncrypt": false,
"LetsEncryptCertificateCacheFile": "./config/letsencrypt.cache",
"Forward80To443": false,
"TrustedProxyIPHeader": [],
"ReadTimeout": 300,
"WriteTimeout": 300,
"IdleTimeout": 300,
"MaximumLoginAttempts": 10,
"GoroutineHealthThreshold": -1,
"EnableOAuthServiceProvider": false,
"EnableIncomingWebhooks": true,
"EnableOutgoingWebhooks": true,
"EnableCommands": true,
"EnablePostUsernameOverride": false,
"EnablePostIconOverride": false,
"GoogleDeveloperKey": "",
"EnableLinkPreviews": false,
"EnablePermalinkPreviews": true,
"RestrictLinkPreviews": "",
"EnableTesting": false,
"EnableDeveloper": false,
"DeveloperFlags": "",
"EnableClientPerformanceDebugging": false,
"EnableOpenTracing": false,
"EnableSecurityFixAlert": true,
"EnableInsecureOutgoingConnections": false,
"AllowedUntrustedInternalConnections": "localhost",
"EnableMultifactorAuthentication": false,
"EnforceMultifactorAuthentication": false,
"EnableUserAccessTokens": false,
"AllowCorsFrom": "",
"CorsExposedHeaders": "",
"CorsAllowCredentials": false,
"CorsDebug": false,
"AllowCookiesForSubdomains": false,
"ExtendSessionLengthWithActivity": true,
"SessionLengthWebInDays": 30,
"SessionLengthWebInHours": 720,
"SessionLengthMobileInDays": 30,
"SessionLengthMobileInHours": 720,
"SessionLengthSSOInDays": 30,
"SessionLengthSSOInHours": 720,
"SessionCacheInMinutes": 10,
"SessionIdleTimeoutInMinutes": 43200,
"WebsocketSecurePort": 443,
"WebsocketPort": 80,
"WebserverMode": "gzip",
"EnableGifPicker": false,
"GiphySdkKey": "s0glxvzVg9azvPipKxcPLpXV0q1x1fVP",
"EnableCustomEmoji": false,
"EnableEmojiPicker": true,
"EnableGifPicker": false,
"PostEditTimeLimit": -1,
"TimeBetweenUserTypingUpdatesMilliseconds": 5000,
"EnablePostSearch": true,
"EnableFileSearch": true,
"MinimumHashtagLength": 3,
"EnableUserTypingMessages": true,
"EnableChannelViewedMessages": true,
"EnableUserStatuses": true,
"ExperimentalEnableAuthenticationTransfer": true,
"ClusterLogTimeoutMilliseconds": 2000,
"EnablePreviewFeatures": true,
"EnableTutorial": true,
"EnableOnboardingFlow": false,
"ExperimentalEnableDefaultChannelLeaveJoinMessages": true,
"ExperimentalGroupUnreadChannels": "disabled",
"EnableAPITeamDeletion": true,
"EnableAPITriggerAdminNotifications": false,
"EnableAPIUserDeletion": false,
"ExperimentalEnableHardenedMode": false,
"ExperimentalStrictCSRFEnforcement": false,
"EnableEmailInvitations": true,
"DisableBotsWhenOwnerIsDeactivated": true,
"EnableBotAccountCreation": true,
"EnableSVGs": true,
"EnableLatex": false,
"EnableLegacySidebar": false,
"EnableInlineLatex": true,
"PostPriority": true,
"AllowPersistentNotifications": true,
"AllowPersistentNotificationsForGuests": false,
"PersistentNotificationIntervalMinutes": 5,
"PersistentNotificationMaxCount": 6,
"PersistentNotificationMaxRecipients": 5,
"EnableAPIChannelDeletion": false,
"EnableLocalMode": false,
"LocalModeSocketLocation": "/var/tmp/mattermost_local.socket",
"EnableAWSMetering": false,
"SplitKey": "",
"FeatureFlagSyncIntervalSeconds": 30,
"DebugSplit": false,
"ThreadAutoFollow": true,
"CollapsedThreads": "disabled"
"CollapsedThreads": "disabled",
"ManagedResourcePaths": "",
"EnableCustomGroups": true,
"SelfHostedPurchase": true,
"AllowSyncedDrafts": true
},
"TeamSettings": {
"SiteName": "Mattermost",
"MaxUsersPerTeam": 2000,
"EnableJoinLeaveMessageByDefault": true,
"EnableUserCreation": true,
"EnableOpenServer": true,
"EnableUserDeactivation": false,
@ -41,6 +121,7 @@
"CustomBrandText": "",
"CustomDescriptionText": "",
"RestrictDirectMessage": "any",
"EnableLastActiveTime": true,
"UserStatusAwayTimeout": 300,
"MaxChannelsPerTeam": 2000,
"MaxNotificationsPerChannel": 1000,
@ -52,12 +133,19 @@
"ExperimentalPrimaryTeam": "",
"ExperimentalDefaultChannels": []
},
"ClientRequirements": {
"AndroidLatestVersion": "",
"AndroidMinVersion": "",
"IosLatestVersion": "",
"IosMinVersion": ""
},
"PasswordSettings": {
"MinimumLength": 5,
"Lowercase": false,
"Number": false,
"Uppercase": false,
"Symbol": false
"Symbol": false,
"EnableForgotLink": true
},
"EmailSettings": {
"EnableSignUpWithEmail": true,
@ -67,14 +155,27 @@
"UseChannelInEmailNotifications": false,
"RequireEmailVerification": false,
"FeedbackName": "",
"FeedbackEmail": "test@example.com",
"ReplyToAddress": "test@example.com",
"FeedbackOrganization": "",
"EnableSMTPAuth": false,
"SMTPUsername": "",
"SMTPPassword": "",
"SMTPServer": "localhost",
"SMTPPort": "10025",
"SMTPServerTimeout": 10,
"ConnectionSecurity": "",
"SendPushNotifications": true,
"PushNotificationServer": "https://push-test.mattermost.com",
"PushNotificationServerType": "custom",
"PushNotificationServerLocation": "us",
"PushNotificationContents": "generic",
"PushNotificationBuffer": 1000,
"EnableEmailBatching": false,
"EmailBatchingBufferSize": 256,
"EmailBatchingInterval": 30,
"EnablePreviewModeBanner": true,
"SkipServerCertificateVerification": false,
"EmailNotificationContentsType": "full",
"LoginButtonColor": "#0000",
"LoginButtonBorderColor": "#2389D7",
@ -85,6 +186,12 @@
"ShowFullName": true
},
"SupportSettings": {
"TermsOfServiceLink": "https://mattermost.com/pl/terms-of-use/",
"PrivacyPolicyLink": "https://mattermost.com/pl/privacy-policy/",
"AboutLink": "https://mattermost.com/pl/about-mattermost",
"HelpLink": "https://mattermost.com/pl/help/",
"ReportAProblemLink": "https://mattermost.com/pl/report-a-bug",
"ForgotPasswordLink": "",
"SupportEmail": "",
"CustomTermsOfServiceEnabled": false,
"CustomTermsOfServiceReAcceptancePeriod": 365,
@ -97,7 +204,10 @@
"BannerTextColor": "#333333",
"AllowBannerDismissal": true,
"AdminNoticesEnabled": false,
"UserNoticesEnabled": false
"UserNoticesEnabled": false,
"NoticesURL": "https://notices.mattermost.com/",
"NoticesFetchFrequency": 3600,
"NoticesSkipCache": false
},
"ThemeSettings": {
"EnableThemeSelection": true,
@ -112,7 +222,10 @@
"Scope": "",
"AuthEndpoint": "",
"TokenEndpoint": "",
"UserAPIEndpoint": ""
"UserAPIEndpoint": "",
"DiscoveryEndpoint": "",
"ButtonText": "",
"ButtonColor": ""
},
"GoogleSettings": {
"Enable": false,
@ -121,7 +234,10 @@
"Scope": "profile email",
"AuthEndpoint": "https://accounts.google.com/o/oauth2/v2/auth",
"TokenEndpoint": "https://www.googleapis.com/oauth2/v4/token",
"UserAPIEndpoint": "https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses,nicknames,metadata"
"UserAPIEndpoint": "https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses,nicknames,metadata",
"DiscoveryEndpoint": "",
"ButtonText": "",
"ButtonColor": ""
},
"Office365Settings": {
"Enable": false,
@ -131,8 +247,21 @@
"AuthEndpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
"TokenEndpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
"UserAPIEndpoint": "https://graph.microsoft.com/v1.0/me",
"DiscoveryEndpoint": "",
"DirectoryId": ""
},
"OpenIdSettings": {
"Enable": false,
"Secret": "",
"Id": "",
"Scope": "profile openid email",
"AuthEndpoint": "",
"TokenEndpoint": "",
"UserAPIEndpoint": "",
"DiscoveryEndpoint": "",
"ButtonText": "",
"ButtonColor": "#145DBF"
},
"LdapSettings": {
"Enable": true,
"EnableSync": false,
@ -160,6 +289,8 @@
"PictureAttribute": "",
"SyncIntervalMinutes": 10000,
"SkipCertificateVerification": true,
"PublicCertificateFile": "",
"PrivateKeyFile": "",
"QueryTimeout": 60,
"MaxPageSize": 500,
"LoginFieldName": "",
@ -170,7 +301,9 @@
},
"ComplianceSettings": {
"Enable": false,
"EnableDaily": false
"Directory": "./data/",
"EnableDaily": false,
"BatchSize": 30000
},
"LocalizationSettings": {
"DefaultServerLocale": "en",
@ -181,12 +314,14 @@
"Enable": false,
"EnableSyncWithLdap": false,
"EnableSyncWithLdapIncludeAuth": false,
"IgnoreGuestsLdapSync": false,
"Verify": true,
"Encrypt": true,
"SignRequest": false,
"IdpURL": "",
"IdpDescriptorURL": "",
"IdpMetadataURL": "",
"ServiceProviderIdentifier": "",
"AssertionConsumerServiceURL": "",
"SignatureAlgorithm": "RSAwithSHA1",
"CanonicalAlgorithm": "Canonical1.0",
@ -211,18 +346,32 @@
"LoginButtonBorderColor": "#2389D7",
"LoginButtonTextColor": "#ffffff"
},
"NativeAppSettings": {
"AppCustomURLSchemes": ["mmauth://", "mmauthbeta://"],
"AppDownloadLink": "https://mattermost.com/pl/download-apps",
"AndroidAppDownloadLink": "https://mattermost.com/pl/android-app/",
"IosAppDownloadLink": "https://mattermost.com/pl/ios-app/"
},
"ClusterSettings": {
"Enable": false
},
"ExperimentalSettings": {
"RestrictSystemAdmin": true
},
"AnalyticsSettings": {
"MaxUsersForStatistics": 2500
},
"DataRetentionSettings": {
"EnableMessageDeletion": false,
"EnableFileDeletion": false,
"EnableBoardsDeletion": false,
"MessageRetentionDays": 365,
"FileRetentionDays": 365,
"DeletionJobStartTime": "02:00"
"BoardsRetentionDays": 365,
"DeletionJobStartTime": "02:00",
"BatchSize": 3000,
"TimeBetweenBatchesMilliseconds": 100,
"RetentionIdsBatchSize": 100
},
"MessageExportSettings": {
"EnableExport": false,
@ -230,37 +379,51 @@
"DailyRunTime": "01:00",
"ExportFromTimestamp": 0,
"BatchSize": 10000,
"DownloadExportResults": false,
"GlobalRelaySettings": {
"CustomerType": "A9",
"SMTPUsername": "",
"SMTPPassword": "",
"EmailAddress": ""
"EmailAddress": "",
"SMTPServerTimeout": 1800
}
},
"ProductSettings": {},
"PluginSettings": {
"Enable": true,
"EnableUploads": true,
"AllowInsecureDownloadURL": false,
"EnableHealthCheck": true,
"Directory": "./plugins",
"ClientDirectory": "./client/plugins",
"Plugins": {},
"PluginStates": {
"com.mattermost.calls": {
"Enable": false
},
"com.mattermost.nps": {
"Enable": false
},
"com.mattermost.plugin-incident-response": {
"Enable": false
},
"com.mattermost.plugin-incident-management": {
"Enable": false
},
"focalboard": {
"Enable": false
"playbooks": {
"Enable": true
}
}
},
"EnableMarketplace": true,
"EnableRemoteMarketplace": true,
"AutomaticPrepackagedPlugins": true,
"RequirePluginSignature": false,
"MarketplaceURL": "https://api.integrations.mattermost.com",
"SignaturePublicKeyFiles": [],
"ChimeraOAuthProxyURL": ""
},
"DisplaySettings": {
"CustomURLSchemes": [],
"MaxMarkdownNodes": 0,
"ExperimentalTimezone": false
},
"GuestAccountsSettings": {
"Enable": true,
"HideTags": false,
"AllowEmailAccounts": true,
"EnforceMultifactorAuthentication": false,
"RestrictCreationToDomains": ""
@ -270,5 +433,13 @@
"ImageProxyType": "local",
"RemoteImageProxyURL": "",
"RemoteImageProxyOptions": ""
},
"ImportSettings": {
"Directory": "./import",
"RetentionDays": 30
},
"ExportSettings": {
"Directory": "./export",
"RetentionDays": 30
}
}

View File

@ -8,7 +8,7 @@
import {ChainableT} from '../../types';
function apiCreateCustomUserGroup(displayName: string, name: string, userIds: string[]): ChainableT<Cypress.Group> {
function apiCreateCustomUserGroup(displayName: string, name: string, userIds: string[]): ChainableT<Cypress.Response<any>> {
return cy.request({
headers: {'X-Requested-With': 'XMLHttpRequest'},
url: '/api/v4/groups',

View File

@ -12,22 +12,28 @@
"TLSStrictTransportMaxAge": 63072000,
"TLSOverwriteCiphers": [],
"UseLetsEncrypt": false,
"LetsEncryptCertificateCacheFile": "./config/letsencrypt.cache",
"Forward80To443": false,
"TrustedProxyIPHeader": [],
"ReadTimeout": 300,
"WriteTimeout": 300,
"IdleTimeout": 300,
"MaximumLoginAttempts": 10,
"GoroutineHealthThreshold": -1,
"GoogleDeveloperKey": "",
"EnableOAuthServiceProvider": false,
"EnableIncomingWebhooks": true,
"EnableOutgoingWebhooks": true,
"EnableCommands": true,
"EnablePostUsernameOverride": false,
"EnablePostIconOverride": false,
"GoogleDeveloperKey": "",
"EnableLinkPreviews": false,
"EnablePermalinkPreviews": true,
"RestrictLinkPreviews": "",
"EnableTesting": false,
"EnableDeveloper": false,
"DeveloperFlags": "",
"EnableClientPerformanceDebugging": false,
"EnableOpenTracing": false,
"EnableSecurityFixAlert": true,
"EnableInsecureOutgoingConnections": false,
@ -41,20 +47,25 @@
"CorsDebug": false,
"AllowCookiesForSubdomains": false,
"ExtendSessionLengthWithActivity": true,
"SessionLengthWebInDays": 30,
"SessionLengthWebInHours": 720,
"SessionLengthMobileInDays": 30,
"SessionLengthMobileInHours": 720,
"SessionLengthSSOInDays": 30,
"SessionLengthSSOInHours": 720,
"SessionCacheInMinutes": 10,
"SessionIdleTimeoutInMinutes": 43200,
"WebsocketSecurePort": 443,
"WebsocketPort": 80,
"WebserverMode": "gzip",
"EnableGifPicker": false,
"GiphySdkKey": "s0glxvzVg9azvPipKxcPLpXV0q1x1fVP",
"EnableCustomEmoji": false,
"EnableEmojiPicker": true,
"EnableGifPicker": false,
"PostEditTimeLimit": -1,
"TimeBetweenUserTypingUpdatesMilliseconds": 5000,
"EnablePostSearch": true,
"EnableFileSearch": true,
"MinimumHashtagLength": 3,
"EnableUserTypingMessages": true,
"EnableChannelViewedMessages": true,
@ -67,6 +78,8 @@
"ExperimentalEnableDefaultChannelLeaveJoinMessages": true,
"ExperimentalGroupUnreadChannels": "disabled",
"EnableAPITeamDeletion": true,
"EnableAPITriggerAdminNotifications": false,
"EnableAPIUserDeletion": false,
"ExperimentalEnableHardenedMode": false,
"ExperimentalStrictCSRFEnforcement": false,
"EnableEmailInvitations": true,
@ -74,13 +87,31 @@
"EnableBotAccountCreation": true,
"EnableSVGs": true,
"EnableLatex": false,
"EnableLegacySidebar": false,
"EnableInlineLatex": true,
"PostPriority": true,
"AllowPersistentNotifications": true,
"AllowPersistentNotificationsForGuests": false,
"PersistentNotificationIntervalMinutes": 5,
"PersistentNotificationMaxCount": 6,
"PersistentNotificationMaxRecipients": 5,
"EnableAPIChannelDeletion": false,
"EnableLocalMode": false,
"LocalModeSocketLocation": "/var/tmp/mattermost_local.socket",
"EnableAWSMetering": false,
"SplitKey": "",
"FeatureFlagSyncIntervalSeconds": 30,
"DebugSplit": false,
"ThreadAutoFollow": true,
"CollapsedThreads": "disabled"
"CollapsedThreads": "disabled",
"ManagedResourcePaths": "",
"EnableCustomGroups": true,
"SelfHostedPurchase": true,
"AllowSyncedDrafts": true
},
"TeamSettings": {
"SiteName": "Mattermost",
"MaxUsersPerTeam": 2000,
"EnableJoinLeaveMessageByDefault": true,
"EnableUserCreation": true,
"EnableOpenServer": true,
"EnableUserDeactivation": false,
@ -90,6 +121,7 @@
"CustomBrandText": "",
"CustomDescriptionText": "",
"RestrictDirectMessage": "any",
"EnableLastActiveTime": true,
"UserStatusAwayTimeout": 300,
"MaxChannelsPerTeam": 2000,
"MaxNotificationsPerChannel": 1000,
@ -108,26 +140,37 @@
"IosMinVersion": ""
},
"SqlSettings": {
"DriverName": "postgres",
"DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10\u0026binary_parameters=yes",
"DataSourceReplicas": [],
"DataSourceSearchReplicas": [],
"MaxIdleConns": 20,
"ConnMaxLifetimeMilliseconds": 3600000,
"ConnMaxIdleTimeMilliseconds": 300000,
"MaxOpenConns": 300,
"Trace": false,
"AtRestEncryptKey": "",
"QueryTimeout": 30
"QueryTimeout": 30,
"DisableDatabaseSearch": false,
"MigrationsStatementTimeoutSeconds": 100000,
"ReplicaLagSettings": [],
"ReplicaMonitorIntervalSeconds": 5
},
"LogSettings": {
"EnableConsole": true,
"ConsoleLevel": "DEBUG",
"ConsoleJson": true,
"EnableColor": false,
"EnableFile": true,
"FileLevel": "INFO",
"FileJson": true,
"FileLocation": "",
"EnableWebhookDebugging": true,
"EnableDiagnostics": true,
"EnableSentry": false
"VerboseDiagnostics": false,
"EnableSentry": false,
"AdvancedLoggingJSON": {},
"AdvancedLoggingConfig": ""
},
"ExperimentalAuditSettings": {
"FileEnabled": false,
@ -136,16 +179,21 @@
"FileMaxAgeDays": 0,
"FileMaxBackups": 0,
"FileCompress": false,
"FileMaxQueueSize": 1000
"FileMaxQueueSize": 1000,
"AdvancedLoggingJSON": {},
"AdvancedLoggingConfig": ""
},
"NotificationLogSettings": {
"EnableConsole": true,
"ConsoleLevel": "DEBUG",
"ConsoleJson": true,
"EnableColor": false,
"EnableFile": true,
"FileLevel": "INFO",
"FileJson": true,
"FileLocation": ""
"FileLocation": "",
"AdvancedLoggingJSON": {},
"AdvancedLoggingConfig": ""
},
"PasswordSettings": {
"MinimumLength": 5,
@ -153,27 +201,48 @@
"Number": false,
"Uppercase": false,
"Symbol": false,
"Enable": false
"EnableForgotLink": true
},
"FileSettings": {
"EnableFileAttachments": true,
"EnableMobileUpload": true,
"EnableMobileDownload": true,
"MaxFileSize": 104857600,
"MaxImageResolution": 33177600,
"MaxImageDecoderConcurrency": -1,
"DriverName": "local",
"Directory": "./data/",
"EnablePublicLink": false,
"ExtractContent": true,
"ArchiveRecursion": false,
"PublicLinkSalt": "",
"InitialFont": "nunito-bold.ttf",
"AmazonS3AccessKeyId": "",
"AmazonS3SecretAccessKey": "",
"AmazonS3Bucket": "",
"AmazonS3PathPrefix": "",
"AmazonS3Region": "",
"AmazonS3Endpoint": "s3.amazonaws.com",
"AmazonS3SSL": true,
"AmazonS3SignV2": false,
"AmazonS3SSE": false,
"AmazonS3Trace": false
"AmazonS3Trace": false,
"AmazonS3RequestTimeoutMilliseconds": 30000,
"DedicatedExportStore": false,
"ExportDriverName": "local",
"ExportDirectory": "./data/",
"ExportAmazonS3AccessKeyId": "",
"ExportAmazonS3SecretAccessKey": "",
"ExportAmazonS3Bucket": "",
"ExportAmazonS3PathPrefix": "",
"ExportAmazonS3Region": "",
"ExportAmazonS3Endpoint": "s3.amazonaws.com",
"ExportAmazonS3SSL": true,
"ExportAmazonS3SignV2": false,
"ExportAmazonS3SSE": false,
"ExportAmazonS3Trace": false,
"ExportAmazonS3RequestTimeoutMilliseconds": 30000,
"ExportAmazonS3PresignExpiresSeconds": 21600
},
"EmailSettings": {
"EnableSignUpWithEmail": true,
@ -195,7 +264,10 @@
"ConnectionSecurity": "",
"SendPushNotifications": true,
"PushNotificationServer": "https://push-test.mattermost.com",
"PushNotificationServerType": "custom",
"PushNotificationServerLocation": "us",
"PushNotificationContents": "generic",
"PushNotificationBuffer": 1000,
"EnableEmailBatching": false,
"EmailBatchingBufferSize": 256,
"EmailBatchingInterval": 30,
@ -222,9 +294,10 @@
"SupportSettings": {
"TermsOfServiceLink": "https://mattermost.com/pl/terms-of-use/",
"PrivacyPolicyLink": "https://mattermost.com/pl/privacy-policy/",
"AboutLink": "https://docs.mattermost.com/pl/about-mattermost",
"AboutLink": "https://mattermost.com/pl/about-mattermost",
"HelpLink": "https://mattermost.com/pl/help/",
"ReportAProblemLink": "https://mattermost.com/pl/report-a-bug",
"ForgotPasswordLink": "",
"SupportEmail": "",
"CustomTermsOfServiceEnabled": false,
"CustomTermsOfServiceReAcceptancePeriod": 365,
@ -237,7 +310,10 @@
"BannerTextColor": "#333333",
"AllowBannerDismissal": true,
"AdminNoticesEnabled": false,
"UserNoticesEnabled": false
"UserNoticesEnabled": false,
"NoticesURL": "https://notices.mattermost.com/",
"NoticesFetchFrequency": 3600,
"NoticesSkipCache": false
},
"ThemeSettings": {
"EnableThemeSelection": true,
@ -252,7 +328,10 @@
"Scope": "",
"AuthEndpoint": "",
"TokenEndpoint": "",
"UserAPIEndpoint": ""
"UserAPIEndpoint": "",
"DiscoveryEndpoint": "",
"ButtonText": "",
"ButtonColor": ""
},
"GoogleSettings": {
"Enable": false,
@ -261,7 +340,10 @@
"Scope": "profile email",
"AuthEndpoint": "https://accounts.google.com/o/oauth2/v2/auth",
"TokenEndpoint": "https://www.googleapis.com/oauth2/v4/token",
"UserAPIEndpoint": "https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses,nicknames,metadata"
"UserAPIEndpoint": "https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses,nicknames,metadata",
"DiscoveryEndpoint": "",
"ButtonText": "",
"ButtonColor": ""
},
"Office365Settings": {
"Enable": false,
@ -271,8 +353,21 @@
"AuthEndpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
"TokenEndpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
"UserAPIEndpoint": "https://graph.microsoft.com/v1.0/me",
"DiscoveryEndpoint": "",
"DirectoryId": ""
},
"OpenIdSettings": {
"Enable": false,
"Secret": "",
"Id": "",
"Scope": "profile openid email",
"AuthEndpoint": "",
"TokenEndpoint": "",
"UserAPIEndpoint": "",
"DiscoveryEndpoint": "",
"ButtonText": "",
"ButtonColor": "#145DBF"
},
"LdapSettings": {
"Enable": true,
"EnableSync": false,
@ -300,6 +395,8 @@
"PictureAttribute": "",
"SyncIntervalMinutes": 10000,
"SkipCertificateVerification": true,
"PublicCertificateFile": "",
"PrivateKeyFile": "",
"QueryTimeout": 60,
"MaxPageSize": 500,
"LoginFieldName": "",
@ -311,7 +408,8 @@
"ComplianceSettings": {
"Enable": false,
"Directory": "./data/",
"EnableDaily": false
"EnableDaily": false,
"BatchSize": 30000
},
"LocalizationSettings": {
"DefaultServerLocale": "en",
@ -322,12 +420,14 @@
"Enable": false,
"EnableSyncWithLdap": false,
"EnableSyncWithLdapIncludeAuth": false,
"IgnoreGuestsLdapSync": false,
"Verify": true,
"Encrypt": true,
"SignRequest": false,
"IdpURL": "",
"IdpDescriptorURL": "",
"IdpMetadataURL": "",
"ServiceProviderIdentifier": "",
"AssertionConsumerServiceURL": "",
"SignatureAlgorithm": "RSAwithSHA1",
"CanonicalAlgorithm": "Canonical1.0",
@ -353,10 +453,28 @@
"LoginButtonTextColor": "#ffffff"
},
"NativeAppSettings": {
"AppCustomURLSchemes": ["mmauth://", "mmauthbeta://"],
"AppDownloadLink": "https://mattermost.com/pl/download-apps",
"AndroidAppDownloadLink": "https://mattermost.com/pl/android-app/",
"IosAppDownloadLink": "https://mattermost.com/pl/ios-app/"
},
"ClusterSettings": {
"Enable": false,
"ClusterName": "",
"OverrideHostname": "",
"NetworkInterface": "",
"BindAddress": "",
"AdvertiseAddress": "",
"UseIPAddress": true,
"EnableGossipCompression": true,
"EnableExperimentalGossipEncryption": false,
"ReadOnlyConfig": true,
"GossipPort": 8074,
"StreamingPort": 8075,
"MaxIdleConns": 100,
"MaxIdleConnsPerHost": 128,
"IdleConnTimeoutMilliseconds": 90000
},
"MetricsSettings": {
"Enable": false,
"BlockProfileRate": 0,
@ -368,7 +486,11 @@
"LinkMetadataTimeoutMilliseconds": 5000,
"RestrictSystemAdmin": false,
"UseNewSAMLLibrary": false,
"DisableAppBar": false
"EnableSharedChannels": false,
"EnableRemoteClusterService": false,
"DisableAppBar": false,
"DisableRefetchingOnBrowserFocus": false,
"DelayChannelAutocomplete": false
},
"AnalyticsSettings": {
"MaxUsersForStatistics": 2500
@ -391,17 +513,33 @@
"PostsAggregatorJobStartTime": "03:00",
"IndexPrefix": "",
"LiveIndexingBatchSize": 1,
"BulkIndexingTimeWindowSeconds": 3600,
"BatchSize": 10000,
"RequestTimeoutSeconds": 30,
"SkipTLSVerification": false,
"Trace": ""
"CA": "",
"ClientCert": "",
"ClientKey": "",
"Trace": "",
"IgnoredPurgeIndexes": ""
},
"BleveSettings": {
"IndexDir": "",
"EnableIndexing": false,
"EnableSearching": false,
"EnableAutocomplete": false,
"BatchSize": 10000
},
"DataRetentionSettings": {
"EnableMessageDeletion": false,
"EnableFileDeletion": false,
"EnableBoardsDeletion": false,
"MessageRetentionDays": 365,
"FileRetentionDays": 365,
"DeletionJobStartTime": "02:00"
"BoardsRetentionDays": 365,
"DeletionJobStartTime": "02:00",
"BatchSize": 3000,
"TimeBetweenBatchesMilliseconds": 100,
"RetentionIdsBatchSize": 100
},
"MessageExportSettings": {
"EnableExport": false,
@ -409,17 +547,22 @@
"DailyRunTime": "01:00",
"ExportFromTimestamp": 0,
"BatchSize": 10000,
"DownloadExportResults": false,
"GlobalRelaySettings": {
"CustomerType": "A9",
"SMTPUsername": "",
"SMTPPassword": "",
"EmailAddress": ""
"EmailAddress": "",
"SMTPServerTimeout": 1800
}
},
"JobSettings": {
"RunJobs": true,
"RunScheduler": true
"RunScheduler": true,
"CleanupJobsThresholdDays": -1,
"CleanupConfigThresholdDays": -1
},
"ProductSettings": {},
"PluginSettings": {
"Enable": true,
"EnableUploads": true,
@ -429,17 +572,14 @@
"ClientDirectory": "./client/plugins",
"Plugins": {},
"PluginStates": {
"com.mattermost.calls": {
"Enable": false
},
"com.mattermost.nps": {
"Enable": false
},
"com.mattermost.plugin-incident-response": {
"Enable": false
},
"com.mattermost.plugin-incident-management": {
"Enable": false
},
"focalboard": {
"Enable": false
"playbooks": {
"Enable": true
}
},
"EnableMarketplace": true,
@ -447,14 +587,17 @@
"AutomaticPrepackagedPlugins": true,
"RequirePluginSignature": false,
"MarketplaceURL": "https://api.integrations.mattermost.com",
"SignaturePublicKeyFiles": []
"SignaturePublicKeyFiles": [],
"ChimeraOAuthProxyURL": ""
},
"DisplaySettings": {
"CustomURLSchemes": [],
"MaxMarkdownNodes": 0,
"ExperimentalTimezone": false
},
"GuestAccountsSettings": {
"Enable": true,
"HideTags": false,
"AllowEmailAccounts": true,
"EnforceMultifactorAuthentication": false,
"RestrictCreationToDomains": ""
@ -464,5 +607,13 @@
"ImageProxyType": "local",
"RemoteImageProxyURL": "",
"RemoteImageProxyOptions": ""
},
"ImportSettings": {
"Directory": "./import",
"RetentionDays": 30
},
"ExportSettings": {
"Directory": "./export",
"RetentionDays": 30
}
}