diff --git a/packages/common/infra/src/modules/feature-flag/constant.ts b/packages/common/infra/src/modules/feature-flag/constant.ts index 2d23e0cdfa..8ccb6c490d 100644 --- a/packages/common/infra/src/modules/feature-flag/constant.ts +++ b/packages/common/infra/src/modules/feature-flag/constant.ts @@ -78,8 +78,10 @@ export const AFFINE_FLAGS = { category: 'affine', displayName: 'Split View', description: - 'The Split View feature in AFFiNE allows users to divide their workspace into multiple sections, enabling simultaneous viewing and editing of different documents.The Split View feature in AFFiNE allows users to divide their workspace into multiple sections, enabling simultaneous viewing and editing of different documents.', + 'The Split View feature enables you to divide your tab into multiple sections for simultaneous viewing and editing of different documents.', feedbackType: 'discord', + feedbackLink: + 'https://discord.com/channels/959027316334407691/1280009690004324405', configurable: isDesktopEnvironment, defaultState: isCanaryBuild, }, @@ -88,6 +90,9 @@ export const AFFINE_FLAGS = { displayName: 'Emoji Folder Icon', description: 'Once enabled, you can use an emoji as the folder icon. When the first character of the folder name is an emoji, it will be extracted and used as its icon.', + feedbackType: 'discord', + feedbackLink: + 'https://discord.com/channels/959027316334407691/1280014319865696351/1280014319865696351', configurable: true, defaultState: false, }, diff --git a/packages/common/infra/src/modules/feature-flag/types.ts b/packages/common/infra/src/modules/feature-flag/types.ts index 897df817ec..c521df716c 100644 --- a/packages/common/infra/src/modules/feature-flag/types.ts +++ b/packages/common/infra/src/modules/feature-flag/types.ts @@ -6,6 +6,7 @@ export type FlagInfo = { configurable?: boolean; defaultState?: boolean; // default to open and not controlled by user feedbackType?: FeedbackType; + feedbackLink?: string; } & ( | { category: 'affine'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/experimental-features/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/experimental-features/index.tsx index df0d983c34..d92495737d 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/experimental-features/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/experimental-features/index.tsx @@ -114,7 +114,11 @@ const ExperimentalFeaturesItem = ({ flag }: { flag: Flag }) => { }, [flag] ); - const link = flag.feedbackType ? feedbackLink[flag.feedbackType] : undefined; + const link = flag.feedbackType + ? flag.feedbackLink + ? flag.feedbackLink + : feedbackLink[flag.feedbackType] + : undefined; if (flag.configurable === false) { return null; diff --git a/packages/frontend/i18n/src/resources/en.json b/packages/frontend/i18n/src/resources/en.json index 26c5d75796..c0a0ecde6a 100644 --- a/packages/frontend/i18n/src/resources/en.json +++ b/packages/frontend/i18n/src/resources/en.json @@ -1340,7 +1340,7 @@ "com.affine.settings.workspace.experimental-features": "Experimental features", "com.affine.settings.workspace.experimental-features.get-started": "Get started", "com.affine.settings.workspace.experimental-features.header.plugins": "Experimental features", - "com.affine.settings.workspace.experimental-features.header.subtitle": "You can customize your workspace here.", + "com.affine.settings.workspace.experimental-features.header.subtitle": "Some features available for early access", "com.affine.settings.workspace.experimental-features.prompt-disclaimer": "I am aware of the risks, and I am willing to continue to use it.", "com.affine.settings.workspace.experimental-features.prompt-header": "Do you want to use the plugin system that is in an experimental stage?", "com.affine.settings.workspace.experimental-features.prompt-warning": "You are about to enable an experimental feature. This feature is still in development and may contain errors or behave unpredictably. Please proceed with caution and at your own risk.",