@mattermost/playwright-lib 10.6.1 → 10.7.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1 @@
1
- import { Client4 } from '@mattermost/client';
2
1
  export declare function baseGlobalSetup(): Promise<void>;
3
- export declare function ensurePluginsLoaded(client: Client4): Promise<void>;
@@ -6,6 +6,7 @@ var util = require('./util.js');
6
6
  var client$1 = require('./server/client.js');
7
7
  require('./server/default_config.js');
8
8
  var init = require('./server/init.js');
9
+ var plugins = require('./server/plugins.js');
9
10
  var team = require('./server/team.js');
10
11
  var user = require('./server/user.js');
11
12
  var test_config = require('./test_config.js');
@@ -54,7 +55,7 @@ async function sysadminSetup(client, user) {
54
55
  // Set default preferences
55
56
  await savePreferences(client, user?.id ?? '');
56
57
  // Ensure all products as plugin are installed and active.
57
- await ensurePluginsLoaded(client);
58
+ await plugins.ensurePluginsLoaded(client);
58
59
  // Log plugin details
59
60
  await printPluginDetails(client);
60
61
  // Ensure server deployment type is as expected
@@ -89,28 +90,6 @@ async function printClientInfo(client) {
89
90
  - ServiceSettings.EnableSecurityFixAlert = ${ServiceSettings?.EnableSecurityFixAlert}
90
91
  - LogSettings.EnableDiagnostics = ${LogSettings?.EnableDiagnostics}`);
91
92
  }
92
- async function ensurePluginsLoaded(client) {
93
- const pluginStatus = await client.getPluginStatuses();
94
- const plugins = await client.getPlugins();
95
- test_config.testConfig.ensurePluginsInstalled.forEach(async (pluginId) => {
96
- const isInstalled = pluginStatus.some((plugin) => plugin.plugin_id === pluginId);
97
- if (!isInstalled) {
98
- // eslint-disable-next-line no-console
99
- console.log(`${pluginId} is not installed. Related visual test will fail.`);
100
- return;
101
- }
102
- const isActive = plugins.active.some((plugin) => plugin.id === pluginId);
103
- if (!isActive) {
104
- await client.enablePlugin(pluginId);
105
- // eslint-disable-next-line no-console
106
- console.log(`${pluginId} is installed and has been activated.`);
107
- }
108
- else {
109
- // eslint-disable-next-line no-console
110
- console.log(`${pluginId} is installed and active.`);
111
- }
112
- });
113
- }
114
93
  async function printPluginDetails(client) {
115
94
  const plugins = await client.getPlugins();
116
95
  if (plugins.active.length) {
@@ -169,5 +148,4 @@ async function savePreferences(client, userId) {
169
148
  }
170
149
 
171
150
  exports.baseGlobalSetup = baseGlobalSetup;
172
- exports.ensurePluginsLoaded = ensurePluginsLoaded;
173
151
  //# sourceMappingURL=global_setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"global_setup.js","sources":["../src/global_setup.ts"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {expect} from '@playwright/test';\nimport {Client4} from '@mattermost/client';\nimport {UserProfile} from '@mattermost/types/users';\nimport {PluginManifest} from '@mattermost/types/plugins';\nimport {PreferenceType} from '@mattermost/types/preferences';\n\nimport {defaultTeam} from './util';\nimport {createRandomTeam, getAdminClient, getDefaultAdminUser, makeClient} from './server';\nimport {testConfig} from './test_config';\n\nexport async function baseGlobalSetup() {\n let adminClient: Client4;\n let adminUser: UserProfile | null;\n ({adminClient, adminUser} = await getAdminClient({skipLog: true}));\n\n if (!adminUser) {\n const firstClient = new Client4();\n firstClient.setUrl(testConfig.baseURL);\n const defaultAdmin = getDefaultAdminUser();\n await firstClient.createUser(defaultAdmin, '', '');\n\n ({client: adminClient, user: adminUser} = await makeClient(defaultAdmin));\n }\n\n await sysadminSetup(adminClient, adminUser);\n}\n\nasync function sysadminSetup(client: Client4, user: UserProfile | null) {\n // Ensure admin's email is verified.\n if (!user) {\n await client.verifyUserEmail(client.token);\n }\n\n // Log license and config info\n await printLicenseInfo(client);\n await printClientInfo(client);\n\n // Create default team if not present.\n // Otherwise, create other teams and channels other than the default team cna channels (town-square and off-topic).\n const myTeams = await client.getMyTeams();\n const myDefaultTeam = myTeams && myTeams.length > 0 && myTeams.find((team) => team.name === defaultTeam.name);\n if (!myDefaultTeam) {\n await client.createTeam(createRandomTeam(defaultTeam.name, defaultTeam.displayName, 'O', false));\n } else if (myDefaultTeam && testConfig.resetBeforeTest) {\n await Promise.all(\n myTeams.filter((team) => team.name !== defaultTeam.name).map((team) => client.deleteTeam(team.id)),\n );\n\n const myChannels = await client.getMyChannels(myDefaultTeam.id);\n await Promise.all(\n myChannels\n .filter((channel) => {\n return (\n channel.team_id === myDefaultTeam.id &&\n channel.name !== 'town-square' &&\n channel.name !== 'off-topic'\n );\n })\n .map((channel) => client.deleteChannel(channel.id)),\n );\n }\n\n // Set default preferences\n await savePreferences(client, user?.id ?? '');\n\n // Ensure all products as plugin are installed and active.\n await ensurePluginsLoaded(client);\n\n // Log plugin details\n await printPluginDetails(client);\n\n // Ensure server deployment type is as expected\n await ensureServerDeployment(client);\n}\n\nasync function printLicenseInfo(client: Client4) {\n const license = await client.getClientLicenseOld();\n // eslint-disable-next-line no-console\n console.log(`Server License:\n - IsLicensed = ${license.IsLicensed}\n - IsTrial = ${license.IsTrial}\n - SkuName = ${license.SkuName}\n - SkuShortName = ${license.SkuShortName}\n - Cloud = ${license.Cloud}\n - Users = ${license.Users}`);\n}\n\nasync function printClientInfo(client: Client4) {\n const config = await client.getClientConfigOld();\n // eslint-disable-next-line no-console\n console.log(`Build Info:\n - BuildNumber = ${config.BuildNumber}\n - BuildDate = ${config.BuildDate}\n - Version = ${config.Version}\n - BuildHash = ${config.BuildHash}\n - BuildHashEnterprise = ${config.BuildHashEnterprise}\n - BuildEnterpriseReady = ${config.BuildEnterpriseReady}\n - TelemetryId = ${config.TelemetryId}\n - ServiceEnvironment = ${config.ServiceEnvironment}`);\n\n const {LogSettings, ServiceSettings} = await client.getConfig();\n // eslint-disable-next-line no-console\n console.log(`Notable Server Config:\n - ServiceSettings.EnableSecurityFixAlert = ${ServiceSettings?.EnableSecurityFixAlert}\n - LogSettings.EnableDiagnostics = ${LogSettings?.EnableDiagnostics}`);\n}\n\nexport async function ensurePluginsLoaded(client: Client4) {\n const pluginStatus = await client.getPluginStatuses();\n const plugins = await client.getPlugins();\n\n testConfig.ensurePluginsInstalled.forEach(async (pluginId) => {\n const isInstalled = pluginStatus.some((plugin) => plugin.plugin_id === pluginId);\n if (!isInstalled) {\n // eslint-disable-next-line no-console\n console.log(`${pluginId} is not installed. Related visual test will fail.`);\n return;\n }\n\n const isActive = plugins.active.some((plugin: PluginManifest) => plugin.id === pluginId);\n if (!isActive) {\n await client.enablePlugin(pluginId);\n\n // eslint-disable-next-line no-console\n console.log(`${pluginId} is installed and has been activated.`);\n } else {\n // eslint-disable-next-line no-console\n console.log(`${pluginId} is installed and active.`);\n }\n });\n}\n\nasync function printPluginDetails(client: Client4) {\n const plugins = await client.getPlugins();\n\n if (plugins.active.length) {\n // eslint-disable-next-line no-console\n console.log('Active plugins:');\n }\n\n plugins.active.forEach((plugin: PluginManifest) => {\n // eslint-disable-next-line no-console\n console.log(` - ${plugin.id}@${plugin.version} | min_server@${plugin.min_server_version}`);\n });\n\n if (plugins.inactive.length) {\n // eslint-disable-next-line no-console\n console.log('Inactive plugins:');\n }\n\n plugins.inactive.forEach((plugin: PluginManifest) => {\n // eslint-disable-next-line no-console\n console.log(` - ${plugin.id}@${plugin.version} | min_server@${plugin.min_server_version}`);\n });\n\n // eslint-disable-next-line no-console\n console.log('');\n}\n\nasync function ensureServerDeployment(client: Client4) {\n if (testConfig.haClusterEnabled) {\n const {haClusterNodeCount, haClusterName} = testConfig;\n\n const {Enable, ClusterName} = (await client.getConfig()).ClusterSettings;\n expect(Enable, Enable ? '' : 'Should have cluster enabled').toBe(true);\n\n const sameClusterName = ClusterName === haClusterName;\n expect(\n sameClusterName,\n sameClusterName\n ? ''\n : `Should have cluster name set and as expected. Got \"${ClusterName}\" but expected \"${haClusterName}\"`,\n ).toBe(true);\n\n const clusterInfo = await client.getClusterStatus();\n const sameCount = clusterInfo?.length === haClusterNodeCount;\n expect(\n sameCount,\n sameCount\n ? ''\n : `Should match number of nodes in a cluster as expected. Got \"${clusterInfo?.length}\" but expected \"${haClusterNodeCount}\"`,\n ).toBe(true);\n\n clusterInfo.forEach((info) =>\n // eslint-disable-next-line no-console\n console.log(`hostname: ${info.hostname}, version: ${info.version}, config_hash: ${info.config_hash}`),\n );\n }\n}\n\nasync function savePreferences(client: Client4, userId: UserProfile['id']) {\n try {\n if (!userId) {\n throw new Error('userId is not defined');\n }\n\n const preferences: PreferenceType[] = [\n {user_id: userId, category: 'tutorial_step', name: userId, value: '999'},\n {user_id: userId, category: 'crt_thread_pane_step', name: userId, value: '999'},\n ];\n\n await client.savePreferences(userId, preferences);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log('Error saving preferences', error);\n }\n}\n"],"names":["getAdminClient","Client4","testConfig","getDefaultAdminUser","makeClient","defaultTeam","createRandomTeam","expect"],"mappings":";;;;;;;;;;;;AAAA;AACA;AAYO,eAAe,eAAe,GAAA;AACjC,IAAA,IAAI,WAAoB;AACxB,IAAA,IAAI,SAA6B;AACjC,IAAA,CAAC,EAAC,WAAW,EAAE,SAAS,EAAC,GAAG,MAAMA,mBAAc,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;IAEjE,IAAI,CAAC,SAAS,EAAE;AACZ,QAAA,MAAM,WAAW,GAAG,IAAIC,cAAO,EAAE;AACjC,QAAA,WAAW,CAAC,MAAM,CAACC,sBAAU,CAAC,OAAO,CAAC;AACtC,QAAA,MAAM,YAAY,GAAGC,wBAAmB,EAAE;QAC1C,MAAM,WAAW,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC;AAElD,QAAA,CAAC,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAC,GAAG,MAAMC,mBAAU,CAAC,YAAY,CAAC;;AAG5E,IAAA,MAAM,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC;AAC/C;AAEA,eAAe,aAAa,CAAC,MAAe,EAAE,IAAwB,EAAA;;IAElE,IAAI,CAAC,IAAI,EAAE;QACP,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;;;AAI9C,IAAA,MAAM,gBAAgB,CAAC,MAAM,CAAC;AAC9B,IAAA,MAAM,eAAe,CAAC,MAAM,CAAC;;;AAI7B,IAAA,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE;IACzC,MAAM,aAAa,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAKC,gBAAW,CAAC,IAAI,CAAC;IAC7G,IAAI,CAAC,aAAa,EAAE;AAChB,QAAA,MAAM,MAAM,CAAC,UAAU,CAACC,qBAAgB,CAACD,gBAAW,CAAC,IAAI,EAAEA,gBAAW,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;;AAC7F,SAAA,IAAI,aAAa,IAAIH,sBAAU,CAAC,eAAe,EAAE;AACpD,QAAA,MAAM,OAAO,CAAC,GAAG,CACb,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAKG,gBAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CACrG;QAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;AAC/D,QAAA,MAAM,OAAO,CAAC,GAAG,CACb;AACK,aAAA,MAAM,CAAC,CAAC,OAAO,KAAI;AAChB,YAAA,QACI,OAAO,CAAC,OAAO,KAAK,aAAa,CAAC,EAAE;gBACpC,OAAO,CAAC,IAAI,KAAK,aAAa;AAC9B,gBAAA,OAAO,CAAC,IAAI,KAAK,WAAW;AAEpC,SAAC;AACA,aAAA,GAAG,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAC1D;;;IAIL,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;;AAG7C,IAAA,MAAM,mBAAmB,CAAC,MAAM,CAAC;;AAGjC,IAAA,MAAM,kBAAkB,CAAC,MAAM,CAAC;;AAGhC,IAAA,MAAM,sBAAsB,CAAC,MAAM,CAAC;AACxC;AAEA,eAAe,gBAAgB,CAAC,MAAe,EAAA;AAC3C,IAAA,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE;;IAElD,OAAO,CAAC,GAAG,CAAC,CAAA;AACQ,sBAAA,EAAA,OAAO,CAAC,UAAU;AAClB,sBAAA,EAAA,OAAO,CAAC,OAAO;AACf,sBAAA,EAAA,OAAO,CAAC,OAAO;AACf,sBAAA,EAAA,OAAO,CAAC,YAAY;AACpB,sBAAA,EAAA,OAAO,CAAC,KAAK;AACb,sBAAA,EAAA,OAAO,CAAC,KAAK,CAAE,CAAA,CAAC;AACxC;AAEA,eAAe,eAAe,CAAC,MAAe,EAAA;AAC1C,IAAA,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE;;IAEhD,OAAO,CAAC,GAAG,CAAC,CAAA;AACoB,kCAAA,EAAA,MAAM,CAAC,WAAW;AAClB,kCAAA,EAAA,MAAM,CAAC,SAAS;AAChB,kCAAA,EAAA,MAAM,CAAC,OAAO;AACd,kCAAA,EAAA,MAAM,CAAC,SAAS;AAChB,kCAAA,EAAA,MAAM,CAAC,mBAAmB;AAC1B,kCAAA,EAAA,MAAM,CAAC,oBAAoB;AAC3B,kCAAA,EAAA,MAAM,CAAC,WAAW;AAClB,kCAAA,EAAA,MAAM,CAAC,kBAAkB,CAAE,CAAA,CAAC;IAE5D,MAAM,EAAC,WAAW,EAAE,eAAe,EAAC,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE;;IAE/D,OAAO,CAAC,GAAG,CAAC,CAAA;AACgC,8CAAA,EAAA,eAAe,EAAE,sBAAsB;AACvC,8CAAA,EAAA,WAAW,EAAE,iBAAiB,CAAE,CAAA,CAAC;AACjF;AAEO,eAAe,mBAAmB,CAAC,MAAe,EAAA;AACrD,IAAA,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE;AACrD,IAAA,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE;IAEzCH,sBAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,QAAQ,KAAI;AACzD,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;QAChF,IAAI,CAAC,WAAW,EAAE;;AAEd,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA,iDAAA,CAAmD,CAAC;YAC3E;;AAGJ,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAsB,KAAK,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC;QACxF,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;;AAGnC,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA,qCAAA,CAAuC,CAAC;;aAC5D;;AAEH,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA,yBAAA,CAA2B,CAAC;;AAE3D,KAAC,CAAC;AACN;AAEA,eAAe,kBAAkB,CAAC,MAAe,EAAA;AAC7C,IAAA,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE;AAEzC,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;;AAEvB,QAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;;IAGlC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAsB,KAAI;;AAE9C,QAAA,OAAO,CAAC,GAAG,CAAC,CAAO,IAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,OAAO,CAAiB,cAAA,EAAA,MAAM,CAAC,kBAAkB,CAAA,CAAE,CAAC;AAC/F,KAAC,CAAC;AAEF,IAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE;;AAEzB,QAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;;IAGpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAsB,KAAI;;AAEhD,QAAA,OAAO,CAAC,GAAG,CAAC,CAAO,IAAA,EAAA,MAAM,CAAC,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,OAAO,CAAiB,cAAA,EAAA,MAAM,CAAC,kBAAkB,CAAA,CAAE,CAAC;AAC/F,KAAC,CAAC;;AAGF,IAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AACnB;AAEA,eAAe,sBAAsB,CAAC,MAAe,EAAA;AACjD,IAAA,IAAIA,sBAAU,CAAC,gBAAgB,EAAE;AAC7B,QAAA,MAAM,EAAC,kBAAkB,EAAE,aAAa,EAAC,GAAGA,sBAAU;AAEtD,QAAA,MAAM,EAAC,MAAM,EAAE,WAAW,EAAC,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,EAAE,eAAe;AACxE,QAAAK,WAAM,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,GAAG,6BAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAEtE,QAAA,MAAM,eAAe,GAAG,WAAW,KAAK,aAAa;QACrDA,WAAM,CACF,eAAe,EACf;AACI,cAAE;AACF,cAAE,CAAA,mDAAA,EAAsD,WAAW,CAAA,gBAAA,EAAmB,aAAa,CAAA,CAAA,CAAG,CAC7G,CAAC,IAAI,CAAC,IAAI,CAAC;AAEZ,QAAA,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE;AACnD,QAAA,MAAM,SAAS,GAAG,WAAW,EAAE,MAAM,KAAK,kBAAkB;QAC5DA,WAAM,CACF,SAAS,EACT;AACI,cAAE;AACF,cAAE,CAAA,4DAAA,EAA+D,WAAW,EAAE,MAAM,CAAmB,gBAAA,EAAA,kBAAkB,CAAG,CAAA,CAAA,CACnI,CAAC,IAAI,CAAC,IAAI,CAAC;AAEZ,QAAA,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI;;AAErB,QAAA,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAc,WAAA,EAAA,IAAI,CAAC,OAAO,kBAAkB,IAAI,CAAC,WAAW,CAAE,CAAA,CAAC,CACxG;;AAET;AAEA,eAAe,eAAe,CAAC,MAAe,EAAE,MAAyB,EAAA;AACrE,IAAA,IAAI;QACA,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;;AAG5C,QAAA,MAAM,WAAW,GAAqB;AAClC,YAAA,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAC;AACxE,YAAA,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAC;SAClF;QAED,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC;;IACnD,OAAO,KAAK,EAAE;;AAEZ,QAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC;;AAEtD;;;;;"}
