Files
upstream-mirror 30810eecd7
Some checks failed
Create issues from TODOs / todos (push) Failing after 3s
Close inactive issues / close-issues (push) Has been cancelled
Deploy GitHub Pages / deploy-preview (push) Has been cancelled
CI / ⚙️ Variables Setup (push) Has been cancelled
CI / ⚙️ Test Guard (push) Has been cancelled
CI / 🚀 Notify external services - draft (push) Has been cancelled
CI / 📦 Build Packages (push) Has been cancelled
CI / 📦 Meteor Build (coverage) (push) Has been cancelled
CI / 📦 Meteor Build (production) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], fips) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Publish Docker Images (ghcr.io) (push) Has been cancelled
CI / 📦 Track Image Sizes (push) Has been cancelled
CI / 🔎 Code Check - Action Lint (push) Has been cancelled
CI / 🔎 Code Check (push) Has been cancelled
CI / 🔨 Test Storybook (push) Has been cancelled
CI / 🔨 Test Unit (push) Has been cancelled
CI / 🔨 Test API (CE) (push) Has been cancelled
CI / 🔨 Test API Livechat (CE) (push) Has been cancelled
CI / 🔨 Test UI (CE) (push) Has been cancelled
CI / 🔨 Test API (EE) (push) Has been cancelled
CI / 🔨 Test API Livechat (EE) (push) Has been cancelled
CI / 🔨 Test API Apps (deno-runtime - EE) (push) Has been cancelled
CI / 🔨 Test UI (EE) (push) Has been cancelled
CI / 🔨 Test API (FIPS) (push) Has been cancelled
CI / 🔨 Test API Livechat (FIPS) (push) Has been cancelled
CI / 🔨 Test UI (FIPS) (push) Has been cancelled
CI / 🔨 Test Federation Matrix (push) Has been cancelled
CI / 📊 Report Coverage (push) Has been cancelled
CI / ✅ Tests Done (push) Has been cancelled
CI / 🚀 Publish build assets (push) Has been cancelled
CI / 🚀 Publish Docker Images (DockerHub) (push) Has been cancelled
CI / 🚀 Notify external services (push) Has been cancelled
CI / Update Version Durability (push) Has been cancelled
Release / Release (push) Has been cancelled
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 2s
snapshot of https://github.com/RocketChat/Rocket.Chat.git (develop, 2026-09-16; blobs > 131072B omitted)
2026-09-16 01:21:02 +05:00

402 lines
9.4 KiB
TypeScript

