diff --git a/.env.template b/.env.template index f8a92aeb7a..17b5d446fc 100644 --- a/.env.template +++ b/.env.template @@ -1,14 +1,8 @@ -ENABLE_PLUGIN= -ENABLE_TEST_PROPERTIES= -ENABLE_BC_PROVIDER= CHANGELOG_URL= ENABLE_PRELOADING= -ENABLE_NEW_SETTING_MODAL= -ENABLE_SQLITE_PROVIDER= ENABLE_NEW_SETTING_UNSTABLE_API= -ENABLE_NOTIFICATION_CENTER= -ENABLE_CLOUD= -ENABLE_MOVE_DATABASE= -SHOULD_REPORT_TRACE= -TRACE_REPORT_ENDPOINT= -CAPTCHA_SITE_KEY= \ No newline at end of file +ENABLE_CAPTCHA= +CAPTCHA_SITE_KEY= +ENABLE_ENHANCE_SHARE_MODE= +ALLOW_LOCAL_WORKSPACE= +DEBUG_JOTAI= \ No newline at end of file diff --git a/.github/workflows/build-server-image.yml b/.github/workflows/build-server-image.yml index 06ffbd5912..77eecb33d8 100644 --- a/.github/workflows/build-server-image.yml +++ b/.github/workflows/build-server-image.yml @@ -58,7 +58,6 @@ jobs: run: yarn nx build @affine/web --skip-nx-cache env: BUILD_TYPE: ${{ github.event.inputs.flavor }} - SHOULD_REPORT_TRACE: false PUBLIC_PATH: '/' SELF_HOSTED: true MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }} @@ -86,7 +85,6 @@ jobs: run: yarn nx build @affine/admin --skip-nx-cache env: BUILD_TYPE: ${{ github.event.inputs.flavor }} - SHOULD_REPORT_TRACE: false PUBLIC_PATH: '/admin/' SELF_HOSTED: true MIXPANEL_TOKEN: ${{ secrets.MIXPANEL_TOKEN }} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 2ade3d4ebd..ec46802038 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -45,8 +45,6 @@ jobs: R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }} R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }} BUILD_TYPE: ${{ github.event.inputs.flavor }} - SHOULD_REPORT_TRACE: true - TRACE_REPORT_ENDPOINT: ${{ secrets.TRACE_REPORT_ENDPOINT }} CAPTCHA_SITE_KEY: ${{ secrets.CAPTCHA_SITE_KEY }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: 'affine-web' @@ -79,8 +77,6 @@ jobs: R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }} R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }} BUILD_TYPE: ${{ github.event.inputs.flavor }} - SHOULD_REPORT_TRACE: true - TRACE_REPORT_ENDPOINT: ${{ secrets.TRACE_REPORT_ENDPOINT }} CAPTCHA_SITE_KEY: ${{ secrets.CAPTCHA_SITE_KEY }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: 'affine-admin' diff --git a/packages/common/env/src/global.ts b/packages/common/env/src/global.ts index a60292c132..06b162bbe9 100644 --- a/packages/common/env/src/global.ts +++ b/packages/common/env/src/global.ts @@ -6,26 +6,6 @@ import { isDesktop, isServer } from './constant.js'; import { UaHelper } from './ua-helper.js'; export const runtimeFlagsSchema = z.object({ - enableTestProperties: z.boolean(), - enableBroadcastChannelProvider: z.boolean(), - enableDebugPage: z.boolean(), - githubUrl: z.string(), - changelogUrl: z.string(), - downloadUrl: z.string(), - // see: tools/workers - imageProxyUrl: z.string(), - linkPreviewUrl: z.string(), - enablePreloading: z.boolean(), - enableNewSettingModal: z.boolean(), - enableNewSettingUnstableApi: z.boolean(), - enableCloud: z.boolean(), - enableCaptcha: z.boolean(), - enableEnhanceShareMode: z.boolean(), - enablePayment: z.boolean(), - enablePageHistory: z.boolean(), - enableExperimentalFeature: z.boolean(), - enableInfoModal: z.boolean(), - allowLocalWorkspace: z.boolean(), // this is for the electron app serverUrlPrefix: z.string(), appVersion: z.string(), @@ -37,6 +17,19 @@ export const runtimeFlagsSchema = z.object({ z.literal('canary'), ]), isSelfHosted: z.boolean().optional(), + githubUrl: z.string(), + changelogUrl: z.string(), + downloadUrl: z.string(), + // see: tools/workers + imageProxyUrl: z.string(), + linkPreviewUrl: z.string(), + allowLocalWorkspace: z.boolean(), + enablePreloading: z.boolean(), + enableNewSettingUnstableApi: z.boolean(), + enableCaptcha: z.boolean(), + enableEnhanceShareMode: z.boolean(), + enableExperimentalFeature: z.boolean(), + enableInfoModal: z.boolean(), }); export type RuntimeConfig = z.infer; diff --git a/packages/frontend/component/.storybook/main.ts b/packages/frontend/component/.storybook/main.ts index 72dddbf3c0..97f9c15dfc 100644 --- a/packages/frontend/component/.storybook/main.ts +++ b/packages/frontend/component/.storybook/main.ts @@ -29,12 +29,6 @@ export default { target: 'ES2022', }, define: { - 'process.env': {}, - 'process.env.COVERAGE': JSON.stringify(!!process.env.COVERAGE), - 'process.env.SHOULD_REPORT_TRACE': `${Boolean( - process.env.SHOULD_REPORT_TRACE === 'true' - )}`, - 'process.env.TRACE_REPORT_ENDPOINT': `"${process.env.TRACE_REPORT_ENDPOINT}"`, 'process.env.CAPTCHA_SITE_KEY': `"${process.env.CAPTCHA_SITE_KEY}"`, runtimeConfig: getRuntimeConfig({ distribution: 'browser', diff --git a/packages/frontend/core/src/atoms/index.ts b/packages/frontend/core/src/atoms/index.ts index 4652a880c2..3faeb7092a 100644 --- a/packages/frontend/core/src/atoms/index.ts +++ b/packages/frontend/core/src/atoms/index.ts @@ -8,7 +8,6 @@ import type { ActiveTab } from '../components/affine/setting-modal/types'; export const openWorkspacesModalAtom = atom(false); export const openCreateWorkspaceModalAtom = atom(false); export const openSignOutModalAtom = atom(false); -export const openPaymentDisableAtom = atom(false); export const openQuotaModalAtom = atom(false); export const openStarAFFiNEModalAtom = atom(false); export const openIssueFeedbackModalAtom = atom(false); @@ -51,8 +50,6 @@ export const authAtom = atom({ emailType: 'changeEmail', }); -export const openDisableCloudAlertModalAtom = atom(false); - export type AllPageFilterOption = 'docs' | 'collections' | 'tags'; export const allPageFilterSelectAtom = atom('docs'); diff --git a/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx b/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx index 7d64291517..c5af1bf2df 100644 --- a/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx +++ b/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx @@ -1,7 +1,7 @@ import { Avatar, Input, Switch, toast } from '@affine/component'; import type { ConfirmModalProps } from '@affine/component/ui/modal'; import { ConfirmModal, Modal } from '@affine/component/ui/modal'; -import { authAtom, openDisableCloudAlertModalAtom } from '@affine/core/atoms'; +import { authAtom } from '@affine/core/atoms'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; import { DebugLogger } from '@affine/debug'; import { apis } from '@affine/electron-api'; @@ -61,20 +61,14 @@ const NameWorkspaceContent = ({ const session = useService(AuthService).session; const loginStatus = useLiveData(session.status$); - const setDisableCloudOpen = useSetAtom(openDisableCloudAlertModalAtom); - const setOpenSignIn = useSetAtom(authAtom); const openSignInModal = useCallback(() => { - if (!runtimeConfig.enableCloud) { - setDisableCloudOpen(true); - } else { - setOpenSignIn(state => ({ - ...state, - openModal: true, - })); - } - }, [setDisableCloudOpen, setOpenSignIn]); + setOpenSignIn(state => ({ + ...state, + openModal: true, + })); + }, [setOpenSignIn]); const onSwitchChange = useCallback( (checked: boolean) => { diff --git a/packages/frontend/core/src/components/affine/history-tips-modal/index.tsx b/packages/frontend/core/src/components/affine/history-tips-modal/index.tsx index 93772218a6..163b3dc191 100644 --- a/packages/frontend/core/src/components/affine/history-tips-modal/index.tsx +++ b/packages/frontend/core/src/components/affine/history-tips-modal/index.tsx @@ -1,12 +1,9 @@ import { OverlayModal } from '@affine/component'; -import { - openDisableCloudAlertModalAtom, - openHistoryTipsModalAtom, -} from '@affine/core/atoms'; +import { openHistoryTipsModalAtom } from '@affine/core/atoms'; import { useEnableCloud } from '@affine/core/hooks/affine/use-enable-cloud'; import { useI18n } from '@affine/i18n'; import { useService, WorkspaceService } from '@toeverything/infra'; -import { useAtom, useSetAtom } from 'jotai'; +import { useAtom } from 'jotai'; import { useCallback } from 'react'; import TopSvg from './top-svg'; @@ -15,17 +12,12 @@ export const HistoryTipsModal = () => { const t = useI18n(); const currentWorkspace = useService(WorkspaceService).workspace; const [open, setOpen] = useAtom(openHistoryTipsModalAtom); - const setTempDisableCloudOpen = useSetAtom(openDisableCloudAlertModalAtom); const confirmEnableCloud = useEnableCloud(); const handleConfirm = useCallback(() => { setOpen(false); - if (runtimeConfig.enableCloud) { - confirmEnableCloud(currentWorkspace); - return; - } - return setTempDisableCloudOpen(true); - }, [confirmEnableCloud, currentWorkspace, setOpen, setTempDisableCloudOpen]); + confirmEnableCloud(currentWorkspace); + }, [confirmEnableCloud, currentWorkspace, setOpen]); return ( { - const [open, setOpen] = useAtom(openPaymentDisableAtom); - const t = useI18n(); - - const onClickCancel = useCallback(() => { - setOpen(false); - }, [setOpen]); - - return ( - -

- {t['com.affine.payment.disable-payment.description']()} -

-
- ); -}; diff --git a/packages/frontend/core/src/components/affine/payment-disable/style.css.ts b/packages/frontend/core/src/components/affine/payment-disable/style.css.ts deleted file mode 100644 index 29c1ab0c05..0000000000 --- a/packages/frontend/core/src/components/affine/payment-disable/style.css.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { cssVar } from '@toeverything/theme'; -import { style } from '@vanilla-extract/css'; -export const paymentDisableModalContent = style({ - color: cssVar('textPrimaryColor'), -}); diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/plan-card.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/plan-card.tsx index 13a7260c64..df143a7867 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/plan-card.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/plan-card.tsx @@ -9,12 +9,11 @@ import { Trans, useI18n } from '@affine/i18n'; import { DoneIcon } from '@blocksuite/icons/rc'; import { useLiveData, useService } from '@toeverything/infra'; import clsx from 'clsx'; -import { useAtom, useSetAtom } from 'jotai'; +import { useSetAtom } from 'jotai'; import { nanoid } from 'nanoid'; import type { HTMLAttributes, PropsWithChildren } from 'react'; import { useCallback, useEffect, useMemo, useState } from 'react'; -import { openPaymentDisableAtom } from '../../../../../atoms'; import { authAtom } from '../../../../../atoms/index'; import { mixpanel } from '../../../../../utils'; import { CancelAction, ResumeAction } from './actions'; @@ -280,13 +279,7 @@ export const Upgrade = ({ return; }, [isOpenedExternalWindow, subscriptionService]); - const [, openPaymentDisableModal] = useAtom(openPaymentDisableAtom); const upgrade = useAsyncCallback(async () => { - if (!runtimeConfig.enablePayment) { - openPaymentDisableModal(true); - return; - } - setMutating(true); mixpanel.track('PlanUpgradeStarted', { segment: 'settings panel', @@ -306,7 +299,7 @@ export const Upgrade = ({ setIdempotencyKey(nanoid()); popupWindow(link); setOpenedExternalWindow(true); - }, [openPaymentDisableModal, subscriptionService, recurring, idempotencyKey]); + }, [subscriptionService, recurring, idempotencyKey]); return ( - - {runtimeConfig.enableCloud ? null : ( - - )} - + {t['Enable AFFiNE Cloud']()} + + ); }; diff --git a/packages/frontend/core/src/components/affine/tmp-disable-affine-cloud-modal/index.tsx b/packages/frontend/core/src/components/affine/tmp-disable-affine-cloud-modal/index.tsx deleted file mode 100644 index c7e2a7acd4..0000000000 --- a/packages/frontend/core/src/components/affine/tmp-disable-affine-cloud-modal/index.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { Empty } from '@affine/component'; -import type { ModalProps } from '@affine/component/ui/modal'; -import { Modal } from '@affine/component/ui/modal'; -import { Trans, useI18n } from '@affine/i18n'; -import { useCallback } from 'react'; - -import { - StyleButton, - StyleButtonContainer, - StyleImage, - StyleTips, -} from './style'; - -export const TmpDisableAffineCloudModal = (props: ModalProps) => { - const t = useI18n(); - const onClose = useCallback(() => { - props.onOpenChange?.(false); - }, [props]); - return ( - - - - We are upgrading the AFFiNE Cloud service and it is temporarily - unavailable on the client side. If you wish to stay updated on the - progress and be notified on availability, you can fill out the - - AFFiNE Cloud Signup - - . - - - - - - - - {t['Got it']()} - - - - ); -}; diff --git a/packages/frontend/core/src/components/affine/tmp-disable-affine-cloud-modal/style.ts b/packages/frontend/core/src/components/affine/tmp-disable-affine-cloud-modal/style.ts deleted file mode 100644 index 3f513d4acd..0000000000 --- a/packages/frontend/core/src/components/affine/tmp-disable-affine-cloud-modal/style.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { displayFlex, styled } from '@affine/component'; -import { Button } from '@affine/component/ui/button'; - -export const Header = styled('div')({ - height: '44px', - display: 'flex', - flexDirection: 'row-reverse', - paddingRight: '10px', - paddingTop: '10px', - flexShrink: 0, -}); - -export const Content = styled('div')({ - padding: '0 40px', -}); - -export const ContentTitle = styled('h1')(() => { - return { - marginTop: 44, - fontSize: 'var(--affine-font-h6)', - lineHeight: '28px', - fontWeight: 600, - }; -}); - -export const StyleTips = styled('div')(() => { - return { - margin: '0 0 20px 0', - a: { - color: 'var(--affine-primary-color)', - }, - }; -}); - -export const StyleButton = styled(Button)({ - textAlign: 'center', - borderRadius: '8px', - backgroundColor: 'var(--affine-primary-color)', - span: { - margin: '0', - }, -}); -export const StyleButtonContainer = styled('div')(() => { - return { - width: '100%', - marginTop: 20, - ...displayFlex('flex-end', 'center'), - }; -}); -export const StyleImage = styled('div')(() => { - return { - ...displayFlex('center', 'center'), - }; -}); diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/menu/index.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-header/menu/index.tsx index 3e14e208f3..80d4a05186 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-header/menu/index.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-header/menu/index.tsx @@ -245,7 +245,7 @@ export const PageHeaderMenuButton = ({ {t['com.affine.header.option.add-tag']()} */} - {runtimeConfig.enableInfoModal ? ( + {runtimeConfig.enableInfoModal && ( @@ -258,21 +258,19 @@ export const PageHeaderMenuButton = ({ > {t['com.affine.page-properties.page-info.view']()} - ) : null} - {runtimeConfig.enablePageHistory ? ( - - - - } - data-testid="editor-option-menu-history" - onSelect={openHistoryModal} - style={menuItemStyle} - > - {t['com.affine.history.view-history-version']()} - - ) : null} + )} + + + + } + data-testid="editor-option-menu-history" + onSelect={openHistoryModal} + style={menuItemStyle} + > + {t['com.affine.history.view-history-version']()} + {!isJournal && ( - { - const setDisableCloudOpen = useSetAtom(openDisableCloudAlertModalAtom); - const setOpen = useSetAtom(authAtom); const t = useI18n(); @@ -34,15 +28,11 @@ export const SignInItem = () => { mixpanel.track('Button', { resolve: 'SignIn', }); - if (!runtimeConfig.enableCloud) { - setDisableCloudOpen(true); - } else { - setOpen(state => ({ - ...state, - openModal: true, - })); - } - }, [setOpen, setDisableCloudOpen]); + setOpen(state => ({ + ...state, + openModal: true, + })); + }, [setOpen]); return ( { - if (!runtimeConfig.enableCloud) { - setDisableCloudOpen(true); - } else { - setOpenSignIn(state => ({ - ...state, - openModal: true, - })); - } - }, [setDisableCloudOpen, setOpenSignIn]); + setOpenSignIn(state => ({ + ...state, + openModal: true, + })); + }, [setOpenSignIn]); const onNewWorkspace = useCallback(() => { if (!isAuthenticated && !runtimeConfig.allowLocalWorkspace) { diff --git a/packages/frontend/core/src/components/root-app-sidebar/index.tsx b/packages/frontend/core/src/components/root-app-sidebar/index.tsx index fa19baabc3..450c25021a 100644 --- a/packages/frontend/core/src/components/root-app-sidebar/index.tsx +++ b/packages/frontend/core/src/components/root-app-sidebar/index.tsx @@ -192,17 +192,15 @@ export const RootAppSidebar = memo( - {runtimeConfig.enableNewSettingModal ? ( - } - onClick={onOpenSettingModal} - > - - {t['com.affine.settingSidebar.title']()} - - - ) : null} + } + onClick={onOpenSettingModal} + > + + {t['com.affine.settingSidebar.title']()} + + diff --git a/packages/frontend/core/src/components/root-app-sidebar/user-info.tsx b/packages/frontend/core/src/components/root-app-sidebar/user-info.tsx index 2b3f8c8e90..f5e312a60c 100644 --- a/packages/frontend/core/src/components/root-app-sidebar/user-info.tsx +++ b/packages/frontend/core/src/components/root-app-sidebar/user-info.tsx @@ -11,7 +11,6 @@ import { } from '@affine/component'; import { authAtom, - openDisableCloudAlertModalAtom, openSettingModalAtom, openSignOutModalAtom, } from '@affine/core/atoms'; @@ -65,13 +64,11 @@ const AuthorizedUserInfo = ({ account }: { account: AuthAccountInfo }) => { }; const UnauthorizedUserInfo = () => { - const setDisableCloudOpen = useSetAtom(openDisableCloudAlertModalAtom); const setOpen = useSetAtom(authAtom); const openSignInModal = useCallback(() => { - if (!runtimeConfig.enableCloud) setDisableCloudOpen(true); - else setOpen(state => ({ ...state, openModal: true })); - }, [setDisableCloudOpen, setOpen]); + setOpen(state => ({ ...state, openModal: true })); + }, [setOpen]); return (