1
+ {"version":3,"file":"global_setup.js","sources":["../src/global_setup.ts"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {expect} from '@playwright/test';\nimport {Client4} from '@mattermost/client';\nimport {UserProfile} from '@mattermost/types/users';\nimport {PluginManifest} from '@mattermost/types/plugins';\nimport {PreferenceType} from '@mattermost/types/preferences';\n\nimport {defaultTeam} from './util';\nimport {createRandomTeam, ensurePluginsLoaded, getAdminClient, getDefaultAdminUser, makeClient} from './server';\nimport {testConfig} from './test_config';\n\nexport async function baseGlobalSetup() {\n let adminClient: Client4;\n let adminUser: UserProfile | null;\n ({adminClient, adminUser} = await getAdminClient({skipLog: true}));\n\n if (!adminUser) {\n const firstClient = new Client4();\n firstClient.setUrl(testConfig.baseURL);\n const defaultAdmin = getDefaultAdminUser();\n await firstClient.createUser(defaultAdmin, '', '');\n\n ({client: adminClient, user: adminUser} = await makeClient(defaultAdmin));\n }\n\n await sysadminSetup(adminClient, adminUser);\n}\n\nasync function sysadminSetup(client: Client4, user: UserProfile | null) {\n // Ensure admin's email is verified.\n if (!user) {\n await client.verifyUserEmail(client.token);\n }\n\n // Log license and config info\n await printLicenseInfo(client);\n await printClientInfo(client);\n\n // Create default team if not present.\n // Otherwise, create other teams and channels other than the default team cna channels (town-square and off-topic).\n const myTeams = await client.getMyTeams();\n const myDefaultTeam = myTeams && myTeams.length > 0 && myTeams.find((team) => team.name === defaultTeam.name);\n if (!myDefaultTeam) {\n await client.createTeam(createRandomTeam(defaultTeam.name, defaultTeam.displayName, 'O', false));\n } else if (myDefaultTeam && testConfig.resetBeforeTest) {\n await Promise.all(\n myTeams.filter((team) => team.name !== defaultTeam.name).map((team) => client.deleteTeam(team.id)),\n );\n\n const myChannels = await client.getMyChannels(myDefaultTeam.id);\n await Promise.all(\n myChannels\n .filter((channel) => {\n return (\n channel.team_id === myDefaultTeam.id &&\n channel.name !== 'town-square' &&\n channel.name !== 'off-topic'\n );\n })\n .map((channel) => client.deleteChannel(channel.id)),\n );\n }\n\n // Set default preferences\n await savePreferences(client, user?.id ?? '');\n\n // Ensure all products as plugin are installed and active.\n await ensurePluginsLoaded(client);\n\n // Log plugin details\n await printPluginDetails(client);\n\n // Ensure server deployment type is as expected\n await ensureServerDeployment(client);\n}\n\nasync function printLicenseInfo(client: Client4) {\n const license = await client.getClientLicenseOld();\n // eslint-disable-next-line no-console\n console.log(`Server License:\n - IsLicensed = ${license.IsLicensed}\n - IsTrial = ${license.IsTrial}\n - SkuName = ${license.SkuName}\n - SkuShortName = ${license.SkuShortName}\n - Cloud = ${license.Cloud}\n - Users = ${license.Users}`);\n}\n\nasync function printClientInfo(client: Client4) {\n const config = await client.getClientConfigOld();\n // eslint-disable-next-line no-console\n console.log(`Build Info:\n - BuildNumber = ${config.BuildNumber}\n - BuildDate = ${config.BuildDate}\n - Version = ${config.Version}\n - BuildHash = ${config.BuildHash}\n - BuildHashEnterprise = ${config.BuildHashEnterprise}\n - BuildEnterpriseReady = ${config.BuildEnterpriseReady}\n - TelemetryId = ${config.TelemetryId}\n - ServiceEnvironment = ${config.ServiceEnvironment}`);\n\n const {LogSettings, ServiceSettings} = await client.getConfig();\n // eslint-disable-next-line no-console\n console.log(`Notable Server Config:\n - ServiceSettings.EnableSecurityFixAlert = ${ServiceSettings?.EnableSecurityFixAlert}\n - LogSettings.EnableDiagnostics = ${LogSettings?.EnableDiagnostics}`);\n}\n\nasync function printPluginDetails(client: Client4) {\n const plugins = await client.getPlugins();\n\n if (plugins.active.length) {\n // eslint-disable-next-line no-console\n console.log('Active plugins:');\n }\n\n plugins.active.forEach((plugin: PluginManifest) => {\n // eslint-disable-next-line no-console\n console.log(` - ${plugin.id}@${plugin.version} | min_server@${plugin.min_server_version}`);\n });\n\n if (plugins.inactive.length) {\n // eslint-disable-next-line no-console\n console.log('Inactive plugins:');\n }\n\n plugins.inactive.forEach((plugin: PluginManifest) => {\n // eslint-disable-next-line no-console\n console.log(` - ${plugin.id}@${plugin.version} | min_server@${plugin.min_server_version}`);\n });\n\n // eslint-disable-next-line no-console\n console.log('');\n}\n\nasync function ensureServerDeployment(client: Client4) {\n if (testConfig.haClusterEnabled) {\n const {haClusterNodeCount, haClusterName} = testConfig;\n\n const {Enable, ClusterName} = (await client.getConfig()).ClusterSettings;\n expect(Enable, Enable ? '' : 'Should have cluster enabled').toBe(true);\n\n const sameClusterName = ClusterName === haClusterName;\n expect(\n sameClusterName,\n sameClusterName\n ? ''\n : `Should have cluster name set and as expected. Got \"${ClusterName}\" but expected \"${haClusterName}\"`,\n ).toBe(true);\n\n const clusterInfo = await client.getClusterStatus();\n const sameCount = clusterInfo?.length === haClusterNodeCount;\n expect(\n sameCount,\n sameCount\n ? ''\n : `Should match number of nodes in a cluster as expected. Got \"${clusterInfo?.length}\" but expected \"${haClusterNodeCount}\"`,\n ).toBe(true);\n\n clusterInfo.forEach((info) =>\n // eslint-disable-next-line no-console\n console.log(`hostname: ${info.hostname}, version: ${info.version}, config_hash: ${info.config_hash}`),\n );\n }\n}\n\nasync function savePreferences(client: Client4, userId: UserProfile['id']) {\n try {\n if (!userId) {\n throw new Error('userId is not defined');\n }\n\n const preferences: PreferenceType[] = [\n {user_id: userId, category: 'tutorial_step', name: userId, value: '999'},\n {user_id: userId, category: 'crt_thread_pane_step', name: userId, value: '999'},\n ];\n\n await client.savePreferences(userId, preferences);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log('Error saving preferences', error);\n }\n}\n"],"names":["getAdminClient","Client4","testConfig","getDefaultAdminUser","makeClient","defaultTeam","createRandomTeam","ensurePluginsLoaded","expect"],"mappings":"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"}
@@ -58,7 +58,7 @@ const onPremServerConfig = () => {
58
58
  };
59
59
  };
60
60
  // Should be based only from the generated default config from ./server via "make config-reset"
61
- // Based on v10.5 server
61
+ // Based on v10.7 server
62
62
  const defaultServerConfig = {
63
63
  ServiceSettings: {
64
64
  SiteURL: '',
@@ -176,6 +176,8 @@ const defaultServerConfig = {
176
176
  MaximumPayloadSizeBytes: 300000,
177
177
  MaximumURLLength: 2048,
178
178
  ScheduledPosts: true,
179
+ EnableWebHubChannelIteration: false,
180
+ FrameAncestors: '',
179
181
  },
180
182
  TeamSettings: {
181
183
  SiteName: 'Mattermost',
@@ -444,11 +446,11 @@ const defaultServerConfig = {
444
446
  EnableSync: false,
445
447
  LdapServer: '',
446
448
  LdapPort: 389,
447
- MaximumLoginAttempts: 10,
448
449
  ConnectionSecurity: '',
449
450
  BaseDN: '',
450
451
  BindUsername: '',
451
452
  BindPassword: '',
453
+ MaximumLoginAttempts: 10,
452
454
  UserFilter: '',
453
455
  GroupFilter: '',
454
456
  GuestFilter: '',
@@ -530,12 +532,16 @@ const defaultServerConfig = {
530
532
  AndroidAppDownloadLink: 'https://mattermost.com/pl/android-app/',
531
533
  IosAppDownloadLink: 'https://mattermost.com/pl/ios-app/',
532
534
  MobileExternalBrowser: false,
535
+ MobileEnableBiometrics: false,
536
+ MobilePreventScreenCapture: false,
537
+ MobileJailbreakProtection: false,
533
538
  },
534
539
  CacheSettings: {
535
540
  CacheType: 'lru',
536
541
  RedisAddress: '',
537
542
  RedisPassword: '',
538
543
  RedisDB: -1,
544
+ RedisCachePrefix: '',
539
545
  DisableClientCache: false,
540
546
  },
541
547
  ClusterSettings: {
@@ -557,6 +563,7 @@ const defaultServerConfig = {
557
563
  ListenAddress: ':8067',
558
564
  EnableClientMetrics: true,
559
565
  EnableNotificationMetrics: true,
566
+ ClientSideUserIds: [],
560
567
  },
561
568
  ExperimentalSettings: {
562
569
  ClientSideCertEnable: false,
@@ -1 +1 @@
1
- {"version":3,"file":"default_config.js","sources":["../../src/server/default_config.ts"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport merge from 'deepmerge';\nimport {\n AdminConfig,\n ClusterSettings,\n CollapsedThreads,\n EmailSettings,\n ExperimentalSettings,\n LogSettings,\n PasswordSettings,\n PluginSettings,\n ServiceSettings,\n TeamSettings,\n} from '@mattermost/types/config';\n\nimport {testConfig} from '@/test_config';\n\nexport function getOnPremServerConfig(): AdminConfig {\n return merge<AdminConfig>(defaultServerConfig, onPremServerConfig() as AdminConfig);\n}\n\ntype TestAdminConfig = {\n ClusterSettings: Partial<ClusterSettings>;\n EmailSettings: Partial<EmailSettings>;\n ExperimentalSettings: Partial<ExperimentalSettings>;\n LogSettings: Partial<LogSettings>;\n PasswordSettings: Partial<PasswordSettings>;\n PluginSettings: Partial<PluginSettings>;\n ServiceSettings: Partial<ServiceSettings>;\n TeamSettings: Partial<TeamSettings>;\n};\n\n// On-prem setting that is different from the default\nconst onPremServerConfig = (): Partial<TestAdminConfig> => {\n return {\n ClusterSettings: {\n Enable: testConfig.haClusterEnabled,\n ClusterName: testConfig.haClusterName,\n },\n EmailSettings: {\n PushNotificationServer: testConfig.pushNotificationServer,\n },\n LogSettings: {\n EnableDiagnostics: false,\n },\n PasswordSettings: {\n MinimumLength: 5,\n Lowercase: false,\n Number: false,\n Uppercase: false,\n Symbol: false,\n EnableForgotLink: true,\n },\n PluginSettings: {\n EnableUploads: true,\n PluginStates: {\n 'com.mattermost.calls': {\n Enable: false,\n },\n 'com.mattermost.nps': {\n Enable: false,\n },\n playbooks: {\n Enable: true,\n },\n },\n },\n ServiceSettings: {\n SiteURL: testConfig.baseURL,\n EnableOnboardingFlow: false,\n EnableSecurityFixAlert: false,\n GiphySdkKey: 's0glxvzVg9azvPipKxcPLpXV0q1x1fVP',\n EnableTesting: true,\n },\n TeamSettings: {\n EnableOpenServer: true,\n MaxUsersPerTeam: 2000,\n },\n };\n};\n\n// Should be based only from the generated default config from ./server via \"make config-reset\"\n// Based on v10.5 server\nconst defaultServerConfig: AdminConfig = {\n ServiceSettings: {\n SiteURL: '',\n WebsocketURL: '',\n LicenseFileLocation: '',\n ListenAddress: ':8065',\n ConnectionSecurity: '',\n TLSCertFile: '',\n TLSKeyFile: '',\n TLSMinVer: '1.2',\n TLSStrictTransport: false,\n TLSStrictTransportMaxAge: 63072000,\n TLSOverwriteCiphers: [],\n UseLetsEncrypt: false,\n LetsEncryptCertificateCacheFile: './config/letsencrypt.cache',\n Forward80To443: false,\n TrustedProxyIPHeader: [],\n ReadTimeout: 300,\n WriteTimeout: 300,\n IdleTimeout: 60,\n MaximumLoginAttempts: 10,\n GoroutineHealthThreshold: -1,\n EnableOAuthServiceProvider: true,\n EnableIncomingWebhooks: true,\n EnableOutgoingWebhooks: true,\n EnableOutgoingOAuthConnections: false,\n EnableCommands: true,\n OutgoingIntegrationRequestsTimeout: 30,\n EnablePostUsernameOverride: false,\n EnablePostIconOverride: false,\n GoogleDeveloperKey: '',\n EnableLinkPreviews: true,\n EnablePermalinkPreviews: true,\n RestrictLinkPreviews: '',\n EnableTesting: false,\n EnableDeveloper: false,\n DeveloperFlags: '',\n EnableClientPerformanceDebugging: false,\n EnableSecurityFixAlert: true,\n EnableInsecureOutgoingConnections: false,\n AllowedUntrustedInternalConnections: '',\n EnableMultifactorAuthentication: false,\n EnforceMultifactorAuthentication: false,\n EnableUserAccessTokens: false,\n AllowCorsFrom: '',\n CorsExposedHeaders: '',\n CorsAllowCredentials: false,\n CorsDebug: false,\n AllowCookiesForSubdomains: false,\n ExtendSessionLengthWithActivity: true,\n TerminateSessionsOnPasswordChange: true,\n SessionLengthWebInDays: 30,\n SessionLengthWebInHours: 720,\n SessionLengthMobileInDays: 30,\n SessionLengthMobileInHours: 720,\n SessionLengthSSOInDays: 30,\n SessionLengthSSOInHours: 720,\n SessionCacheInMinutes: 10,\n SessionIdleTimeoutInMinutes: 43200,\n WebsocketSecurePort: 443,\n WebsocketPort: 80,\n WebserverMode: 'gzip',\n EnableGifPicker: true,\n GiphySdkKey: '',\n EnableCustomEmoji: true,\n EnableEmojiPicker: true,\n PostEditTimeLimit: -1,\n TimeBetweenUserTypingUpdatesMilliseconds: 5000,\n EnableCrossTeamSearch: true,\n EnablePostSearch: true,\n EnableFileSearch: true,\n MinimumHashtagLength: 3,\n EnableUserTypingMessages: true,\n EnableChannelViewedMessages: true,\n EnableUserStatuses: true,\n ExperimentalEnableAuthenticationTransfer: true,\n ClusterLogTimeoutMilliseconds: 2000,\n EnableTutorial: true,\n EnableOnboardingFlow: true,\n ExperimentalEnableDefaultChannelLeaveJoinMessages: true,\n ExperimentalGroupUnreadChannels: 'disabled',\n EnableAPITeamDeletion: false,\n EnableAPITriggerAdminNotifications: false,\n EnableAPIUserDeletion: false,\n EnableAPIPostDeletion: false,\n EnableDesktopLandingPage: true,\n ExperimentalEnableHardenedMode: false,\n ExperimentalStrictCSRFEnforcement: false,\n EnableEmailInvitations: false,\n DisableBotsWhenOwnerIsDeactivated: true,\n EnableBotAccountCreation: false,\n EnableSVGs: false,\n EnableLatex: false,\n EnableInlineLatex: true,\n PostPriority: true,\n AllowPersistentNotifications: true,\n AllowPersistentNotificationsForGuests: false,\n PersistentNotificationIntervalMinutes: 5,\n PersistentNotificationMaxCount: 6,\n PersistentNotificationMaxRecipients: 5,\n EnableAPIChannelDeletion: false,\n EnableLocalMode: false,\n LocalModeSocketLocation: '/var/tmp/mattermost_local.socket',\n EnableAWSMetering: false,\n SplitKey: '',\n FeatureFlagSyncIntervalSeconds: 30,\n DebugSplit: false,\n ThreadAutoFollow: true,\n CollapsedThreads: CollapsedThreads.ALWAYS_ON,\n ManagedResourcePaths: '',\n EnableCustomGroups: true,\n AllowSyncedDrafts: true,\n UniqueEmojiReactionLimitPerPost: 50,\n RefreshPostStatsRunTime: '00:00',\n MaximumPayloadSizeBytes: 300000,\n MaximumURLLength: 2048,\n ScheduledPosts: true,\n },\n TeamSettings: {\n SiteName: 'Mattermost',\n MaxUsersPerTeam: 50,\n EnableJoinLeaveMessageByDefault: true,\n EnableUserCreation: true,\n EnableOpenServer: false,\n EnableUserDeactivation: false,\n RestrictCreationToDomains: '',\n EnableCustomUserStatuses: true,\n EnableCustomBrand: false,\n CustomBrandText: '',\n CustomDescriptionText: '',\n RestrictDirectMessage: 'any',\n EnableLastActiveTime: true,\n UserStatusAwayTimeout: 300,\n MaxChannelsPerTeam: 2000,\n MaxNotificationsPerChannel: 1000,\n EnableConfirmNotificationsToChannel: true,\n TeammateNameDisplay: 'username',\n ExperimentalViewArchivedChannels: true,\n ExperimentalEnableAutomaticReplies: false,\n LockTeammateNameDisplay: false,\n ExperimentalPrimaryTeam: '',\n ExperimentalDefaultChannels: [],\n },\n ClientRequirements: {\n AndroidLatestVersion: '',\n AndroidMinVersion: '',\n IosLatestVersion: '',\n IosMinVersion: '',\n },\n SqlSettings: {\n DriverName: 'postgres',\n DataSource:\n 'postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\\u0026connect_timeout=10\\u0026binary_parameters=yes',\n DataSourceReplicas: [],\n DataSourceSearchReplicas: [],\n MaxIdleConns: 20,\n ConnMaxLifetimeMilliseconds: 3600000,\n ConnMaxIdleTimeMilliseconds: 300000,\n MaxOpenConns: 300,\n Trace: false,\n AtRestEncryptKey: '',\n QueryTimeout: 30,\n DisableDatabaseSearch: false,\n MigrationsStatementTimeoutSeconds: 100000,\n ReplicaLagSettings: [],\n ReplicaMonitorIntervalSeconds: 5,\n },\n LogSettings: {\n EnableConsole: true,\n ConsoleLevel: 'DEBUG',\n ConsoleJson: true,\n EnableColor: false,\n EnableFile: true,\n FileLevel: 'INFO',\n FileJson: true,\n FileLocation: '',\n EnableWebhookDebugging: true,\n EnableDiagnostics: true,\n VerboseDiagnostics: false,\n EnableSentry: true,\n AdvancedLoggingJSON: {},\n MaxFieldSize: 2048,\n },\n ExperimentalAuditSettings: {\n FileEnabled: false,\n FileName: '',\n FileMaxSizeMB: 100,\n FileMaxAgeDays: 0,\n FileMaxBackups: 0,\n FileCompress: false,\n FileMaxQueueSize: 1000,\n AdvancedLoggingJSON: {},\n },\n NotificationLogSettings: {\n EnableConsole: true,\n ConsoleLevel: 'DEBUG',\n ConsoleJson: true,\n EnableColor: false,\n EnableFile: true,\n FileLevel: 'INFO',\n FileJson: true,\n FileLocation: '',\n AdvancedLoggingJSON: {},\n },\n PasswordSettings: {\n MinimumLength: 8,\n Lowercase: false,\n Number: false,\n Uppercase: false,\n Symbol: false,\n EnableForgotLink: true,\n },\n FileSettings: {\n EnableFileAttachments: true,\n EnableMobileUpload: true,\n EnableMobileDownload: true,\n MaxFileSize: 104857600,\n MaxImageResolution: 33177600,\n MaxImageDecoderConcurrency: -1,\n DriverName: 'local',\n Directory: './data/',\n EnablePublicLink: false,\n ExtractContent: true,\n ArchiveRecursion: false,\n PublicLinkSalt: '',\n InitialFont: 'nunito-bold.ttf',\n AmazonS3AccessKeyId: '',\n AmazonS3SecretAccessKey: '',\n AmazonS3Bucket: '',\n AmazonS3PathPrefix: '',\n AmazonS3Region: '',\n AmazonS3Endpoint: 's3.amazonaws.com',\n AmazonS3SSL: true,\n AmazonS3SignV2: false,\n AmazonS3SSE: false,\n AmazonS3Trace: false,\n AmazonS3RequestTimeoutMilliseconds: 30000,\n AmazonS3UploadPartSizeBytes: 5242880,\n AmazonS3StorageClass: '',\n DedicatedExportStore: false,\n ExportDriverName: 'local',\n ExportDirectory: './data/',\n ExportAmazonS3AccessKeyId: '',\n ExportAmazonS3SecretAccessKey: '',\n ExportAmazonS3Bucket: '',\n ExportAmazonS3PathPrefix: '',\n ExportAmazonS3Region: '',\n ExportAmazonS3Endpoint: 's3.amazonaws.com',\n ExportAmazonS3SSL: true,\n ExportAmazonS3SignV2: false,\n ExportAmazonS3SSE: false,\n ExportAmazonS3Trace: false,\n ExportAmazonS3RequestTimeoutMilliseconds: 30000,\n ExportAmazonS3PresignExpiresSeconds: 21600,\n ExportAmazonS3UploadPartSizeBytes: 104857600,\n ExportAmazonS3StorageClass: '',\n },\n EmailSettings: {\n EnableSignUpWithEmail: true,\n EnableSignInWithEmail: true,\n EnableSignInWithUsername: true,\n SendEmailNotifications: true,\n UseChannelInEmailNotifications: false,\n RequireEmailVerification: false,\n FeedbackName: '',\n FeedbackEmail: 'test@example.com',\n ReplyToAddress: 'test@example.com',\n FeedbackOrganization: '',\n EnableSMTPAuth: false,\n SMTPUsername: '',\n SMTPPassword: '',\n SMTPServer: 'localhost',\n SMTPPort: '10025',\n SMTPServerTimeout: 10,\n ConnectionSecurity: '',\n SendPushNotifications: true,\n PushNotificationServer: 'https://push-test.mattermost.com',\n PushNotificationServerType: 'custom',\n PushNotificationServerLocation: 'us',\n PushNotificationContents: 'full',\n PushNotificationBuffer: 1000,\n EnableEmailBatching: false,\n EmailBatchingBufferSize: 256,\n EmailBatchingInterval: 30,\n EnablePreviewModeBanner: true,\n SkipServerCertificateVerification: false,\n EmailNotificationContentsType: 'full',\n LoginButtonColor: '#0000',\n LoginButtonBorderColor: '#2389D7',\n LoginButtonTextColor: '#2389D7',\n },\n RateLimitSettings: {\n Enable: false,\n PerSec: 10,\n MaxBurst: 100,\n MemoryStoreSize: 10000,\n VaryByRemoteAddr: true,\n VaryByUser: false,\n VaryByHeader: '',\n },\n PrivacySettings: {\n ShowEmailAddress: true,\n ShowFullName: true,\n },\n SupportSettings: {\n TermsOfServiceLink: 'https://mattermost.com/pl/terms-of-use/',\n PrivacyPolicyLink: 'https://mattermost.com/pl/privacy-policy/',\n AboutLink: 'https://mattermost.com/pl/about-mattermost',\n HelpLink: 'https://mattermost.com/pl/help/',\n ReportAProblemLink: 'https://mattermost.com/pl/report-a-bug',\n ForgotPasswordLink: '',\n SupportEmail: '',\n CustomTermsOfServiceEnabled: false,\n CustomTermsOfServiceReAcceptancePeriod: 365,\n EnableAskCommunityLink: true,\n },\n AnnouncementSettings: {\n EnableBanner: false,\n BannerText: '',\n BannerColor: '#f2a93b',\n BannerTextColor: '#333333',\n AllowBannerDismissal: true,\n AdminNoticesEnabled: true,\n UserNoticesEnabled: true,\n NoticesURL: 'https://notices.mattermost.com/',\n NoticesFetchFrequency: 3600,\n NoticesSkipCache: false,\n },\n ThemeSettings: {\n EnableThemeSelection: true,\n DefaultTheme: 'default',\n AllowCustomThemes: true,\n AllowedThemes: [],\n },\n GitLabSettings: {\n Enable: false,\n Secret: '',\n Id: '',\n Scope: '',\n AuthEndpoint: '',\n TokenEndpoint: '',\n UserAPIEndpoint: '',\n DiscoveryEndpoint: '',\n ButtonText: '',\n ButtonColor: '',\n },\n GoogleSettings: {\n Enable: false,\n Secret: '',\n Id: '',\n Scope: 'profile email',\n AuthEndpoint: 'https://accounts.google.com/o/oauth2/v2/auth',\n TokenEndpoint: 'https://www.googleapis.com/oauth2/v4/token',\n UserAPIEndpoint:\n 'https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses,nicknames,metadata',\n DiscoveryEndpoint: '',\n ButtonText: '',\n ButtonColor: '',\n },\n Office365Settings: {\n Enable: false,\n Secret: '',\n Id: '',\n Scope: 'User.Read',\n AuthEndpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize',\n TokenEndpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/token',\n UserAPIEndpoint: 'https://graph.microsoft.com/v1.0/me',\n DiscoveryEndpoint: '',\n DirectoryId: '',\n },\n OpenIdSettings: {\n Enable: false,\n Secret: '',\n Id: '',\n Scope: 'profile openid email',\n AuthEndpoint: '',\n TokenEndpoint: '',\n UserAPIEndpoint: '',\n DiscoveryEndpoint: '',\n ButtonText: '',\n ButtonColor: '#145DBF',\n },\n LdapSettings: {\n Enable: false,\n EnableSync: false,\n LdapServer: '',\n LdapPort: 389,\n MaximumLoginAttempts: 10,\n ConnectionSecurity: '',\n BaseDN: '',\n BindUsername: '',\n BindPassword: '',\n UserFilter: '',\n GroupFilter: '',\n GuestFilter: '',\n EnableAdminFilter: false,\n AdminFilter: '',\n GroupDisplayNameAttribute: '',\n GroupIdAttribute: '',\n FirstNameAttribute: '',\n LastNameAttribute: '',\n EmailAttribute: '',\n UsernameAttribute: '',\n NicknameAttribute: '',\n IdAttribute: '',\n PositionAttribute: '',\n LoginIdAttribute: '',\n PictureAttribute: '',\n SyncIntervalMinutes: 60,\n SkipCertificateVerification: false,\n PublicCertificateFile: '',\n PrivateKeyFile: '',\n QueryTimeout: 60,\n MaxPageSize: 0,\n LoginFieldName: '',\n LoginButtonColor: '#0000',\n LoginButtonBorderColor: '#2389D7',\n LoginButtonTextColor: '#2389D7',\n },\n ComplianceSettings: {\n Enable: false,\n Directory: './data/',\n EnableDaily: false,\n BatchSize: 30000,\n },\n LocalizationSettings: {\n DefaultServerLocale: 'en',\n DefaultClientLocale: 'en',\n AvailableLocales: '',\n EnableExperimentalLocales: false,\n },\n SamlSettings: {\n Enable: false,\n EnableSyncWithLdap: false,\n EnableSyncWithLdapIncludeAuth: false,\n IgnoreGuestsLdapSync: false,\n Verify: true,\n Encrypt: true,\n SignRequest: false,\n IdpURL: '',\n IdpDescriptorURL: '',\n IdpMetadataURL: '',\n ServiceProviderIdentifier: '',\n AssertionConsumerServiceURL: '',\n SignatureAlgorithm: 'RSAwithSHA1',\n CanonicalAlgorithm: 'Canonical1.0',\n ScopingIDPProviderId: '',\n ScopingIDPName: '',\n IdpCertificateFile: '',\n PublicCertificateFile: '',\n PrivateKeyFile: '',\n IdAttribute: '',\n GuestAttribute: '',\n EnableAdminAttribute: false,\n AdminAttribute: '',\n FirstNameAttribute: '',\n LastNameAttribute: '',\n EmailAttribute: '',\n UsernameAttribute: '',\n NicknameAttribute: '',\n LocaleAttribute: '',\n PositionAttribute: '',\n LoginButtonText: 'SAML',\n LoginButtonColor: '#34a28b',\n LoginButtonBorderColor: '#2389D7',\n LoginButtonTextColor: '#ffffff',\n },\n NativeAppSettings: {\n AppCustomURLSchemes: ['mmauth://', 'mmauthbeta://'],\n AppDownloadLink: 'https://mattermost.com/pl/download-apps',\n AndroidAppDownloadLink: 'https://mattermost.com/pl/android-app/',\n IosAppDownloadLink: 'https://mattermost.com/pl/ios-app/',\n MobileExternalBrowser: false,\n },\n CacheSettings: {\n CacheType: 'lru',\n RedisAddress: '',\n RedisPassword: '',\n RedisDB: -1,\n DisableClientCache: false,\n },\n ClusterSettings: {\n Enable: false,\n ClusterName: '',\n OverrideHostname: '',\n NetworkInterface: '',\n BindAddress: '',\n AdvertiseAddress: '',\n UseIPAddress: true,\n EnableGossipCompression: true,\n EnableExperimentalGossipEncryption: false,\n ReadOnlyConfig: true,\n GossipPort: 8074,\n },\n MetricsSettings: {\n Enable: false,\n BlockProfileRate: 0,\n ListenAddress: ':8067',\n EnableClientMetrics: true,\n EnableNotificationMetrics: true,\n },\n ExperimentalSettings: {\n ClientSideCertEnable: false,\n ClientSideCertCheck: 'secondary',\n LinkMetadataTimeoutMilliseconds: 5000,\n RestrictSystemAdmin: false,\n EnableSharedChannels: false,\n EnableRemoteClusterService: false,\n DisableAppBar: false,\n DisableRefetchingOnBrowserFocus: false,\n DelayChannelAutocomplete: false,\n DisableWakeUpReconnectHandler: false,\n UsersStatusAndProfileFetchingPollIntervalMilliseconds: 3000,\n YoutubeReferrerPolicy: false,\n },\n AnalyticsSettings: {\n MaxUsersForStatistics: 2500,\n },\n ElasticsearchSettings: {\n ConnectionURL: 'http://localhost:9200',\n Backend: 'elasticsearch',\n Username: 'elastic',\n Password: 'changeme',\n EnableIndexing: false,\n EnableSearching: false,\n EnableAutocomplete: false,\n Sniff: true,\n PostIndexReplicas: 1,\n PostIndexShards: 1,\n ChannelIndexReplicas: 1,\n ChannelIndexShards: 1,\n UserIndexReplicas: 1,\n UserIndexShards: 1,\n AggregatePostsAfterDays: 365,\n PostsAggregatorJobStartTime: '03:00',\n IndexPrefix: '',\n LiveIndexingBatchSize: 10,\n BatchSize: 10000,\n RequestTimeoutSeconds: 30,\n SkipTLSVerification: false,\n CA: '',\n ClientCert: '',\n ClientKey: '',\n Trace: '',\n IgnoredPurgeIndexes: '',\n },\n BleveSettings: {\n IndexDir: '',\n EnableIndexing: false,\n EnableSearching: false,\n EnableAutocomplete: false,\n BatchSize: 10000,\n },\n DataRetentionSettings: {\n EnableMessageDeletion: false,\n EnableFileDeletion: false,\n EnableBoardsDeletion: false,\n MessageRetentionDays: 365,\n MessageRetentionHours: 0,\n FileRetentionDays: 365,\n FileRetentionHours: 0,\n BoardsRetentionDays: 365,\n DeletionJobStartTime: '02:00',\n BatchSize: 3000,\n TimeBetweenBatchesMilliseconds: 100,\n RetentionIdsBatchSize: 100,\n },\n MessageExportSettings: {\n EnableExport: false,\n ExportFormat: 'actiance',\n DailyRunTime: '01:00',\n ExportFromTimestamp: 0,\n BatchSize: 10000,\n DownloadExportResults: false,\n ChannelBatchSize: 100,\n ChannelHistoryBatchSize: 10,\n GlobalRelaySettings: {\n CustomerType: 'A9',\n SMTPUsername: '',\n SMTPPassword: '',\n EmailAddress: '',\n SMTPServerTimeout: 1800,\n CustomSMTPServerName: '',\n CustomSMTPPort: '25',\n },\n },\n JobSettings: {\n RunJobs: true,\n RunScheduler: true,\n CleanupJobsThresholdDays: -1,\n CleanupConfigThresholdDays: -1,\n },\n PluginSettings: {\n Enable: true,\n EnableUploads: false,\n AllowInsecureDownloadURL: false,\n EnableHealthCheck: true,\n Directory: './plugins',\n ClientDirectory: './client/plugins',\n Plugins: {},\n PluginStates: {\n 'com.mattermost.calls': {\n Enable: true,\n },\n 'com.mattermost.nps': {\n Enable: true,\n },\n 'mattermost-ai': {\n Enable: true,\n },\n playbooks: {\n Enable: true,\n },\n },\n EnableMarketplace: true,\n EnableRemoteMarketplace: true,\n AutomaticPrepackagedPlugins: true,\n RequirePluginSignature: false,\n MarketplaceURL: 'https://api.integrations.mattermost.com',\n SignaturePublicKeyFiles: [],\n ChimeraOAuthProxyURL: '',\n },\n DisplaySettings: {\n CustomURLSchemes: [],\n MaxMarkdownNodes: 0,\n },\n GuestAccountsSettings: {\n Enable: false,\n HideTags: false,\n AllowEmailAccounts: true,\n EnforceMultifactorAuthentication: false,\n RestrictCreationToDomains: '',\n },\n ImageProxySettings: {\n Enable: false,\n ImageProxyType: 'local',\n RemoteImageProxyURL: '',\n RemoteImageProxyOptions: '',\n },\n CloudSettings: {\n CWSURL: 'https://customers.mattermost.com',\n CWSAPIURL: 'https://portal.internal.prod.cloud.mattermost.com',\n CWSMock: false,\n Disable: false,\n },\n FeatureFlags: {\n TestFeature: 'off',\n TestBoolFeature: false,\n EnableRemoteClusterService: false,\n EnableSharedChannelsDMs: false,\n AppsEnabled: false,\n PermalinkPreviews: false,\n NormalizeLdapDNs: false,\n WysiwygEditor: false,\n OnboardingTourTips: true,\n DeprecateCloudFree: false,\n EnableExportDirectDownload: false,\n MoveThreadsEnabled: false,\n StreamlinedMarketplace: true,\n CloudIPFiltering: false,\n ConsumePostHook: false,\n CloudAnnualRenewals: false,\n CloudDedicatedExportUI: false,\n ChannelBookmarks: true,\n WebSocketEventScope: true,\n NotificationMonitoring: true,\n ExperimentalAuditSettingsSystemConsoleUI: false,\n CustomProfileAttributes: false,\n },\n ImportSettings: {\n Directory: './import',\n RetentionDays: 30,\n },\n ExportSettings: {\n Directory: './export',\n RetentionDays: 30,\n },\n WranglerSettings: {\n PermittedWranglerRoles: [],\n AllowedEmailDomain: [],\n MoveThreadMaxCount: 100,\n MoveThreadToAnotherTeamEnable: false,\n MoveThreadFromPrivateChannelEnable: false,\n MoveThreadFromDirectMessageChannelEnable: false,\n MoveThreadFromGroupMessageChannelEnable: false,\n },\n ConnectedWorkspacesSettings: {\n EnableSharedChannels: false,\n EnableRemoteClusterService: false,\n DisableSharedChannelsStatusSync: false,\n MaxPostsPerSync: 50,\n },\n};\n"],"names":["testConfig","CollapsedThreads"],"mappings":";;;;;;AAAA;AACA;SAkBgB,qBAAqB,GAAA;AACjC,IAAA,OAAO,KAAK,CAAc,mBAAmB,EAAE,kBAAkB,EAAiB,CAAC;AACvF;AAaA;AACA,MAAM,kBAAkB,GAAG,MAA+B;IACtD,OAAO;AACH,QAAA,eAAe,EAAE;YACb,MAAM,EAAEA,sBAAU,CAAC,gBAAgB;YACnC,WAAW,EAAEA,sBAAU,CAAC,aAAa;AACxC,SAAA;AACD,QAAA,aAAa,EAAE;YACX,sBAAsB,EAAEA,sBAAU,CAAC,sBAAsB;AAC5D,SAAA;AACD,QAAA,WAAW,EAAE;AACT,YAAA,iBAAiB,EAAE,KAAK;AAC3B,SAAA;AACD,QAAA,gBAAgB,EAAE;AACd,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,gBAAgB,EAAE,IAAI;AACzB,SAAA;AACD,QAAA,cAAc,EAAE;AACZ,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,YAAY,EAAE;AACV,gBAAA,sBAAsB,EAAE;AACpB,oBAAA,MAAM,EAAE,KAAK;AAChB,iBAAA;AACD,gBAAA,oBAAoB,EAAE;AAClB,oBAAA,MAAM,EAAE,KAAK;AAChB,iBAAA;AACD,gBAAA,SAAS,EAAE;AACP,oBAAA,MAAM,EAAE,IAAI;AACf,iBAAA;AACJ,aAAA;AACJ,SAAA;AACD,QAAA,eAAe,EAAE;YACb,OAAO,EAAEA,sBAAU,CAAC,OAAO;AAC3B,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,WAAW,EAAE,kCAAkC;AAC/C,YAAA,aAAa,EAAE,IAAI;AACtB,SAAA;AACD,QAAA,YAAY,EAAE;AACV,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,eAAe,EAAE,IAAI;AACxB,SAAA;KACJ;AACL,CAAC;AAED;AACA;AACA,MAAM,mBAAmB,GAAgB;AACrC,IAAA,eAAe,EAAE;AACb,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,mBAAmB,EAAE,EAAE;AACvB,QAAA,aAAa,EAAE,OAAO;AACtB,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,kBAAkB,EAAE,KAAK;AACzB,QAAA,wBAAwB,EAAE,QAAQ;AAClC,QAAA,mBAAmB,EAAE,EAAE;AACvB,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,+BAA+B,EAAE,4BAA4B;AAC7D,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,oBAAoB,EAAE,EAAE;AACxB,QAAA,WAAW,EAAE,GAAG;AAChB,QAAA,YAAY,EAAE,GAAG;AACjB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,oBAAoB,EAAE,EAAE;QACxB,wBAAwB,EAAE,EAAE;AAC5B,QAAA,0BAA0B,EAAE,IAAI;AAChC,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,8BAA8B,EAAE,KAAK;AACrC,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,kCAAkC,EAAE,EAAE;AACtC,QAAA,0BAA0B,EAAE,KAAK;AACjC,QAAA,sBAAsB,EAAE,KAAK;AAC7B,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,uBAAuB,EAAE,IAAI;AAC7B,QAAA,oBAAoB,EAAE,EAAE;AACxB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,gCAAgC,EAAE,KAAK;AACvC,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,iCAAiC,EAAE,KAAK;AACxC,QAAA,mCAAmC,EAAE,EAAE;AACvC,QAAA,+BAA+B,EAAE,KAAK;AACtC,QAAA,gCAAgC,EAAE,KAAK;AACvC,QAAA,sBAAsB,EAAE,KAAK;AAC7B,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,yBAAyB,EAAE,KAAK;AAChC,QAAA,+BAA+B,EAAE,IAAI;AACrC,QAAA,iCAAiC,EAAE,IAAI;AACvC,QAAA,sBAAsB,EAAE,EAAE;AAC1B,QAAA,uBAAuB,EAAE,GAAG;AAC5B,QAAA,yBAAyB,EAAE,EAAE;AAC7B,QAAA,0BAA0B,EAAE,GAAG;AAC/B,QAAA,sBAAsB,EAAE,EAAE;AAC1B,QAAA,uBAAuB,EAAE,GAAG;AAC5B,QAAA,qBAAqB,EAAE,EAAE;AACzB,QAAA,2BAA2B,EAAE,KAAK;AAClC,QAAA,mBAAmB,EAAE,GAAG;AACxB,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,aAAa,EAAE,MAAM;AACrB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,EAAE;AACrB,QAAA,wCAAwC,EAAE,IAAI;AAC9C,QAAA,qBAAqB,EAAE,IAAI;AAC3B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,oBAAoB,EAAE,CAAC;AACvB,QAAA,wBAAwB,EAAE,IAAI;AAC9B,QAAA,2BAA2B,EAAE,IAAI;AACjC,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,wCAAwC,EAAE,IAAI;AAC9C,QAAA,6BAA6B,EAAE,IAAI;AACnC,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,oBAAoB,EAAE,IAAI;AAC1B,QAAA,iDAAiD,EAAE,IAAI;AACvD,QAAA,+BAA+B,EAAE,UAAU;AAC3C,QAAA,qBAAqB,EAAE,KAAK;AAC5B,QAAA,kCAAkC,EAAE,KAAK;AACzC,QAAA,qBAAqB,EAAE,KAAK;AAC5B,QAAA,qBAAqB,EAAE,KAAK;AAC5B,QAAA,wBAAwB,EAAE,IAAI;AAC9B,QAAA,8BAA8B,EAAE,KAAK;AACrC,QAAA,iCAAiC,EAAE,KAAK;AACxC,QAAA,sBAAsB,EAAE,KAAK;AAC7B,QAAA,iCAAiC,EAAE,IAAI;AACvC,QAAA,wBAAwB,EAAE,KAAK;AAC/B,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,4BAA4B,EAAE,IAAI;AAClC,QAAA,qCAAqC,EAAE,KAAK;AAC5C,QAAA,qCAAqC,EAAE,CAAC;AACxC,QAAA,8BAA8B,EAAE,CAAC;AACjC,QAAA,mCAAmC,EAAE,CAAC;AACtC,QAAA,wBAAwB,EAAE,KAAK;AAC/B,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,uBAAuB,EAAE,kCAAkC;AAC3D,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,8BAA8B,EAAE,EAAE;AAClC,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAEC,uBAAgB,CAAC,SAAS;AAC5C,QAAA,oBAAoB,EAAE,EAAE;AACxB,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,+BAA+B,EAAE,EAAE;AACnC,QAAA,uBAAuB,EAAE,OAAO;AAChC,QAAA,uBAAuB,EAAE,MAAM;AAC/B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,cAAc,EAAE,IAAI;AACvB,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,+BAA+B,EAAE,IAAI;AACrC,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,sBAAsB,EAAE,KAAK;AAC7B,QAAA,yBAAyB,EAAE,EAAE;AAC7B,QAAA,wBAAwB,EAAE,IAAI;AAC9B,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,qBAAqB,EAAE,EAAE;AACzB,QAAA,qBAAqB,EAAE,KAAK;AAC5B,QAAA,oBAAoB,EAAE,IAAI;AAC1B,QAAA,qBAAqB,EAAE,GAAG;AAC1B,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,0BAA0B,EAAE,IAAI;AAChC,QAAA,mCAAmC,EAAE,IAAI;AACzC,QAAA,mBAAmB,EAAE,UAAU;AAC/B,QAAA,gCAAgC,EAAE,IAAI;AACtC,QAAA,kCAAkC,EAAE,KAAK;AACzC,QAAA,uBAAuB,EAAE,KAAK;AAC9B,QAAA,uBAAuB,EAAE,EAAE;AAC3B,QAAA,2BAA2B,EAAE,EAAE;AAClC,KAAA;AACD,IAAA,kBAAkB,EAAE;AAChB,QAAA,oBAAoB,EAAE,EAAE;AACxB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,aAAa,EAAE,EAAE;AACpB,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,UAAU,EAAE,UAAU;AACtB,QAAA,UAAU,EACN,wHAAwH;AAC5H,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,wBAAwB,EAAE,EAAE;AAC5B,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,2BAA2B,EAAE,OAAO;AACpC,QAAA,2BAA2B,EAAE,MAAM;AACnC,QAAA,YAAY,EAAE,GAAG;AACjB,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,qBAAqB,EAAE,KAAK;AAC5B,QAAA,iCAAiC,EAAE,MAAM;AACzC,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,6BAA6B,EAAE,CAAC;AACnC,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,YAAY,EAAE,OAAO;AACrB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,kBAAkB,EAAE,KAAK;AACzB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,mBAAmB,EAAE,EAAE;AACvB,QAAA,YAAY,EAAE,IAAI;AACrB,KAAA;AACD,IAAA,yBAAyB,EAAE;AACvB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,aAAa,EAAE,GAAG;AAClB,QAAA,cAAc,EAAE,CAAC;AACjB,QAAA,cAAc,EAAE,CAAC;AACjB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,mBAAmB,EAAE,EAAE;AAC1B,KAAA;AACD,IAAA,uBAAuB,EAAE;AACrB,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,YAAY,EAAE,OAAO;AACrB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,mBAAmB,EAAE,EAAE;AAC1B,KAAA;AACD,IAAA,gBAAgB,EAAE;AACd,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,gBAAgB,EAAE,IAAI;AACzB,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,qBAAqB,EAAE,IAAI;AAC3B,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,oBAAoB,EAAE,IAAI;AAC1B,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,kBAAkB,EAAE,QAAQ;QAC5B,0BAA0B,EAAE,EAAE;AAC9B,QAAA,UAAU,EAAE,OAAO;AACnB,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,WAAW,EAAE,iBAAiB;AAC9B,QAAA,mBAAmB,EAAE,EAAE;AACvB,QAAA,uBAAuB,EAAE,EAAE;AAC3B,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,gBAAgB,EAAE,kBAAkB;AACpC,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,kCAAkC,EAAE,KAAK;AACzC,QAAA,2BAA2B,EAAE,OAAO;AACpC,QAAA,oBAAoB,EAAE,EAAE;AACxB,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,gBAAgB,EAAE,OAAO;AACzB,QAAA,eAAe,EAAE,SAAS;AAC1B,QAAA,yBAAyB,EAAE,EAAE;AAC7B,QAAA,6BAA6B,EAAE,EAAE;AACjC,QAAA,oBAAoB,EAAE,EAAE;AACxB,QAAA,wBAAwB,EAAE,EAAE;AAC5B,QAAA,oBAAoB,EAAE,EAAE;AACxB,QAAA,sBAAsB,EAAE,kBAAkB;AAC1C,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,mBAAmB,EAAE,KAAK;AAC1B,QAAA,wCAAwC,EAAE,KAAK;AAC/C,QAAA,mCAAmC,EAAE,KAAK;AAC1C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,0BAA0B,EAAE,EAAE;AACjC,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,qBAAqB,EAAE,IAAI;AAC3B,QAAA,qBAAqB,EAAE,IAAI;AAC3B,QAAA,wBAAwB,EAAE,IAAI;AAC9B,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,8BAA8B,EAAE,KAAK;AACrC,QAAA,wBAAwB,EAAE,KAAK;AAC/B,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,aAAa,EAAE,kBAAkB;AACjC,QAAA,cAAc,EAAE,kBAAkB;AAClC,QAAA,oBAAoB,EAAE,EAAE;AACxB,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,UAAU,EAAE,WAAW;AACvB,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,qBAAqB,EAAE,IAAI;AAC3B,QAAA,sBAAsB,EAAE,kCAAkC;AAC1D,QAAA,0BAA0B,EAAE,QAAQ;AACpC,QAAA,8BAA8B,EAAE,IAAI;AACpC,QAAA,wBAAwB,EAAE,MAAM;AAChC,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,mBAAmB,EAAE,KAAK;AAC1B,QAAA,uBAAuB,EAAE,GAAG;AAC5B,QAAA,qBAAqB,EAAE,EAAE;AACzB,QAAA,uBAAuB,EAAE,IAAI;AAC7B,QAAA,iCAAiC,EAAE,KAAK;AACxC,QAAA,6BAA6B,EAAE,MAAM;AACrC,QAAA,gBAAgB,EAAE,OAAO;AACzB,QAAA,sBAAsB,EAAE,SAAS;AACjC,QAAA,oBAAoB,EAAE,SAAS;AAClC,KAAA;AACD,IAAA,iBAAiB,EAAE;AACf,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,YAAY,EAAE,EAAE;AACnB,KAAA;AACD,IAAA,eAAe,EAAE;AACb,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,YAAY,EAAE,IAAI;AACrB,KAAA;AACD,IAAA,eAAe,EAAE;AACb,QAAA,kBAAkB,EAAE,yCAAyC;AAC7D,QAAA,iBAAiB,EAAE,2CAA2C;AAC9D,QAAA,SAAS,EAAE,4CAA4C;AACvD,QAAA,QAAQ,EAAE,iCAAiC;AAC3C,QAAA,kBAAkB,EAAE,wCAAwC;AAC5D,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,2BAA2B,EAAE,KAAK;AAClC,QAAA,sCAAsC,EAAE,GAAG;AAC3C,QAAA,sBAAsB,EAAE,IAAI;AAC/B,KAAA;AACD,IAAA,oBAAoB,EAAE;AAClB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,eAAe,EAAE,SAAS;AAC1B,QAAA,oBAAoB,EAAE,IAAI;AAC1B,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,UAAU,EAAE,iCAAiC;AAC7C,QAAA,qBAAqB,EAAE,IAAI;AAC3B,QAAA,gBAAgB,EAAE,KAAK;AAC1B,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,oBAAoB,EAAE,IAAI;AAC1B,QAAA,YAAY,EAAE,SAAS;AACvB,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,aAAa,EAAE,EAAE;AACpB,KAAA;AACD,IAAA,cAAc,EAAE;AACZ,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,WAAW,EAAE,EAAE;AAClB,KAAA;AACD,IAAA,cAAc,EAAE;AACZ,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,KAAK,EAAE,eAAe;AACtB,QAAA,YAAY,EAAE,8CAA8C;AAC5D,QAAA,aAAa,EAAE,4CAA4C;AAC3D,QAAA,eAAe,EACX,iGAAiG;AACrG,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,WAAW,EAAE,EAAE;AAClB,KAAA;AACD,IAAA,iBAAiB,EAAE;AACf,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,YAAY,EAAE,gEAAgE;AAC9E,QAAA,aAAa,EAAE,4DAA4D;AAC3E,QAAA,eAAe,EAAE,qCAAqC;AACtD,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,WAAW,EAAE,EAAE;AAClB,KAAA;AACD,IAAA,cAAc,EAAE;AACZ,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,KAAK,EAAE,sBAAsB;AAC7B,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,WAAW,EAAE,SAAS;AACzB,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,oBAAoB,EAAE,EAAE;AACxB,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,yBAAyB,EAAE,EAAE;AAC7B,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,mBAAmB,EAAE,EAAE;AACvB,QAAA,2BAA2B,EAAE,KAAK;AAClC,QAAA,qBAAqB,EAAE,EAAE;AACzB,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,gBAAgB,EAAE,OAAO;AACzB,QAAA,sBAAsB,EAAE,SAAS;AACjC,QAAA,oBAAoB,EAAE,SAAS;AAClC,KAAA;AACD,IAAA,kBAAkB,EAAE;AAChB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,SAAS,EAAE,KAAK;AACnB,KAAA;AACD,IAAA,oBAAoB,EAAE;AAClB,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,yBAAyB,EAAE,KAAK;AACnC,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,kBAAkB,EAAE,KAAK;AACzB,QAAA,6BAA6B,EAAE,KAAK;AACpC,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,yBAAyB,EAAE,EAAE;AAC7B,QAAA,2BAA2B,EAAE,EAAE;AAC/B,QAAA,kBAAkB,EAAE,aAAa;AACjC,QAAA,kBAAkB,EAAE,cAAc;AAClC,QAAA,oBAAoB,EAAE,EAAE;AACxB,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,qBAAqB,EAAE,EAAE;AACzB,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,iBAAiB,EAAE,EAAE;AACrB,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,gBAAgB,EAAE,SAAS;AAC3B,QAAA,sBAAsB,EAAE,SAAS;AACjC,QAAA,oBAAoB,EAAE,SAAS;AAClC,KAAA;AACD,IAAA,iBAAiB,EAAE;AACf,QAAA,mBAAmB,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;AACnD,QAAA,eAAe,EAAE,yCAAyC;AAC1D,QAAA,sBAAsB,EAAE,wCAAwC;AAChE,QAAA,kBAAkB,EAAE,oCAAoC;AACxD,QAAA,qBAAqB,EAAE,KAAK;AAC/B,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,aAAa,EAAE,EAAE;QACjB,OAAO,EAAE,EAAE;AACX,QAAA,kBAAkB,EAAE,KAAK;AAC5B,KAAA;AACD,IAAA,eAAe,EAAE;AACb,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,uBAAuB,EAAE,IAAI;AAC7B,QAAA,kCAAkC,EAAE,KAAK;AACzC,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,UAAU,EAAE,IAAI;AACnB,KAAA;AACD,IAAA,eAAe,EAAE;AACb,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,gBAAgB,EAAE,CAAC;AACnB,QAAA,aAAa,EAAE,OAAO;AACtB,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,yBAAyB,EAAE,IAAI;AAClC,KAAA;AACD,IAAA,oBAAoB,EAAE;AAClB,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,mBAAmB,EAAE,WAAW;AAChC,QAAA,+BAA+B,EAAE,IAAI;AACrC,QAAA,mBAAmB,EAAE,KAAK;AAC1B,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,0BAA0B,EAAE,KAAK;AACjC,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,+BAA+B,EAAE,KAAK;AACtC,QAAA,wBAAwB,EAAE,KAAK;AAC/B,QAAA,6BAA6B,EAAE,KAAK;AACpC,QAAA,qDAAqD,EAAE,IAAI;AAC3D,QAAA,qBAAqB,EAAE,KAAK;AAC/B,KAAA;AACD,IAAA,iBAAiB,EAAE;AACf,QAAA,qBAAqB,EAAE,IAAI;AAC9B,KAAA;AACD,IAAA,qBAAqB,EAAE;AACnB,QAAA,aAAa,EAAE,uBAAuB;AACtC,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,kBAAkB,EAAE,KAAK;AACzB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,iBAAiB,EAAE,CAAC;AACpB,QAAA,eAAe,EAAE,CAAC;AAClB,QAAA,oBAAoB,EAAE,CAAC;AACvB,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,iBAAiB,EAAE,CAAC;AACpB,QAAA,eAAe,EAAE,CAAC;AAClB,QAAA,uBAAuB,EAAE,GAAG;AAC5B,QAAA,2BAA2B,EAAE,OAAO;AACpC,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,qBAAqB,EAAE,EAAE;AACzB,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,qBAAqB,EAAE,EAAE;AACzB,QAAA,mBAAmB,EAAE,KAAK;AAC1B,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,mBAAmB,EAAE,EAAE;AAC1B,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,kBAAkB,EAAE,KAAK;AACzB,QAAA,SAAS,EAAE,KAAK;AACnB,KAAA;AACD,IAAA,qBAAqB,EAAE;AACnB,QAAA,qBAAqB,EAAE,KAAK;AAC5B,QAAA,kBAAkB,EAAE,KAAK;AACzB,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,oBAAoB,EAAE,GAAG;AACzB,QAAA,qBAAqB,EAAE,CAAC;AACxB,QAAA,iBAAiB,EAAE,GAAG;AACtB,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,mBAAmB,EAAE,GAAG;AACxB,QAAA,oBAAoB,EAAE,OAAO;AAC7B,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,8BAA8B,EAAE,GAAG;AACnC,QAAA,qBAAqB,EAAE,GAAG;AAC7B,KAAA;AACD,IAAA,qBAAqB,EAAE;AACnB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,YAAY,EAAE,UAAU;AACxB,QAAA,YAAY,EAAE,OAAO;AACrB,QAAA,mBAAmB,EAAE,CAAC;AACtB,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,qBAAqB,EAAE,KAAK;AAC5B,QAAA,gBAAgB,EAAE,GAAG;AACrB,QAAA,uBAAuB,EAAE,EAAE;AAC3B,QAAA,mBAAmB,EAAE;AACjB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,oBAAoB,EAAE,EAAE;AACxB,YAAA,cAAc,EAAE,IAAI;AACvB,SAAA;AACJ,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,YAAY,EAAE,IAAI;QAClB,wBAAwB,EAAE,EAAE;QAC5B,0BAA0B,EAAE,EAAE;AACjC,KAAA;AACD,IAAA,cAAc,EAAE;AACZ,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,wBAAwB,EAAE,KAAK;AAC/B,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,eAAe,EAAE,kBAAkB;AACnC,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,YAAY,EAAE;AACV,YAAA,sBAAsB,EAAE;AACpB,gBAAA,MAAM,EAAE,IAAI;AACf,aAAA;AACD,YAAA,oBAAoB,EAAE;AAClB,gBAAA,MAAM,EAAE,IAAI;AACf,aAAA;AACD,YAAA,eAAe,EAAE;AACb,gBAAA,MAAM,EAAE,IAAI;AACf,aAAA;AACD,YAAA,SAAS,EAAE;AACP,gBAAA,MAAM,EAAE,IAAI;AACf,aAAA;AACJ,SAAA;AACD,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,uBAAuB,EAAE,IAAI;AAC7B,QAAA,2BAA2B,EAAE,IAAI;AACjC,QAAA,sBAAsB,EAAE,KAAK;AAC7B,QAAA,cAAc,EAAE,yCAAyC;AACzD,QAAA,uBAAuB,EAAE,EAAE;AAC3B,QAAA,oBAAoB,EAAE,EAAE;AAC3B,KAAA;AACD,IAAA,eAAe,EAAE;AACb,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,gBAAgB,EAAE,CAAC;AACtB,KAAA;AACD,IAAA,qBAAqB,EAAE;AACnB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,gCAAgC,EAAE,KAAK;AACvC,QAAA,yBAAyB,EAAE,EAAE;AAChC,KAAA;AACD,IAAA,kBAAkB,EAAE;AAChB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,cAAc,EAAE,OAAO;AACvB,QAAA,mBAAmB,EAAE,EAAE;AACvB,QAAA,uBAAuB,EAAE,EAAE;AAC9B,KAAA;AACD,IAAA,aAAa,EAAE;AACX,QAAA,MAAM,EAAE,kCAAkC;AAC1C,QAAA,SAAS,EAAE,mDAAmD;AAC9D,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,OAAO,EAAE,KAAK;AACjB,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,0BAA0B,EAAE,KAAK;AACjC,QAAA,uBAAuB,EAAE,KAAK;AAC9B,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,kBAAkB,EAAE,IAAI;AACxB,QAAA,kBAAkB,EAAE,KAAK;AACzB,QAAA,0BAA0B,EAAE,KAAK;AACjC,QAAA,kBAAkB,EAAE,KAAK;AACzB,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,mBAAmB,EAAE,KAAK;AAC1B,QAAA,sBAAsB,EAAE,KAAK;AAC7B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,sBAAsB,EAAE,IAAI;AAC5B,QAAA,wCAAwC,EAAE,KAAK;AAC/C,QAAA,uBAAuB,EAAE,KAAK;AACjC,KAAA;AACD,IAAA,cAAc,EAAE;AACZ,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,aAAa,EAAE,EAAE;AACpB,KAAA;AACD,IAAA,cAAc,EAAE;AACZ,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,aAAa,EAAE,EAAE;AACpB,KAAA;AACD,IAAA,gBAAgB,EAAE;AACd,QAAA,sBAAsB,EAAE,EAAE;AAC1B,QAAA,kBAAkB,EAAE,EAAE;AACtB,QAAA,kBAAkB,EAAE,GAAG;AACvB,QAAA,6BAA6B,EAAE,KAAK;AACpC,QAAA,kCAAkC,EAAE,KAAK;AACzC,QAAA,wCAAwC,EAAE,KAAK;AAC/C,QAAA,uCAAuC,EAAE,KAAK;AACjD,KAAA;AACD,IAAA,2BAA2B,EAAE;AACzB,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,0BAA0B,EAAE,KAAK;AACjC,QAAA,+BAA+B,EAAE,KAAK;AACtC,QAAA,eAAe,EAAE,EAAE;AACtB,KAAA;CACJ;;;;"}
1
+ {"version":3,"file":"default_config.js","sources":["../../src/server/default_config.ts"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport merge from 'deepmerge';\nimport {\n AdminConfig,\n ClusterSettings,\n CollapsedThreads,\n EmailSettings,\n ExperimentalSettings,\n LogSettings,\n PasswordSettings,\n PluginSettings,\n ServiceSettings,\n TeamSettings,\n} from '@mattermost/types/config';\n\nimport {testConfig} from '@/test_config';\n\nexport function getOnPremServerConfig(): AdminConfig {\n return merge<AdminConfig>(defaultServerConfig, onPremServerConfig() as AdminConfig);\n}\n\ntype TestAdminConfig = {\n ClusterSettings: Partial<ClusterSettings>;\n EmailSettings: Partial<EmailSettings>;\n ExperimentalSettings: Partial<ExperimentalSettings>;\n LogSettings: Partial<LogSettings>;\n PasswordSettings: Partial<PasswordSettings>;\n PluginSettings: Partial<PluginSettings>;\n ServiceSettings: Partial<ServiceSettings>;\n TeamSettings: Partial<TeamSettings>;\n};\n\n// On-prem setting that is different from the default\nconst onPremServerConfig = (): Partial<TestAdminConfig> => {\n return {\n ClusterSettings: {\n Enable: testConfig.haClusterEnabled,\n ClusterName: testConfig.haClusterName,\n },\n EmailSettings: {\n PushNotificationServer: testConfig.pushNotificationServer,\n },\n LogSettings: {\n EnableDiagnostics: false,\n },\n PasswordSettings: {\n MinimumLength: 5,\n Lowercase: false,\n Number: false,\n Uppercase: false,\n Symbol: false,\n EnableForgotLink: true,\n },\n PluginSettings: {\n EnableUploads: true,\n PluginStates: {\n 'com.mattermost.calls': {\n Enable: false,\n },\n 'com.mattermost.nps': {\n Enable: false,\n },\n playbooks: {\n Enable: true,\n },\n },\n },\n ServiceSettings: {\n SiteURL: testConfig.baseURL,\n EnableOnboardingFlow: false,\n EnableSecurityFixAlert: false,\n GiphySdkKey: 's0glxvzVg9azvPipKxcPLpXV0q1x1fVP',\n EnableTesting: true,\n },\n TeamSettings: {\n EnableOpenServer: true,\n MaxUsersPerTeam: 2000,\n },\n };\n};\n\n// Should be based only from the generated default config from ./server via \"make config-reset\"\n// Based on v10.7 server\nconst defaultServerConfig: AdminConfig = {\n ServiceSettings: {\n SiteURL: '',\n WebsocketURL: '',\n LicenseFileLocation: '',\n ListenAddress: ':8065',\n ConnectionSecurity: '',\n TLSCertFile: '',\n TLSKeyFile: '',\n TLSMinVer: '1.2',\n TLSStrictTransport: false,\n TLSStrictTransportMaxAge: 63072000,\n TLSOverwriteCiphers: [],\n UseLetsEncrypt: false,\n LetsEncryptCertificateCacheFile: './config/letsencrypt.cache',\n Forward80To443: false,\n TrustedProxyIPHeader: [],\n ReadTimeout: 300,\n WriteTimeout: 300,\n IdleTimeout: 60,\n MaximumLoginAttempts: 10,\n GoroutineHealthThreshold: -1,\n EnableOAuthServiceProvider: true,\n EnableIncomingWebhooks: true,\n EnableOutgoingWebhooks: true,\n EnableOutgoingOAuthConnections: false,\n EnableCommands: true,\n OutgoingIntegrationRequestsTimeout: 30,\n EnablePostUsernameOverride: false,\n EnablePostIconOverride: false,\n GoogleDeveloperKey: '',\n EnableLinkPreviews: true,\n EnablePermalinkPreviews: true,\n RestrictLinkPreviews: '',\n EnableTesting: false,\n EnableDeveloper: false,\n DeveloperFlags: '',\n EnableClientPerformanceDebugging: false,\n EnableSecurityFixAlert: true,\n EnableInsecureOutgoingConnections: false,\n AllowedUntrustedInternalConnections: '',\n EnableMultifactorAuthentication: false,\n EnforceMultifactorAuthentication: false,\n EnableUserAccessTokens: false,\n AllowCorsFrom: '',\n CorsExposedHeaders: '',\n CorsAllowCredentials: false,\n CorsDebug: false,\n AllowCookiesForSubdomains: false,\n ExtendSessionLengthWithActivity: true,\n TerminateSessionsOnPasswordChange: true,\n SessionLengthWebInDays: 30,\n SessionLengthWebInHours: 720,\n SessionLengthMobileInDays: 30,\n SessionLengthMobileInHours: 720,\n SessionLengthSSOInDays: 30,\n SessionLengthSSOInHours: 720,\n SessionCacheInMinutes: 10,\n SessionIdleTimeoutInMinutes: 43200,\n WebsocketSecurePort: 443,\n WebsocketPort: 80,\n WebserverMode: 'gzip',\n EnableGifPicker: true,\n GiphySdkKey: '',\n EnableCustomEmoji: true,\n EnableEmojiPicker: true,\n PostEditTimeLimit: -1,\n TimeBetweenUserTypingUpdatesMilliseconds: 5000,\n EnableCrossTeamSearch: true,\n EnablePostSearch: true,\n EnableFileSearch: true,\n MinimumHashtagLength: 3,\n EnableUserTypingMessages: true,\n EnableChannelViewedMessages: true,\n EnableUserStatuses: true,\n ExperimentalEnableAuthenticationTransfer: true,\n ClusterLogTimeoutMilliseconds: 2000,\n EnableTutorial: true,\n EnableOnboardingFlow: true,\n ExperimentalEnableDefaultChannelLeaveJoinMessages: true,\n ExperimentalGroupUnreadChannels: 'disabled',\n EnableAPITeamDeletion: false,\n EnableAPITriggerAdminNotifications: false,\n EnableAPIUserDeletion: false,\n EnableAPIPostDeletion: false,\n EnableDesktopLandingPage: true,\n ExperimentalEnableHardenedMode: false,\n ExperimentalStrictCSRFEnforcement: false,\n EnableEmailInvitations: false,\n DisableBotsWhenOwnerIsDeactivated: true,\n EnableBotAccountCreation: false,\n EnableSVGs: false,\n EnableLatex: false,\n EnableInlineLatex: true,\n PostPriority: true,\n AllowPersistentNotifications: true,\n AllowPersistentNotificationsForGuests: false,\n PersistentNotificationIntervalMinutes: 5,\n PersistentNotificationMaxCount: 6,\n PersistentNotificationMaxRecipients: 5,\n EnableAPIChannelDeletion: false,\n EnableLocalMode: false,\n LocalModeSocketLocation: '/var/tmp/mattermost_local.socket',\n EnableAWSMetering: false,\n SplitKey: '',\n FeatureFlagSyncIntervalSeconds: 30,\n DebugSplit: false,\n ThreadAutoFollow: true,\n CollapsedThreads: CollapsedThreads.ALWAYS_ON,\n ManagedResourcePaths: '',\n EnableCustomGroups: true,\n AllowSyncedDrafts: true,\n UniqueEmojiReactionLimitPerPost: 50,\n RefreshPostStatsRunTime: '00:00',\n MaximumPayloadSizeBytes: 300000,\n MaximumURLLength: 2048,\n ScheduledPosts: true,\n EnableWebHubChannelIteration: false,\n FrameAncestors: '',\n },\n TeamSettings: {\n SiteName: 'Mattermost',\n MaxUsersPerTeam: 50,\n EnableJoinLeaveMessageByDefault: true,\n EnableUserCreation: true,\n EnableOpenServer: false,\n EnableUserDeactivation: false,\n RestrictCreationToDomains: '',\n EnableCustomUserStatuses: true,\n EnableCustomBrand: false,\n CustomBrandText: '',\n CustomDescriptionText: '',\n RestrictDirectMessage: 'any',\n EnableLastActiveTime: true,\n UserStatusAwayTimeout: 300,\n MaxChannelsPerTeam: 2000,\n MaxNotificationsPerChannel: 1000,\n EnableConfirmNotificationsToChannel: true,\n TeammateNameDisplay: 'username',\n ExperimentalViewArchivedChannels: true,\n ExperimentalEnableAutomaticReplies: false,\n LockTeammateNameDisplay: false,\n ExperimentalPrimaryTeam: '',\n ExperimentalDefaultChannels: [],\n },\n ClientRequirements: {\n AndroidLatestVersion: '',\n AndroidMinVersion: '',\n IosLatestVersion: '',\n IosMinVersion: '',\n },\n SqlSettings: {\n DriverName: 'postgres',\n DataSource:\n 'postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\\u0026connect_timeout=10\\u0026binary_parameters=yes',\n DataSourceReplicas: [],\n DataSourceSearchReplicas: [],\n MaxIdleConns: 20,\n ConnMaxLifetimeMilliseconds: 3600000,\n ConnMaxIdleTimeMilliseconds: 300000,\n MaxOpenConns: 300,\n Trace: false,\n AtRestEncryptKey: '',\n QueryTimeout: 30,\n DisableDatabaseSearch: false,\n MigrationsStatementTimeoutSeconds: 100000,\n ReplicaLagSettings: [],\n ReplicaMonitorIntervalSeconds: 5,\n },\n LogSettings: {\n EnableConsole: true,\n ConsoleLevel: 'DEBUG',\n ConsoleJson: true,\n EnableColor: false,\n EnableFile: true,\n FileLevel: 'INFO',\n FileJson: true,\n FileLocation: '',\n EnableWebhookDebugging: true,\n EnableDiagnostics: true,\n VerboseDiagnostics: false,\n EnableSentry: true,\n AdvancedLoggingJSON: {},\n MaxFieldSize: 2048,\n },\n ExperimentalAuditSettings: {\n FileEnabled: false,\n FileName: '',\n FileMaxSizeMB: 100,\n FileMaxAgeDays: 0,\n FileMaxBackups: 0,\n FileCompress: false,\n FileMaxQueueSize: 1000,\n AdvancedLoggingJSON: {},\n },\n NotificationLogSettings: {\n EnableConsole: true,\n ConsoleLevel: 'DEBUG',\n ConsoleJson: true,\n EnableColor: false,\n EnableFile: true,\n FileLevel: 'INFO',\n FileJson: true,\n FileLocation: '',\n AdvancedLoggingJSON: {},\n },\n PasswordSettings: {\n MinimumLength: 8,\n Lowercase: false,\n Number: false,\n Uppercase: false,\n Symbol: false,\n EnableForgotLink: true,\n },\n FileSettings: {\n EnableFileAttachments: true,\n EnableMobileUpload: true,\n EnableMobileDownload: true,\n MaxFileSize: 104857600,\n MaxImageResolution: 33177600,\n MaxImageDecoderConcurrency: -1,\n DriverName: 'local',\n Directory: './data/',\n EnablePublicLink: false,\n ExtractContent: true,\n ArchiveRecursion: false,\n PublicLinkSalt: '',\n InitialFont: 'nunito-bold.ttf',\n AmazonS3AccessKeyId: '',\n AmazonS3SecretAccessKey: '',\n AmazonS3Bucket: '',\n AmazonS3PathPrefix: '',\n AmazonS3Region: '',\n AmazonS3Endpoint: 's3.amazonaws.com',\n AmazonS3SSL: true,\n AmazonS3SignV2: false,\n AmazonS3SSE: false,\n AmazonS3Trace: false,\n AmazonS3RequestTimeoutMilliseconds: 30000,\n AmazonS3UploadPartSizeBytes: 5242880,\n AmazonS3StorageClass: '',\n DedicatedExportStore: false,\n ExportDriverName: 'local',\n ExportDirectory: './data/',\n ExportAmazonS3AccessKeyId: '',\n ExportAmazonS3SecretAccessKey: '',\n ExportAmazonS3Bucket: '',\n ExportAmazonS3PathPrefix: '',\n ExportAmazonS3Region: '',\n ExportAmazonS3Endpoint: 's3.amazonaws.com',\n ExportAmazonS3SSL: true,\n ExportAmazonS3SignV2: false,\n ExportAmazonS3SSE: false,\n ExportAmazonS3Trace: false,\n ExportAmazonS3RequestTimeoutMilliseconds: 30000,\n ExportAmazonS3PresignExpiresSeconds: 21600,\n ExportAmazonS3UploadPartSizeBytes: 104857600,\n ExportAmazonS3StorageClass: '',\n },\n EmailSettings: {\n EnableSignUpWithEmail: true,\n EnableSignInWithEmail: true,\n EnableSignInWithUsername: true,\n SendEmailNotifications: true,\n UseChannelInEmailNotifications: false,\n RequireEmailVerification: false,\n FeedbackName: '',\n FeedbackEmail: 'test@example.com',\n ReplyToAddress: 'test@example.com',\n FeedbackOrganization: '',\n EnableSMTPAuth: false,\n SMTPUsername: '',\n SMTPPassword: '',\n SMTPServer: 'localhost',\n SMTPPort: '10025',\n SMTPServerTimeout: 10,\n ConnectionSecurity: '',\n SendPushNotifications: true,\n PushNotificationServer: 'https://push-test.mattermost.com',\n PushNotificationServerType: 'custom',\n PushNotificationServerLocation: 'us',\n PushNotificationContents: 'full',\n PushNotificationBuffer: 1000,\n EnableEmailBatching: false,\n EmailBatchingBufferSize: 256,\n EmailBatchingInterval: 30,\n EnablePreviewModeBanner: true,\n SkipServerCertificateVerification: false,\n EmailNotificationContentsType: 'full',\n LoginButtonColor: '#0000',\n LoginButtonBorderColor: '#2389D7',\n LoginButtonTextColor: '#2389D7',\n },\n RateLimitSettings: {\n Enable: false,\n PerSec: 10,\n MaxBurst: 100,\n MemoryStoreSize: 10000,\n VaryByRemoteAddr: true,\n VaryByUser: false,\n VaryByHeader: '',\n },\n PrivacySettings: {\n ShowEmailAddress: true,\n ShowFullName: true,\n },\n SupportSettings: {\n TermsOfServiceLink: 'https://mattermost.com/pl/terms-of-use/',\n PrivacyPolicyLink: 'https://mattermost.com/pl/privacy-policy/',\n AboutLink: 'https://mattermost.com/pl/about-mattermost',\n HelpLink: 'https://mattermost.com/pl/help/',\n ReportAProblemLink: 'https://mattermost.com/pl/report-a-bug',\n ForgotPasswordLink: '',\n SupportEmail: '',\n CustomTermsOfServiceEnabled: false,\n CustomTermsOfServiceReAcceptancePeriod: 365,\n EnableAskCommunityLink: true,\n },\n AnnouncementSettings: {\n EnableBanner: false,\n BannerText: '',\n BannerColor: '#f2a93b',\n BannerTextColor: '#333333',\n AllowBannerDismissal: true,\n AdminNoticesEnabled: true,\n UserNoticesEnabled: true,\n NoticesURL: 'https://notices.mattermost.com/',\n NoticesFetchFrequency: 3600,\n NoticesSkipCache: false,\n },\n ThemeSettings: {\n EnableThemeSelection: true,\n DefaultTheme: 'default',\n AllowCustomThemes: true,\n AllowedThemes: [],\n },\n GitLabSettings: {\n Enable: false,\n Secret: '',\n Id: '',\n Scope: '',\n AuthEndpoint: '',\n TokenEndpoint: '',\n UserAPIEndpoint: '',\n DiscoveryEndpoint: '',\n ButtonText: '',\n ButtonColor: '',\n },\n GoogleSettings: {\n Enable: false,\n Secret: '',\n Id: '',\n Scope: 'profile email',\n AuthEndpoint: 'https://accounts.google.com/o/oauth2/v2/auth',\n TokenEndpoint: 'https://www.googleapis.com/oauth2/v4/token',\n UserAPIEndpoint:\n 'https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses,nicknames,metadata',\n DiscoveryEndpoint: '',\n ButtonText: '',\n ButtonColor: '',\n },\n Office365Settings: {\n Enable: false,\n Secret: '',\n Id: '',\n Scope: 'User.Read',\n AuthEndpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize',\n TokenEndpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/token',\n UserAPIEndpoint: 'https://graph.microsoft.com/v1.0/me',\n DiscoveryEndpoint: '',\n DirectoryId: '',\n },\n OpenIdSettings: {\n Enable: false,\n Secret: '',\n Id: '',\n Scope: 'profile openid email',\n AuthEndpoint: '',\n TokenEndpoint: '',\n UserAPIEndpoint: '',\n DiscoveryEndpoint: '',\n ButtonText: '',\n ButtonColor: '#145DBF',\n },\n LdapSettings: {\n Enable: false,\n EnableSync: false,\n LdapServer: '',\n LdapPort: 389,\n ConnectionSecurity: '',\n BaseDN: '',\n BindUsername: '',\n BindPassword: '',\n MaximumLoginAttempts: 10,\n UserFilter: '',\n GroupFilter: '',\n GuestFilter: '',\n EnableAdminFilter: false,\n AdminFilter: '',\n GroupDisplayNameAttribute: '',\n GroupIdAttribute: '',\n FirstNameAttribute: '',\n LastNameAttribute: '',\n EmailAttribute: '',\n UsernameAttribute: '',\n NicknameAttribute: '',\n IdAttribute: '',\n PositionAttribute: '',\n LoginIdAttribute: '',\n PictureAttribute: '',\n SyncIntervalMinutes: 60,\n SkipCertificateVerification: false,\n PublicCertificateFile: '',\n PrivateKeyFile: '',\n QueryTimeout: 60,\n MaxPageSize: 0,\n LoginFieldName: '',\n LoginButtonColor: '#0000',\n LoginButtonBorderColor: '#2389D7',\n LoginButtonTextColor: '#2389D7',\n },\n ComplianceSettings: {\n Enable: false,\n Directory: './data/',\n EnableDaily: false,\n BatchSize: 30000,\n },\n LocalizationSettings: {\n DefaultServerLocale: 'en',\n DefaultClientLocale: 'en',\n AvailableLocales: '',\n EnableExperimentalLocales: false,\n },\n SamlSettings: {\n Enable: false,\n EnableSyncWithLdap: false,\n EnableSyncWithLdapIncludeAuth: false,\n IgnoreGuestsLdapSync: false,\n Verify: true,\n Encrypt: true,\n SignRequest: false,\n IdpURL: '',\n IdpDescriptorURL: '',\n IdpMetadataURL: '',\n ServiceProviderIdentifier: '',\n AssertionConsumerServiceURL: '',\n SignatureAlgorithm: 'RSAwithSHA1',\n CanonicalAlgorithm: 'Canonical1.0',\n ScopingIDPProviderId: '',\n ScopingIDPName: '',\n IdpCertificateFile: '',\n PublicCertificateFile: '',\n PrivateKeyFile: '',\n IdAttribute: '',\n GuestAttribute: '',\n EnableAdminAttribute: false,\n AdminAttribute: '',\n FirstNameAttribute: '',\n LastNameAttribute: '',\n EmailAttribute: '',\n UsernameAttribute: '',\n NicknameAttribute: '',\n LocaleAttribute: '',\n PositionAttribute: '',\n LoginButtonText: 'SAML',\n LoginButtonColor: '#34a28b',\n LoginButtonBorderColor: '#2389D7',\n LoginButtonTextColor: '#ffffff',\n },\n NativeAppSettings: {\n AppCustomURLSchemes: ['mmauth://', 'mmauthbeta://'],\n AppDownloadLink: 'https://mattermost.com/pl/download-apps',\n AndroidAppDownloadLink: 'https://mattermost.com/pl/android-app/',\n IosAppDownloadLink: 'https://mattermost.com/pl/ios-app/',\n MobileExternalBrowser: false,\n MobileEnableBiometrics: false,\n MobilePreventScreenCapture: false,\n MobileJailbreakProtection: false,\n },\n CacheSettings: {\n CacheType: 'lru',\n RedisAddress: '',\n RedisPassword: '',\n RedisDB: -1,\n RedisCachePrefix: '',\n DisableClientCache: false,\n },\n ClusterSettings: {\n Enable: false,\n ClusterName: '',\n OverrideHostname: '',\n NetworkInterface: '',\n BindAddress: '',\n AdvertiseAddress: '',\n UseIPAddress: true,\n EnableGossipCompression: true,\n EnableExperimentalGossipEncryption: false,\n ReadOnlyConfig: true,\n GossipPort: 8074,\n },\n MetricsSettings: {\n Enable: false,\n BlockProfileRate: 0,\n ListenAddress: ':8067',\n EnableClientMetrics: true,\n EnableNotificationMetrics: true,\n ClientSideUserIds: [],\n },\n ExperimentalSettings: {\n ClientSideCertEnable: false,\n ClientSideCertCheck: 'secondary',\n LinkMetadataTimeoutMilliseconds: 5000,\n RestrictSystemAdmin: false,\n EnableSharedChannels: false,\n EnableRemoteClusterService: false,\n DisableAppBar: false,\n DisableRefetchingOnBrowserFocus: false,\n DelayChannelAutocomplete: false,\n DisableWakeUpReconnectHandler: false,\n UsersStatusAndProfileFetchingPollIntervalMilliseconds: 3000,\n YoutubeReferrerPolicy: false,\n },\n AnalyticsSettings: {\n MaxUsersForStatistics: 2500,\n },\n ElasticsearchSettings: {\n ConnectionURL: 'http://localhost:9200',\n Backend: 'elasticsearch',\n Username: 'elastic',\n Password: 'changeme',\n EnableIndexing: false,\n EnableSearching: false,\n EnableAutocomplete: false,\n Sniff: true,\n PostIndexReplicas: 1,\n PostIndexShards: 1,\n ChannelIndexReplicas: 1,\n ChannelIndexShards: 1,\n UserIndexReplicas: 1,\n UserIndexShards: 1,\n AggregatePostsAfterDays: 365,\n PostsAggregatorJobStartTime: '03:00',\n IndexPrefix: '',\n LiveIndexingBatchSize: 10,\n BatchSize: 10000,\n RequestTimeoutSeconds: 30,\n SkipTLSVerification: false,\n CA: '',\n ClientCert: '',\n ClientKey: '',\n Trace: '',\n IgnoredPurgeIndexes: '',\n },\n BleveSettings: {\n IndexDir: '',\n EnableIndexing: false,\n EnableSearching: false,\n EnableAutocomplete: false,\n BatchSize: 10000,\n },\n DataRetentionSettings: {\n EnableMessageDeletion: false,\n EnableFileDeletion: false,\n EnableBoardsDeletion: false,\n MessageRetentionDays: 365,\n MessageRetentionHours: 0,\n FileRetentionDays: 365,\n FileRetentionHours: 0,\n BoardsRetentionDays: 365,\n DeletionJobStartTime: '02:00',\n BatchSize: 3000,\n TimeBetweenBatchesMilliseconds: 100,\n RetentionIdsBatchSize: 100,\n },\n MessageExportSettings: {\n EnableExport: false,\n ExportFormat: 'actiance',\n DailyRunTime: '01:00',\n ExportFromTimestamp: 0,\n BatchSize: 10000,\n DownloadExportResults: false,\n ChannelBatchSize: 100,\n ChannelHistoryBatchSize: 10,\n GlobalRelaySettings: {\n CustomerType: 'A9',\n SMTPUsername: '',\n SMTPPassword: '',\n EmailAddress: '',\n SMTPServerTimeout: 1800,\n CustomSMTPServerName: '',\n CustomSMTPPort: '25',\n },\n },\n JobSettings: {\n RunJobs: true,\n RunScheduler: true,\n CleanupJobsThresholdDays: -1,\n CleanupConfigThresholdDays: -1,\n },\n PluginSettings: {\n Enable: true,\n EnableUploads: false,\n AllowInsecureDownloadURL: false,\n EnableHealthCheck: true,\n Directory: './plugins',\n ClientDirectory: './client/plugins',\n Plugins: {},\n PluginStates: {\n 'com.mattermost.calls': {\n Enable: true,\n },\n 'com.mattermost.nps': {\n Enable: true,\n },\n 'mattermost-ai': {\n Enable: true,\n },\n playbooks: {\n Enable: true,\n },\n },\n EnableMarketplace: true,\n EnableRemoteMarketplace: true,\n AutomaticPrepackagedPlugins: true,\n RequirePluginSignature: false,\n MarketplaceURL: 'https://api.integrations.mattermost.com',\n SignaturePublicKeyFiles: [],\n ChimeraOAuthProxyURL: '',\n },\n DisplaySettings: {\n CustomURLSchemes: [],\n MaxMarkdownNodes: 0,\n },\n GuestAccountsSettings: {\n Enable: false,\n HideTags: false,\n AllowEmailAccounts: true,\n EnforceMultifactorAuthentication: false,\n RestrictCreationToDomains: '',\n },\n ImageProxySettings: {\n Enable: false,\n ImageProxyType: 'local',\n RemoteImageProxyURL: '',\n RemoteImageProxyOptions: '',\n },\n CloudSettings: {\n CWSURL: 'https://customers.mattermost.com',\n CWSAPIURL: 'https://portal.internal.prod.cloud.mattermost.com',\n CWSMock: false,\n Disable: false,\n },\n FeatureFlags: {\n TestFeature: 'off',\n TestBoolFeature: false,\n EnableRemoteClusterService: false,\n EnableSharedChannelsDMs: false,\n AppsEnabled: false,\n PermalinkPreviews: false,\n NormalizeLdapDNs: false,\n WysiwygEditor: false,\n OnboardingTourTips: true,\n DeprecateCloudFree: false,\n EnableExportDirectDownload: false,\n MoveThreadsEnabled: false,\n StreamlinedMarketplace: true,\n CloudIPFiltering: false,\n ConsumePostHook: false,\n CloudAnnualRenewals: false,\n CloudDedicatedExportUI: false,\n ChannelBookmarks: true,\n WebSocketEventScope: true,\n NotificationMonitoring: true,\n ExperimentalAuditSettingsSystemConsoleUI: false,\n CustomProfileAttributes: false,\n },\n ImportSettings: {\n Directory: './import',\n RetentionDays: 30,\n },\n ExportSettings: {\n Directory: './export',\n RetentionDays: 30,\n },\n WranglerSettings: {\n PermittedWranglerRoles: [],\n AllowedEmailDomain: [],\n MoveThreadMaxCount: 100,\n MoveThreadToAnotherTeamEnable: false,\n MoveThreadFromPrivateChannelEnable: false,\n MoveThreadFromDirectMessageChannelEnable: false,\n MoveThreadFromGroupMessageChannelEnable: false,\n },\n ConnectedWorkspacesSettings: {\n EnableSharedChannels: false,\n EnableRemoteClusterService: false,\n DisableSharedChannelsStatusSync: false,\n MaxPostsPerSync: 50,\n },\n};\n"],"names":["testConfig","CollapsedThreads"],"mappings":"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"}
@@ -2,6 +2,7 @@ export { makeClient } from './client';
2
2
  export { createRandomChannel } from './channel';
3
3
  export { getOnPremServerConfig } from './default_config';
4
4
  export { initSetup, getAdminClient } from './init';
5
+ export { ensurePluginsLoaded } from './plugins';
5
6
  export { createRandomPost } from './post';
6
7
  export { createRandomTeam } from './team';
7
8
  export { createRandomUser, getDefaultAdminUser } from './user';
@@ -0,0 +1,10 @@
1
+ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
2
+ // See LICENSE.txt for license information.
3
+ export { makeClient } from './client';
4
+ export { createRandomChannel } from './channel';
5
+ export { getOnPremServerConfig } from './default_config';
6
+ export { initSetup, getAdminClient } from './init';
7
+ export { ensurePluginsLoaded } from './plugins';
8
+ export { createRandomPost } from './post';
9
+ export { createRandomTeam } from './team';
10
+ export { createRandomUser, getDefaultAdminUser } from './user';
@@ -0,0 +1,2 @@
1
+ import { Client4 } from '@mattermost/client';
2
+ export declare function ensurePluginsLoaded(client: Client4): Promise<void>;
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var test_config = require('../test_config.js');
4
+
5
+ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
6
+ // See LICENSE.txt for license information.
7
+ async function ensurePluginsLoaded(client) {
8
+ const pluginStatus = await client.getPluginStatuses();
9
+ const plugins = await client.getPlugins();
10
+ test_config.testConfig.ensurePluginsInstalled.forEach(async (pluginId) => {
11
+ const isInstalled = pluginStatus.some((plugin) => plugin.plugin_id === pluginId);
12
+ if (!isInstalled) {
13
+ // eslint-disable-next-line no-console
14
+ console.log(`${pluginId} is not installed. Related visual test will fail.`);
15
+ return;
16
+ }
17
+ const isActive = plugins.active.some((plugin) => plugin.id === pluginId);
18
+ if (!isActive) {
19
+ await client.enablePlugin(pluginId);
20
+ // eslint-disable-next-line no-console
21
+ console.log(`${pluginId} is installed and has been activated.`);
22
+ }
23
+ else {
24
+ // eslint-disable-next-line no-console
25
+ console.log(`${pluginId} is installed and active.`);
26
+ }
27
+ });
28
+ }
29
+
30
+ exports.ensurePluginsLoaded = ensurePluginsLoaded;
31
+ //# sourceMappingURL=plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins.js","sources":["../../src/server/plugins.ts"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {Client4} from '@mattermost/client';\nimport {PluginManifest} from '@mattermost/types/plugins';\n\nimport {testConfig} from '@/test_config';\n\nexport async function ensurePluginsLoaded(client: Client4) {\n const pluginStatus = await client.getPluginStatuses();\n const plugins = await client.getPlugins();\n\n testConfig.ensurePluginsInstalled.forEach(async (pluginId) => {\n const isInstalled = pluginStatus.some((plugin) => plugin.plugin_id === pluginId);\n if (!isInstalled) {\n // eslint-disable-next-line no-console\n console.log(`${pluginId} is not installed. Related visual test will fail.`);\n return;\n }\n\n const isActive = plugins.active.some((plugin: PluginManifest) => plugin.id === pluginId);\n if (!isActive) {\n await client.enablePlugin(pluginId);\n\n // eslint-disable-next-line no-console\n console.log(`${pluginId} is installed and has been activated.`);\n } else {\n // eslint-disable-next-line no-console\n console.log(`${pluginId} is installed and active.`);\n }\n });\n}\n"],"names":["testConfig"],"mappings":";;;;AAAA;AACA;AAOO,eAAe,mBAAmB,CAAC,MAAe,EAAA;AACrD,IAAA,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE;AACrD,IAAA,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE;IAEzCA,sBAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,QAAQ,KAAI;AACzD,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;QAChF,IAAI,CAAC,WAAW,EAAE;;AAEd,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA,iDAAA,CAAmD,CAAC;YAC3E;;AAGJ,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAsB,KAAK,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC;QACxF,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;;AAGnC,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA,qCAAA,CAAuC,CAAC;;aAC5D;;AAEH,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA,yBAAA,CAA2B,CAAC;;AAE3D,KAAC,CAAC;AACN;;;;"}
@@ -4,7 +4,7 @@ import { AxeBuilder } from '@axe-core/playwright';
4
4
  import { TestBrowser } from './browser_context';
5
5
  import { ensureLicense, shouldHaveCallsEnabled, shouldHaveFeatureFlag, shouldRunInLinux, skipIfFeatureFlagNotSet, skipIfNoLicense } from './flag';
6
6
  import { getBlobFromAsset, getFileFromAsset } from './file';
7
- import { createRandomChannel, createRandomPost, createRandomTeam, createRandomUser, getAdminClient, initSetup } from './server';
7
+ import { createRandomChannel, createRandomPost, createRandomTeam, createRandomUser, ensurePluginsLoaded, getAdminClient, initSetup } from './server';
8
8
  import { hideDynamicChannelsContent, waitForAnimationEnd } from './test_action';
9
9
  import { matchSnapshot } from './visual';
10
10
  import { stubNotification, waitForNotification } from './mock_browser_api';
@@ -29,6 +29,7 @@ export declare class PlaywrightExtended {
29
29
  readonly skipIfFeatureFlagNotSet: typeof skipIfFeatureFlagNotSet;
30
30
  readonly getBlobFromAsset: typeof getBlobFromAsset;
31
31
  readonly getFileFromAsset: typeof getFileFromAsset;
32
+ readonly ensurePluginsLoaded: typeof ensurePluginsLoaded;
32
33
  readonly getAdminClient: typeof getAdminClient;
33
34
  readonly initSetup: typeof initSetup;
34
35
  readonly hideDynamicChannelsContent: typeof hideDynamicChannelsContent;
@@ -10,6 +10,7 @@ require('./test_config.js');
10
10
  var channel = require('./server/channel.js');
11
11
  require('./server/default_config.js');
12
12
  var init = require('./server/init.js');
13
+ var plugins = require('./server/plugins.js');
13
14
  var post = require('./server/post.js');
14
15
  var team = require('./server/team.js');
15
16
  var user = require('./server/user.js');
@@ -48,6 +49,7 @@ class PlaywrightExtended {
48
49
  getBlobFromAsset;
49
50
  getFileFromAsset;
50
51
  // ./server
52
+ ensurePluginsLoaded;
51
53
  getAdminClient;
52
54
  initSetup;
53
55
  // ./test_action
@@ -85,6 +87,7 @@ class PlaywrightExtended {
85
87
  this.getBlobFromAsset = file.getBlobFromAsset;
86
88
  this.getFileFromAsset = file.getFileFromAsset;
87
89
  // ./server
90
+ this.ensurePluginsLoaded = plugins.ensurePluginsLoaded;
88
91
  this.initSetup = init.initSetup;
89
92
  this.getAdminClient = init.getAdminClient;
90
93
  // ./test_action
@@ -1 +1 @@
1
- {"version":3,"file":"test_fixture.js","sources":["../src/test_fixture.ts"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {Browser, Page, test as base} from '@playwright/test';\nimport {AxeResults} from 'axe-core';\nimport {AxeBuilder} from '@axe-core/playwright';\n\nimport {TestBrowser} from './browser_context';\nimport {\n ensureLicense,\n shouldHaveCallsEnabled,\n shouldHaveFeatureFlag,\n shouldRunInLinux,\n skipIfFeatureFlagNotSet,\n skipIfNoLicense,\n} from './flag';\nimport {getBlobFromAsset, getFileFromAsset} from './file';\nimport {\n createRandomChannel,\n createRandomPost,\n createRandomTeam,\n createRandomUser,\n getAdminClient,\n initSetup,\n} from './server';\nimport {hideDynamicChannelsContent, waitForAnimationEnd, waitUntil} from './test_action';\nimport {pages} from './ui/pages';\nimport {matchSnapshot} from './visual';\nimport {stubNotification, waitForNotification} from './mock_browser_api';\nimport {duration, getRandomId, simpleEmailRe, wait} from './util';\n\nexport {expect} from '@playwright/test';\n\nexport type ExtendedFixtures = {\n axe: AxeBuilderExtended;\n pw: PlaywrightExtended;\n};\n\ntype AxeBuilderOptions = {\n disableColorContrast?: boolean;\n disableLinkInTextBlock?: boolean;\n};\n\nexport const test = base.extend<ExtendedFixtures>({\n // eslint-disable-next-line no-empty-pattern\n axe: async ({}, use) => {\n const ab = new AxeBuilderExtended();\n await use(ab);\n },\n pw: async ({browser, page, isMobile}, use) => {\n const pw = new PlaywrightExtended(browser, page, isMobile);\n await use(pw);\n await pw.testBrowser.close();\n },\n});\n\nexport class PlaywrightExtended {\n // ./browser_context\n readonly testBrowser;\n\n // ./flag\n readonly shouldHaveCallsEnabled;\n readonly shouldHaveFeatureFlag;\n readonly shouldRunInLinux;\n readonly ensureLicense;\n readonly skipIfNoLicense;\n readonly skipIfFeatureFlagNotSet;\n\n // ./file\n readonly getBlobFromAsset;\n readonly getFileFromAsset;\n\n // ./server\n readonly getAdminClient;\n readonly initSetup;\n\n // ./test_action\n readonly hideDynamicChannelsContent;\n readonly waitForAnimationEnd;\n readonly waitUntil;\n\n // ./mock_browser_api\n readonly stubNotification;\n readonly waitForNotification;\n\n // ./visual\n readonly matchSnapshot;\n\n // ./util\n readonly duration;\n readonly simpleEmailRe;\n readonly wait;\n\n // random\n readonly random;\n\n // unauthenticated page\n readonly loginPage;\n readonly landingLoginPage;\n readonly signupPage;\n readonly resetPasswordPage;\n\n readonly hasSeenLandingPage;\n\n constructor(browser: Browser, page: Page, isMobile: boolean) {\n // ./browser_context\n this.testBrowser = new TestBrowser(browser);\n\n // ./flag\n this.shouldHaveCallsEnabled = shouldHaveCallsEnabled;\n this.shouldHaveFeatureFlag = shouldHaveFeatureFlag;\n this.shouldRunInLinux = shouldRunInLinux;\n this.ensureLicense = ensureLicense;\n this.skipIfNoLicense = skipIfNoLicense;\n this.skipIfFeatureFlagNotSet = skipIfFeatureFlagNotSet;\n\n // ./file\n this.getBlobFromAsset = getBlobFromAsset;\n this.getFileFromAsset = getFileFromAsset;\n\n // ./server\n this.initSetup = initSetup;\n this.getAdminClient = getAdminClient;\n\n // ./test_action\n this.hideDynamicChannelsContent = hideDynamicChannelsContent;\n this.waitForAnimationEnd = waitForAnimationEnd;\n this.waitUntil = waitUntil;\n\n // unauthenticated page\n this.loginPage = new pages.LoginPage(page);\n this.landingLoginPage = new pages.LandingLoginPage(page, isMobile);\n this.signupPage = new pages.SignupPage(page);\n this.resetPasswordPage = new pages.ResetPasswordPage(page);\n\n // ./mock_browser_api\n this.stubNotification = stubNotification;\n this.waitForNotification = waitForNotification;\n\n // ./visual\n this.matchSnapshot = matchSnapshot;\n\n // ./util\n this.duration = duration;\n this.wait = wait;\n this.simpleEmailRe = simpleEmailRe;\n\n this.random = {\n id: getRandomId,\n channel: createRandomChannel,\n post: createRandomPost,\n team: createRandomTeam,\n user: createRandomUser,\n };\n\n this.hasSeenLandingPage = async () => {\n // Visit the base URL to be able to set the localStorage\n await page.goto('/');\n return await waitUntilLocalStorageIsSet(page, '__landingPageSeen__', 'true');\n };\n }\n}\n\nexport class AxeBuilderExtended {\n readonly builder: (page: Page, options?: AxeBuilderOptions) => AxeBuilder;\n\n // See https://github.com/dequelabs/axe-core/blob/master/doc/API.md#axe-core-tags\n readonly tags: string[] = ['wcag2a', 'wcag2aa'];\n\n constructor() {\n this.builder = (page: Page, options: AxeBuilderOptions = {}) => {\n // See https://github.com/dequelabs/axe-core/blob/master/doc/rule-descriptions.md#wcag-20-level-a--aa-rules\n const disabledRules: string[] = [];\n\n if (options.disableColorContrast) {\n // Disabled in pages due to impact to overall theme of Mattermost.\n // Option: make use of custom theme to improve color contrast.\n disabledRules.push('color-contrast');\n }\n\n if (options.disableLinkInTextBlock) {\n // Disabled in pages due to impact to overall theme of Mattermost.\n // Option: make use of custom theme to improve color contrast.\n disabledRules.push('link-in-text-block');\n }\n\n return new AxeBuilder({page}).withTags(this.tags).disableRules(disabledRules);\n };\n }\n\n violationFingerprints(accessibilityScanResults: AxeResults) {\n const fingerprints = accessibilityScanResults.violations.map((violation) => ({\n rule: violation.id,\n description: violation.description,\n helpUrl: violation.helpUrl,\n targets: violation.nodes.map((node) => {\n return {target: node.target, impact: node.impact, html: node.html};\n }),\n }));\n\n return JSON.stringify(fingerprints, null, 2);\n }\n}\n\nasync function waitUntilLocalStorageIsSet(page: Page, key: string, value: string, timeout = duration.ten_sec) {\n await waitUntil(\n () =>\n page.evaluate(\n ({key, value}) => {\n if (localStorage.getItem(key) === value) {\n return true;\n }\n localStorage.setItem(key, value);\n return false;\n },\n {key, value},\n ),\n {timeout},\n );\n}\n"],"names":["base","TestBrowser","shouldHaveCallsEnabled","shouldHaveFeatureFlag","shouldRunInLinux","ensureLicense","skipIfNoLicense","skipIfFeatureFlagNotSet","getBlobFromAsset","getFileFromAsset","initSetup","getAdminClient","hideDynamicChannelsContent","waitForAnimationEnd","waitUntil","pages","stubNotification","waitForNotification","matchSnapshot","duration","wait","simpleEmailRe","getRandomId","createRandomChannel","createRandomPost","createRandomTeam","createRandomUser","AxeBuilder"],"mappings":"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"}
1
+ {"version":3,"file":"test_fixture.js","sources":["../src/test_fixture.ts"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {Browser, Page, test as base} from '@playwright/test';\nimport {AxeResults} from 'axe-core';\nimport {AxeBuilder} from '@axe-core/playwright';\n\nimport {TestBrowser} from './browser_context';\nimport {\n ensureLicense,\n shouldHaveCallsEnabled,\n shouldHaveFeatureFlag,\n shouldRunInLinux,\n skipIfFeatureFlagNotSet,\n skipIfNoLicense,\n} from './flag';\nimport {getBlobFromAsset, getFileFromAsset} from './file';\nimport {\n createRandomChannel,\n createRandomPost,\n createRandomTeam,\n createRandomUser,\n ensurePluginsLoaded,\n getAdminClient,\n initSetup,\n} from './server';\nimport {hideDynamicChannelsContent, waitForAnimationEnd, waitUntil} from './test_action';\nimport {pages} from './ui/pages';\nimport {matchSnapshot} from './visual';\nimport {stubNotification, waitForNotification} from './mock_browser_api';\nimport {duration, getRandomId, simpleEmailRe, wait} from './util';\n\nexport {expect} from '@playwright/test';\n\nexport type ExtendedFixtures = {\n axe: AxeBuilderExtended;\n pw: PlaywrightExtended;\n};\n\ntype AxeBuilderOptions = {\n disableColorContrast?: boolean;\n disableLinkInTextBlock?: boolean;\n};\n\nexport const test = base.extend<ExtendedFixtures>({\n // eslint-disable-next-line no-empty-pattern\n axe: async ({}, use) => {\n const ab = new AxeBuilderExtended();\n await use(ab);\n },\n pw: async ({browser, page, isMobile}, use) => {\n const pw = new PlaywrightExtended(browser, page, isMobile);\n await use(pw);\n await pw.testBrowser.close();\n },\n});\n\nexport class PlaywrightExtended {\n // ./browser_context\n readonly testBrowser;\n\n // ./flag\n readonly shouldHaveCallsEnabled;\n readonly shouldHaveFeatureFlag;\n readonly shouldRunInLinux;\n readonly ensureLicense;\n readonly skipIfNoLicense;\n readonly skipIfFeatureFlagNotSet;\n\n // ./file\n readonly getBlobFromAsset;\n readonly getFileFromAsset;\n\n // ./server\n readonly ensurePluginsLoaded;\n readonly getAdminClient;\n readonly initSetup;\n\n // ./test_action\n readonly hideDynamicChannelsContent;\n readonly waitForAnimationEnd;\n readonly waitUntil;\n\n // ./mock_browser_api\n readonly stubNotification;\n readonly waitForNotification;\n\n // ./visual\n readonly matchSnapshot;\n\n // ./util\n readonly duration;\n readonly simpleEmailRe;\n readonly wait;\n\n // random\n readonly random;\n\n // unauthenticated page\n readonly loginPage;\n readonly landingLoginPage;\n readonly signupPage;\n readonly resetPasswordPage;\n\n readonly hasSeenLandingPage;\n\n constructor(browser: Browser, page: Page, isMobile: boolean) {\n // ./browser_context\n this.testBrowser = new TestBrowser(browser);\n\n // ./flag\n this.shouldHaveCallsEnabled = shouldHaveCallsEnabled;\n this.shouldHaveFeatureFlag = shouldHaveFeatureFlag;\n this.shouldRunInLinux = shouldRunInLinux;\n this.ensureLicense = ensureLicense;\n this.skipIfNoLicense = skipIfNoLicense;\n this.skipIfFeatureFlagNotSet = skipIfFeatureFlagNotSet;\n\n // ./file\n this.getBlobFromAsset = getBlobFromAsset;\n this.getFileFromAsset = getFileFromAsset;\n\n // ./server\n this.ensurePluginsLoaded = ensurePluginsLoaded;\n this.initSetup = initSetup;\n this.getAdminClient = getAdminClient;\n\n // ./test_action\n this.hideDynamicChannelsContent = hideDynamicChannelsContent;\n this.waitForAnimationEnd = waitForAnimationEnd;\n this.waitUntil = waitUntil;\n\n // unauthenticated page\n this.loginPage = new pages.LoginPage(page);\n this.landingLoginPage = new pages.LandingLoginPage(page, isMobile);\n this.signupPage = new pages.SignupPage(page);\n this.resetPasswordPage = new pages.ResetPasswordPage(page);\n\n // ./mock_browser_api\n this.stubNotification = stubNotification;\n this.waitForNotification = waitForNotification;\n\n // ./visual\n this.matchSnapshot = matchSnapshot;\n\n // ./util\n this.duration = duration;\n this.wait = wait;\n this.simpleEmailRe = simpleEmailRe;\n\n this.random = {\n id: getRandomId,\n channel: createRandomChannel,\n post: createRandomPost,\n team: createRandomTeam,\n user: createRandomUser,\n };\n\n this.hasSeenLandingPage = async () => {\n // Visit the base URL to be able to set the localStorage\n await page.goto('/');\n return await waitUntilLocalStorageIsSet(page, '__landingPageSeen__', 'true');\n };\n }\n}\n\nexport class AxeBuilderExtended {\n readonly builder: (page: Page, options?: AxeBuilderOptions) => AxeBuilder;\n\n // See https://github.com/dequelabs/axe-core/blob/master/doc/API.md#axe-core-tags\n readonly tags: string[] = ['wcag2a', 'wcag2aa'];\n\n constructor() {\n this.builder = (page: Page, options: AxeBuilderOptions = {}) => {\n // See https://github.com/dequelabs/axe-core/blob/master/doc/rule-descriptions.md#wcag-20-level-a--aa-rules\n const disabledRules: string[] = [];\n\n if (options.disableColorContrast) {\n // Disabled in pages due to impact to overall theme of Mattermost.\n // Option: make use of custom theme to improve color contrast.\n disabledRules.push('color-contrast');\n }\n\n if (options.disableLinkInTextBlock) {\n // Disabled in pages due to impact to overall theme of Mattermost.\n // Option: make use of custom theme to improve color contrast.\n disabledRules.push('link-in-text-block');\n }\n\n return new AxeBuilder({page}).withTags(this.tags).disableRules(disabledRules);\n };\n }\n\n violationFingerprints(accessibilityScanResults: AxeResults) {\n const fingerprints = accessibilityScanResults.violations.map((violation) => ({\n rule: violation.id,\n description: violation.description,\n helpUrl: violation.helpUrl,\n targets: violation.nodes.map((node) => {\n return {target: node.target, impact: node.impact, html: node.html};\n }),\n }));\n\n return JSON.stringify(fingerprints, null, 2);\n }\n}\n\nasync function waitUntilLocalStorageIsSet(page: Page, key: string, value: string, timeout = duration.ten_sec) {\n await waitUntil(\n () =>\n page.evaluate(\n ({key, value}) => {\n if (localStorage.getItem(key) === value) {\n return true;\n }\n localStorage.setItem(key, value);\n return false;\n },\n {key, value},\n ),\n {timeout},\n );\n}\n"],"names":["base","TestBrowser","shouldHaveCallsEnabled","shouldHaveFeatureFlag","shouldRunInLinux","ensureLicense","skipIfNoLicense","skipIfFeatureFlagNotSet","getBlobFromAsset","getFileFromAsset","ensurePluginsLoaded","initSetup","getAdminClient","hideDynamicChannelsContent","waitForAnimationEnd","waitUntil","pages","stubNotification","waitForNotification","matchSnapshot","duration","wait","simpleEmailRe","getRandomId","createRandomChannel","createRandomPost","createRandomTeam","createRandomUser","AxeBuilder"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"root":["../src/browser_context.ts","../src/constant.ts","../src/file.ts","../src/flag.ts","../src/global_setup.ts","../src/index.ts","../src/mock_browser_api.ts","../src/test_action.ts","../src/test_config.ts","../src/test_fixture.ts","../src/types.ts","../src/util.ts","../src/server/channel.ts","../src/server/client.ts","../src/server/default_config.ts","../src/server/index.ts","../src/server/init.ts","../src/server/plugins.ts","../src/server/post.ts","../src/server/team.ts","../src/server/user.ts","../src/ui/components/footer.ts","../src/ui/components/global_header.ts","../src/ui/components/index.ts","../src/ui/components/main_header.ts","../src/ui/components/channels/app_bar.ts","../src/ui/components/channels/center_view.ts","../src/ui/components/channels/delete_post_confirmation_dialog.ts","../src/ui/components/channels/delete_post_modal.ts","../src/ui/components/channels/emoji_gif_picker.ts","../src/ui/components/channels/find_channels_modal.ts","../src/ui/components/channels/generic_confirm_modal.ts","../src/ui/components/channels/header.ts","../src/ui/components/channels/message_priority.ts","../src/ui/components/channels/post.ts","../src/ui/components/channels/post_create.ts","../src/ui/components/channels/post_dot_menu.ts","../src/ui/components/channels/post_edit.ts","../src/ui/components/channels/post_menu.ts","../src/ui/components/channels/post_reminder_menu.ts","../src/ui/components/channels/restore_post_confirmation_dialog.ts","../src/ui/components/channels/scheduled_draft_menu.ts","../src/ui/components/channels/scheduled_draft_modal.ts","../src/ui/components/channels/search_popover.ts","../src/ui/components/channels/sidebar_left.ts","../src/ui/components/channels/sidebar_right.ts","../src/ui/components/channels/thread_footer.ts","../src/ui/components/channels/user_profile_popover.ts","../src/ui/components/channels/settings/notification_settings.ts","../src/ui/components/channels/settings/settings_modal.ts","../src/ui/components/system_console/navbar.ts","../src/ui/components/system_console/sidebar.ts","../src/ui/components/system_console/sections/system_users/column_toggle_menu.ts","../src/ui/components/system_console/sections/system_users/feature_discovery.ts","../src/ui/components/system_console/sections/system_users/filter_menu.ts","../src/ui/components/system_console/sections/system_users/filter_popover.ts","../src/ui/components/system_console/sections/system_users/mobile_security.ts","../src/ui/components/system_console/sections/system_users/system_users.ts","../src/ui/pages/channels.ts","../src/ui/pages/drafts.ts","../src/ui/pages/index.ts","../src/ui/pages/landing_login.ts","../src/ui/pages/login.ts","../src/ui/pages/reset_password.ts","../src/ui/pages/scheduled_draft.ts","../src/ui/pages/signup.ts","../src/ui/pages/system_console.ts","../src/visual/index.ts","../src/visual/percy.ts"],"version":"5.8.2"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
2
+ // See LICENSE.txt for license information.
3
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { Locator } from '@playwright/test';
2
2
  export default class GlobalHeader {
3
3
  readonly container: Locator;
4
+ readonly accountMenuButton: Locator;
4
5
  readonly productSwitchMenu: Locator;
5
6
  readonly recentMentionsButton: Locator;
6
7
  readonly settingsButton: Locator;
@@ -6,12 +6,14 @@ var test = require('@playwright/test');
6
6
  // See LICENSE.txt for license information.
7
7
  class GlobalHeader {
8
8
  container;
9
+ accountMenuButton;
9
10
  productSwitchMenu;
10
11
  recentMentionsButton;
11
12
  settingsButton;
12
13
  searchBox;
13
14
  constructor(container) {
14
15
  this.container = container;
16
+ this.accountMenuButton = container.getByRole('button', { name: "'s account menu" });
15
17
  this.productSwitchMenu = container.getByRole('button', { name: 'Product switch menu' });
16
18
  this.recentMentionsButton = container.getByRole('button', { name: 'Recent mentions' });
17
19
  this.settingsButton = container.getByRole('button', { name: 'Settings' });
@@ -1 +1 @@
1
- {"version":3,"file":"global_header.js","sources":["../../../src/ui/components/global_header.ts"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {Locator, expect} from '@playwright/test';\n\nexport default class GlobalHeader {\n readonly container: Locator;\n\n readonly productSwitchMenu;\n readonly recentMentionsButton;\n readonly settingsButton;\n readonly searchBox;\n\n constructor(container: Locator) {\n this.container = container;\n\n this.productSwitchMenu = container.getByRole('button', {name: 'Product switch menu'});\n this.recentMentionsButton = container.getByRole('button', {name: 'Recent mentions'});\n this.settingsButton = container.getByRole('button', {name: 'Settings'});\n this.searchBox = container.locator('#searchFormContainer');\n }\n\n async toBeVisible(name: string) {\n await expect(this.container.getByRole('heading', {name})).toBeVisible();\n }\n\n async switchProduct(name: string) {\n await this.productSwitchMenu.click();\n await this.container.getByRole('link', {name}).click();\n }\n\n async openSettings() {\n await expect(this.settingsButton).toBeVisible();\n await this.settingsButton.click();\n }\n\n async openRecentMentions() {\n await expect(this.recentMentionsButton).toBeVisible();\n await this.recentMentionsButton.click();\n }\n\n async openSearch() {\n await expect(this.searchBox).toBeVisible();\n await this.searchBox.click();\n }\n\n async closeSearch() {\n await expect(this.searchBox).toBeVisible();\n await this.searchBox.getByTestId('searchBoxClose').click();\n }\n}\n"],"names":["expect"],"mappings":";;;;AAAA;AACA;AAIc,MAAO,YAAY,CAAA;AACpB,IAAA,SAAS;AAET,IAAA,iBAAiB;AACjB,IAAA,oBAAoB;AACpB,IAAA,cAAc;AACd,IAAA,SAAS;AAElB,IAAA,WAAA,CAAY,SAAkB,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;AAE1B,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,qBAAqB,EAAC,CAAC;AACrF,QAAA,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAC,CAAC;AACpF,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC;;IAG9D,MAAM,WAAW,CAAC,IAAY,EAAA;AAC1B,QAAA,MAAMA,WAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE;;IAG3E,MAAM,aAAa,CAAC,IAAY,EAAA;AAC5B,QAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;AACpC,QAAA,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE;;AAG1D,IAAA,MAAM,YAAY,GAAA;QACd,MAAMA,WAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;AAC/C,QAAA,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;;AAGrC,IAAA,MAAM,kBAAkB,GAAA;QACpB,MAAMA,WAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE;AACrD,QAAA,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;;AAG3C,IAAA,MAAM,UAAU,GAAA;QACZ,MAAMA,WAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;AAC1C,QAAA,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;;AAGhC,IAAA,MAAM,WAAW,GAAA;QACb,MAAMA,WAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE;;AAEjE;;;;"}
1
+ {"version":3,"file":"global_header.js","sources":["../../../src/ui/components/global_header.ts"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {Locator, expect} from '@playwright/test';\n\nexport default class GlobalHeader {\n readonly container: Locator;\n\n readonly accountMenuButton;\n readonly productSwitchMenu;\n readonly recentMentionsButton;\n readonly settingsButton;\n readonly searchBox;\n\n constructor(container: Locator) {\n this.container = container;\n\n this.accountMenuButton = container.getByRole('button', {name: \"'s account menu\"});\n this.productSwitchMenu = container.getByRole('button', {name: 'Product switch menu'});\n this.recentMentionsButton = container.getByRole('button', {name: 'Recent mentions'});\n this.settingsButton = container.getByRole('button', {name: 'Settings'});\n this.searchBox = container.locator('#searchFormContainer');\n }\n\n async toBeVisible(name: string) {\n await expect(this.container.getByRole('heading', {name})).toBeVisible();\n }\n\n async switchProduct(name: string) {\n await this.productSwitchMenu.click();\n await this.container.getByRole('link', {name}).click();\n }\n\n async openSettings() {\n await expect(this.settingsButton).toBeVisible();\n await this.settingsButton.click();\n }\n\n async openRecentMentions() {\n await expect(this.recentMentionsButton).toBeVisible();\n await this.recentMentionsButton.click();\n }\n\n async openSearch() {\n await expect(this.searchBox).toBeVisible();\n await this.searchBox.click();\n }\n\n async closeSearch() {\n await expect(this.searchBox).toBeVisible();\n await this.searchBox.getByTestId('searchBoxClose').click();\n }\n}\n"],"names":["expect"],"mappings":";;;;AAAA;AACA;AAIc,MAAO,YAAY,CAAA;AACpB,IAAA,SAAS;AAET,IAAA,iBAAiB;AACjB,IAAA,iBAAiB;AACjB,IAAA,oBAAoB;AACpB,IAAA,cAAc;AACd,IAAA,SAAS;AAElB,IAAA,WAAA,CAAY,SAAkB,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;AAE1B,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAC,CAAC;AACjF,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,qBAAqB,EAAC,CAAC;AACrF,QAAA,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAC,CAAC;AACpF,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC;;IAG9D,MAAM,WAAW,CAAC,IAAY,EAAA;AAC1B,QAAA,MAAMA,WAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE;;IAG3E,MAAM,aAAa,CAAC,IAAY,EAAA;AAC5B,QAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;AACpC,QAAA,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE;;AAG1D,IAAA,MAAM,YAAY,GAAA;QACd,MAAMA,WAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;AAC/C,QAAA,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;;AAGrC,IAAA,MAAM,kBAAkB,GAAA;QACpB,MAAMA,WAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE;AACrD,QAAA,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;;AAG3C,IAAA,MAAM,UAAU,GAAA;QACZ,MAAMA,WAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;AAC1C,QAAA,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;;AAGhC,IAAA,MAAM,WAAW,GAAA;QACb,MAAMA,WAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE;;AAEjE;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mattermost/playwright-lib",
3
- "version": "10.6.1",
3
+ "version": "10.7.0-0",
4
4
  "description": "A comprehensive end-to-end testing library for Mattermost web, desktop and plugin applications using Playwright",
5
5
  "repository": {
6
6
  "type": "git",