From 3eeff8cb02062d7b4da7a72d76b443a1c813dc7c Mon Sep 17 00:00:00 2001 From: yoma Date: Wed, 8 Jul 2026 01:30:33 +0800 Subject: [PATCH] Fix mobile editor return navigation --- apps/web/src/components/WorkspaceApp.tsx | 6 +----- apps/web/src/mobile-edit.tsx | 11 ++++++++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/apps/web/src/components/WorkspaceApp.tsx b/apps/web/src/components/WorkspaceApp.tsx index b241162f..0db23ffa 100644 --- a/apps/web/src/components/WorkspaceApp.tsx +++ b/apps/web/src/components/WorkspaceApp.tsx @@ -1118,10 +1118,6 @@ export const WorkspaceApp = ({ }, [runQueuedSync]); useEffect(() => { - if (!isStandaloneRuntime) { - return; - } - const refreshWorkspaceQueries = () => { if (document.visibilityState === "hidden" || (typeof navigator !== "undefined" && !navigator.onLine)) { return; @@ -1140,7 +1136,7 @@ export const WorkspaceApp = ({ window.removeEventListener("pageshow", refreshWorkspaceQueries); document.removeEventListener("visibilitychange", refreshWorkspaceQueries); }; - }, [isStandaloneRuntime, queryClient]); + }, [queryClient]); useEffect(() => { if (syncSummary.total === 0) { diff --git a/apps/web/src/mobile-edit.tsx b/apps/web/src/mobile-edit.tsx index f945f9a1..6dc99bd1 100644 --- a/apps/web/src/mobile-edit.tsx +++ b/apps/web/src/mobile-edit.tsx @@ -333,7 +333,16 @@ const MobileTiptapEditorApp = () => { }, [persistLocalDraft, saveNow, setSaveStateStable]); const navigateBack = useCallback(() => { - window.location.replace(returnTo); + const referrerUrl = document.referrer ? new URL(document.referrer) : null; + const canRestorePreviousPage = Boolean(referrerUrl && referrerUrl.origin === window.location.origin && window.history.length > 1); + + if (!canRestorePreviousPage) { + window.location.replace(returnTo); + return; + } + + const currentState = window.history.state as { edgeeverMobileEditorBackGuard?: boolean } | null; + window.history.go(currentState?.edgeeverMobileEditorBackGuard ? -2 : -1); }, [returnTo]); const leavePage = useCallback(async () => {