import { settingsRegistry } from '.';
export const createGeneralSettings = async () => {
await settingsRegistry.addGroup('General', async function () {
await this.section('REST API', async function () {
await this.add('API_Upper_Count_Limit', 100, { type: 'int', public: false });
await this.add('API_Default_Count', 50, { type: 'int', public: false });
await this.add('API_Allow_Infinite_Count', true, { type: 'boolean', public: false });
await this.add('API_Enable_Direct_Message_History_EndPoint', false, {
type: 'boolean',
public: false,
});
await this.add('API_Enable_Shields', true, { type: 'boolean', public: false });
await this.add('API_Shield_Types', '*', {
type: 'string',
public: false,
enableQuery: { _id: 'API_Enable_Shields', value: true },
});
await this.add('API_Shield_user_require_auth', false, {
type: 'boolean',
public: false,
enableQuery: { _id: 'API_Enable_Shields', value: true },
});
await this.add('API_Enable_CORS', false, { type: 'boolean', public: false });
await this.add('API_CORS_Origin', '*', {
type: 'string',
public: false,
enableQuery: { _id: 'API_Enable_CORS', value: true },
});
// Should enforce the permission on next Major and remove this setting
await this.add('API_Apply_permission_view-outside-room_on_users-list', false, {
type: 'boolean',
public: true,
alert: 'This_is_a_deprecated_feature_alert',
});
});
await this.add('Show_Setup_Wizard', 'pending', {
type: 'select',
public: true,
readonly: true,
values: [
{
key: 'pending',
i18nLabel: 'Pending',
},
{
key: 'in_progress',
i18nLabel: 'In_progress',
},
{
key: 'completed',
i18nLabel: 'Completed',
},
],
});
await this.add(
'Site_Url',
typeof (global as any).__meteor_runtime_config__ !== 'undefined' && (global as any).__meteor_runtime_config__ !== null
? (global as any).__meteor_runtime_config__.ROOT_URL
: null,
{
type: 'string',
i18nDescription: 'Site_Url_Description',
public: true,
},
);
await this.add('Site_Name', 'Rocket.Chat', {
type: 'string',
public: true,
wizard: {
step: 3,
order: 0,
},
});
await this.add('Document_Domain', '', {
type: 'string',
public: true,
});
await this.add('Language', '', {
type: 'language',
public: true,
wizard: {
step: 3,
order: 1,
},
alert: 'Language_setting_warning',
});
await this.add('Allow_Invalid_SelfSigned_Certs', false, {
type: 'boolean',
secret: true,
});
await this.add('Enable_CSP', true, {
type: 'boolean',
});
await this.add('Use_RC_SDK', false, {
type: 'boolean',
public: true,
alert: 'Use_RC_SDK_Alert',
i18nDescription: 'Use_RC_SDK_Description',
});
await this.add('Extra_CSP_Domains', '', {
type: 'string',
multiline: true,
});
await this.add('Iframe_Restrict_Access', true, {
type: 'boolean',
secret: true,
});
await this.add('Iframe_X_Frame_Options', 'sameorigin', {
type: 'string',
secret: true,
enableQuery: {
_id: 'Iframe_Restrict_Access',
value: true,
},
});
await this.add('Favorite_Rooms', true, {
type: 'boolean',
public: true,
});
await this.add('First_Channel_After_Login', '', {
type: 'string',
public: true,
});
await this.add('Unread_Count', 'user_and_group_mentions_only', {
type: 'select',
values: [
{
key: 'all_messages',
i18nLabel: 'All_messages',
},
{
key: 'user_mentions_only',
i18nLabel: 'User_mentions_only',
},
{
key: 'group_mentions_only',
i18nLabel: 'Group_mentions_only',
},
{
key: 'user_and_group_mentions_only',
i18nLabel: 'User_and_group_mentions_only',
},
],
public: true,
});
await this.add('Unread_Count_DM', 'all_messages', {
type: 'select',
values: [
{
key: 'all_messages',
i18nLabel: 'All_messages',
},
{
key: 'mentions_only',
i18nLabel: 'Mentions_only',
},
],
public: true,
});
await this.add('Unread_Count_Omni', 'all_messages', {
type: 'select',
values: [
{
key: 'all_messages',
i18nLabel: 'All_messages',
},
{
key: 'mentions_only',
i18nLabel: 'Mentions_only',
},
],
public: true,
});
await this.add('DeepLink_Url', 'https://go.rocket.chat', {
type: 'string',
public: true,
});
await this.add('CDN_PREFIX', '', {
type: 'string',
public: true,
});
await this.add('CDN_PREFIX_ALL', true, {
type: 'boolean',
public: true,
});
await this.add('CDN_JSCSS_PREFIX', '', {
type: 'string',
public: true,
enableQuery: {
_id: 'CDN_PREFIX_ALL',
value: false,
},
});
await this.add('Force_SSL', false, {
type: 'boolean',
public: true,
});
await this.add('GoogleTagManager_id', '', {
type: 'string',
public: true,
secret: true,
});
await this.add('Bugsnag_api_key', '', {
type: 'string',
public: false,
secret: true,
});
await this.add('Restart', 'restart_server', {
type: 'action',
actionText: 'Restart_the_server',
});
await this.add('Store_Last_Message', true, {
type: 'boolean',
public: true,
i18nDescription: 'Store_Last_Message_Sent_per_Room',
});
await this.add('Robot_Instructions_File_Content', 'User-agent: *\nDisallow: /', {
type: 'string',
public: true,
multiline: true,
});
await this.add('Default_Referrer_Policy', 'same-origin', {
type: 'select',
values: [
{
key: 'no-referrer',
i18nLabel: 'No_Referrer',
},
{
key: 'no-referrer-when-downgrade',
i18nLabel: 'No_Referrer_When_Downgrade',
},
{
key: 'origin',
i18nLabel: 'Origin',
},
{
key: 'origin-when-cross-origin',
i18nLabel: 'Origin_When_Cross_Origin',
},
{
key: 'same-origin',
i18nLabel: 'Same_Origin',
},
{
key: 'strict-origin',
i18nLabel: 'Strict_Origin',
},
{
key: 'strict-origin-when-cross-origin',
i18nLabel: 'Strict_Origin_When_Cross_Origin',
},
{
key: 'unsafe-url',
i18nLabel: 'Unsafe_Url',
},
],
public: true,
});
await this.section('UTF8', async function () {
await this.add('UTF8_User_Names_Validation', '[0-9a-zA-Z-_.]+', {
type: 'string',
public: true,
i18nDescription: 'UTF8_User_Names_Validation_Description',
});
await this.add('UTF8_Channel_Names_Validation', '[0-9a-zA-Z-_.]+', {
type: 'string',
public: true,
i18nDescription: 'UTF8_Channel_Names_Validation_Description',
});
return this.add('UTF8_Names_Slugify', true, {
type: 'boolean',
public: true,
});
});
await this.section('Reporting', async function () {
return this.add('Statistics_reporting', true, {
type: 'boolean',
hidden: true,
});
});
await this.section('Notifications', async function () {
await this.add('Notifications_Max_Room_Members', 100, {
type: 'int',
public: true,
i18nDescription: 'Notifications_Max_Room_Members_Description',
});
});
await this.section('REST API', async function () {
return this.add('API_User_Limit', 500, {
type: 'int',
public: true,
i18nDescription: 'API_User_Limit',
});
});
await this.section('Iframe_Integration', async function () {
await this.add('Iframe_Integration_send_enable', false, {
type: 'boolean',
public: true,
});
await this.add('Iframe_Integration_send_target_origin', '*', {
type: 'string',
public: true,
enableQuery: {
_id: 'Iframe_Integration_send_enable',
value: true,
},
});
await this.add('Iframe_Integration_receive_enable', false, {
type: 'boolean',
public: true,
});
return this.add('Iframe_Integration_receive_origin', '*', {
type: 'string',
public: true,
enableQuery: {
_id: 'Iframe_Integration_receive_enable',
value: true,
},
});
});
await this.section('Translations', async function () {
return this.add('Custom_Translations', '', {
type: 'code',
code: 'application/json',
public: true,
});
});
await this.section('Stream_Cast', async function () {
return this.add('Stream_Cast_Address', '', {
type: 'string',
});
});
await this.section('NPS', async function () {
await this.add('NPS_survey_enabled', true, {
type: 'boolean',
});
});
await this.section('Timezone', async function () {
await this.add('Default_Timezone_For_Reporting', 'server', {
type: 'select',
values: [
{
key: 'server',
i18nLabel: 'Default_Server_Timezone',
},
{
key: 'custom',
i18nLabel: 'Default_Custom_Timezone',
},
{
key: 'user',
i18nLabel: 'Default_User_Timezone',
},
],
});
await this.add('Default_Custom_Timezone', '', {
type: 'timezone',
enableQuery: {
_id: 'Default_Timezone_For_Reporting',
value: 'custom',
},
});
});
await this.section('Update', async function () {
await this.add('Update_LatestAvailableVersion', '0.0.0', {
type: 'string',
readonly: true,
});
await this.add('Update_EnableChecker', true, {
type: 'boolean',
enableQuery: {
_id: 'Register_Server',
value: true,
},
i18nDescription: 'Update_EnableChecker_Description',
});
});
await this.section('SSRF_Protection', async function () {
await this.add('SSRF_Allowlist', '', {
type: 'string',
multiline: true,
public: false,
i18nLabel: 'SSRF_Allowlist',
i18nDescription: 'SSRF_Allowlist_Description',
});
});
});
};