From 9ee3d3d8a3a34d922e7ed34428aedd110f56b5bf Mon Sep 17 00:00:00 2001 From: X Date: Thu, 2 Jan 2025 20:09:36 +0800 Subject: [PATCH] fix: View freeze while using swipe gesture to go back in safari (#2412) --- apps/renderer/src/modules/entry-content/index.mobile.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/renderer/src/modules/entry-content/index.mobile.tsx b/apps/renderer/src/modules/entry-content/index.mobile.tsx index f65a00a6b5..35e414570a 100644 --- a/apps/renderer/src/modules/entry-content/index.mobile.tsx +++ b/apps/renderer/src/modules/entry-content/index.mobile.tsx @@ -1,7 +1,7 @@ import { ScrollElementContext } from "@follow/components/ui/scroll-area/ctx.js" import { useTitle } from "@follow/hooks" import type { FeedModel, InboxModel, SupportedLanguages } from "@follow/models/types" -import { stopPropagation } from "@follow/utils/dom" +import { nextFrame, stopPropagation } from "@follow/utils/dom" import { cn } from "@follow/utils/utils" import { ErrorBoundary } from "@sentry/react" import { useEffect, useMemo, useState } from "react" @@ -47,8 +47,10 @@ export const EntryContent: Component<{ useEffect(() => { const handlePopState = (event: PopStateEvent) => { event.preventDefault() - // This is triggered when the back button is pressed - navigateEntry({ entryId: null, ...params }) + nextFrame(() => { + // This is triggered when the back button is pressed + navigateEntry({ entryId: null, ...params }) + }) } // Listen to the popstate event (back button)