diff --git a/packages/frontend/apps/web/src/app.tsx b/packages/frontend/apps/web/src/app.tsx
index 70869ccc5..339123092 100644
--- a/packages/frontend/apps/web/src/app.tsx
+++ b/packages/frontend/apps/web/src/app.tsx
@@ -4,7 +4,6 @@ import { router } from '@affine/core/desktop/router';
import { configureCommonModules } from '@affine/core/modules';
import { I18nProvider } from '@affine/core/modules/i18n';
import { LifecycleService } from '@affine/core/modules/lifecycle';
-import { OpenInAppGuard } from '@affine/core/modules/open-in-app';
import {
configureLocalStorageStateStorageImpls,
NbstoreProvider,
@@ -100,13 +99,11 @@ export function App() {
-
- }
- router={router}
- future={future}
- />
-
+ }
+ router={router}
+ future={future}
+ />
diff --git a/packages/frontend/core/src/desktop/pages/open-app/index.tsx b/packages/frontend/core/src/desktop/pages/open-app/index.tsx
index c8e657d26..8a71d7b2b 100644
--- a/packages/frontend/core/src/desktop/pages/open-app/index.tsx
+++ b/packages/frontend/core/src/desktop/pages/open-app/index.tsx
@@ -27,11 +27,12 @@ const OpenUrl = () => {
return null;
}
- params.delete('url');
-
const urlObj = new URL(urlToOpen || '');
params.forEach((v, k) => {
+ if (k === 'url') {
+ return;
+ }
urlObj.searchParams.set(k, v);
});
diff --git a/packages/frontend/core/src/desktop/pages/workspace/index.tsx b/packages/frontend/core/src/desktop/pages/workspace/index.tsx
index e74b87fc0..0c997cae0 100644
--- a/packages/frontend/core/src/desktop/pages/workspace/index.tsx
+++ b/packages/frontend/core/src/desktop/pages/workspace/index.tsx
@@ -8,6 +8,7 @@ import {
import { GlobalDialogService } from '@affine/core/modules/dialogs';
import { DndService } from '@affine/core/modules/dnd/services';
import { GlobalContextService } from '@affine/core/modules/global-context';
+import { OpenInAppGuard } from '@affine/core/modules/open-in-app';
import {
type Workspace,
type WorkspaceMetadata,
@@ -330,7 +331,9 @@ const WorkspacePage = ({ meta }: { meta: WorkspaceMetadata }) => {
return (
-
+
+
+
);
@@ -339,11 +342,13 @@ const WorkspacePage = ({ meta }: { meta: WorkspaceMetadata }) => {
return (
-
-
-
-
-
+
+
+
+
+
+
+
);
diff --git a/packages/frontend/core/src/modules/open-in-app/views/open-in-app-page.tsx b/packages/frontend/core/src/modules/open-in-app/views/open-in-app-page.tsx
index ac4906de9..4a8c48ad3 100644
--- a/packages/frontend/core/src/modules/open-in-app/views/open-in-app-page.tsx
+++ b/packages/frontend/core/src/modules/open-in-app/views/open-in-app-page.tsx
@@ -3,7 +3,7 @@ import { WorkspaceDialogService } from '@affine/core/modules/dialogs';
import { appIconMap, appNames } from '@affine/core/utils/channel';
import { Trans, useI18n } from '@affine/i18n';
import { LocalWorkspaceIcon, Logo1Icon } from '@blocksuite/icons/rc';
-import { useService } from '@toeverything/infra';
+import { useServiceOptional } from '@toeverything/infra';
import type { MouseEvent } from 'react';
import { useCallback } from 'react';
@@ -28,7 +28,7 @@ export const OpenInAppPage = ({
}: OpenAppProps) => {
// default to open the current page in desktop app
urlToOpen ??= getOpenUrlInDesktopAppLink(window.location.href, true);
- const workspaceDialogService = useService(WorkspaceDialogService);
+ const workspaceDialogService = useServiceOptional(WorkspaceDialogService);
const t = useI18n();
const openDownloadLink = useCallback(() => {
@@ -41,7 +41,7 @@ export const OpenInAppPage = ({
const goToAppearanceSetting = useCallback(
(e: MouseEvent) => {
openHereClicked?.(e);
- workspaceDialogService.open('setting', {
+ workspaceDialogService?.open('setting', {
activeTab: 'appearance',
});
},