diff --git a/packages/frontend/apps/web/src/app.tsx b/packages/frontend/apps/web/src/app.tsx
index 8ad5453044..0f8bc76c45 100644
--- a/packages/frontend/apps/web/src/app.tsx
+++ b/packages/frontend/apps/web/src/app.tsx
@@ -5,8 +5,10 @@ import { Telemetry } from '@affine/core/components/telemetry';
import { router } from '@affine/core/desktop/router';
import { configureCommonModules } from '@affine/core/modules';
import { I18nProvider } from '@affine/core/modules/i18n';
-import { configureOpenInApp } from '@affine/core/modules/open-in-app';
-import { WebOpenInAppGuard } from '@affine/core/modules/open-in-app/views/open-in-app-guard';
+import {
+ configureOpenInApp,
+ OpenInAppGuard,
+} from '@affine/core/modules/open-in-app';
import { configureLocalStorageStateStorageImpls } from '@affine/core/modules/storage';
import { CustomThemeModifier } from '@affine/core/modules/theme-editor';
import { PopupWindowProvider } from '@affine/core/modules/url';
@@ -78,13 +80,13 @@ export function App() {
-
+
}
router={router}
future={future}
/>
-
+
diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/index.tsx
index bf19538177..f2e88b6240 100644
--- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/index.tsx
+++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/index.tsx
@@ -107,7 +107,7 @@ export const AppearanceSettings = () => {
{enableThemeEditor ? : null}
- {BUILD_CONFIG.isWeb ? (
+ {BUILD_CONFIG.isWeb && !environment.isMobile ? (
{
framework.service(OpenInAppService, [GlobalState, WorkspacesService]);
diff --git a/packages/frontend/core/src/modules/open-in-app/views/open-in-app-guard.tsx b/packages/frontend/core/src/modules/open-in-app/views/open-in-app-guard.tsx
index fade4f1230..79a344572d 100644
--- a/packages/frontend/core/src/modules/open-in-app/views/open-in-app-guard.tsx
+++ b/packages/frontend/core/src/modules/open-in-app/views/open-in-app-guard.tsx
@@ -1,6 +1,6 @@
import { assertExists } from '@blocksuite/affine/global/utils';
import { useLiveData, useService } from '@toeverything/infra';
-import { useCallback, useEffect } from 'react';
+import { Fragment, useCallback, useEffect } from 'react';
import { OpenInAppService } from '../services';
import { OpenInAppPage } from './open-in-app-page';
@@ -8,11 +8,7 @@ import { OpenInAppPage } from './open-in-app-page';
/**
* Web only guard to open the URL in desktop app for different conditions
*/
-export const WebOpenInAppGuard = ({
- children,
-}: {
- children: React.ReactNode;
-}) => {
+const WebOpenInAppGuard = ({ children }: { children: React.ReactNode }) => {
assertExists(
BUILD_CONFIG.isWeb,
'WebOpenInAppGuard should only be used in web'
@@ -36,9 +32,13 @@ export const WebOpenInAppGuard = ({
return null;
}
- return shouldOpenInApp ? (
+ return shouldOpenInApp && !environment.isMobile ? (
) : (
children
);
};
+
+export const OpenInAppGuard = environment.isMobile
+ ? Fragment
+ : WebOpenInAppGuard;