From 91dc23c23f1e5105bd42b8446fe5de651bfa7e34 Mon Sep 17 00:00:00 2001 From: Henry Heino <46334387+personalizedrefrigerator@users.noreply.github.com> Date: Tue, 30 Sep 2025 09:17:34 -0700 Subject: [PATCH] Android: Plugins: Fix inspecting note editor WebViews (#13272) --- .../components/NoteBodyViewer/NoteBodyViewer.tsx | 3 ++- .../contentScripts/rendererBundle/useWebViewSetup.ts | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/app-mobile/components/NoteBodyViewer/NoteBodyViewer.tsx b/packages/app-mobile/components/NoteBodyViewer/NoteBodyViewer.tsx index cbd576b41f..cfb354d64b 100644 --- a/packages/app-mobile/components/NoteBodyViewer/NoteBodyViewer.tsx +++ b/packages/app-mobile/components/NoteBodyViewer/NoteBodyViewer.tsx @@ -65,7 +65,7 @@ function NoteBodyViewer(props: Props) { onResourceLongPress, }); - const { api: renderer, pageSetup, webViewEventHandlers } = useWebViewSetup({ + const { api: renderer, pageSetup, webViewEventHandlers, hasPluginScripts } = useWebViewSetup({ webviewRef, onBodyScroll: onScroll, onPostMessage, @@ -106,6 +106,7 @@ function NoteBodyViewer(props: Props) { mixedContentMode="always" onLoadEnd={onLoadEnd} onMessage={webViewEventHandlers.onMessage} + hasPluginScripts={hasPluginScripts} /> ); diff --git a/packages/app-mobile/contentScripts/rendererBundle/useWebViewSetup.ts b/packages/app-mobile/contentScripts/rendererBundle/useWebViewSetup.ts index 4bd4f7a86c..9fb909c622 100644 --- a/packages/app-mobile/contentScripts/rendererBundle/useWebViewSetup.ts +++ b/packages/app-mobile/contentScripts/rendererBundle/useWebViewSetup.ts @@ -137,7 +137,11 @@ const useTempDirPath = () => { return tempDirPath; }; -const useWebViewSetup = (props: Props): SetUpResult => { +type Result = SetUpResult & { + hasPluginScripts: boolean; +}; + +const useWebViewSetup = (props: Props): Result => { const tempDirPath = useTempDirPath(); const { css, injectedJs } = useSource(tempDirPath); const { editPopupCss, createEditPopupSyntax, destroyEditPopupSyntax } = useEditPopup(props.themeId); @@ -269,6 +273,7 @@ const useWebViewSetup = (props: Props): SetUpResult => { }; }, [createEditPopupSyntax, destroyEditPopupSyntax, messenger]); + const hasPluginScripts = contentScripts.length > 0; return useMemo(() => { return { api: rendererControl, @@ -280,8 +285,9 @@ const useWebViewSetup = (props: Props): SetUpResult => { onLoadEnd: messenger.onWebViewLoaded, onMessage: messenger.onWebViewMessage, }, + hasPluginScripts, }; - }, [css, injectedJs, messenger, editPopupCss, rendererControl]); + }, [css, injectedJs, messenger, editPopupCss, rendererControl, hasPluginScripts]); }; export default useWebViewSetup;