From 96532531ffedf542e2e1236f9ce8331111212ac2 Mon Sep 17 00:00:00 2001 From: vineyardbovines Date: Fri, 3 Apr 2026 16:00:08 -0400 Subject: [PATCH] Fix ReportDialog Android hang by narrowing dependency arrays Replace `props` with specific property references (props.subject, props.control, props.onAfterSubmit) in useMemo/useCallback deps to prevent unnecessary recomputation on every render, which caused ~15s hangs when tapping "Misleading" on Android. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/components/moderation/ReportDialog/index.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/moderation/ReportDialog/index.tsx b/src/components/moderation/ReportDialog/index.tsx index ec6484ae6f..678fd8886a 100644 --- a/src/components/moderation/ReportDialog/index.tsx +++ b/src/components/moderation/ReportDialog/index.tsx @@ -184,7 +184,7 @@ function Inner(props: ReportDialogProps) { ) }) }, [ - props, + props.subject, allLabelers, state.selectedOption, isBskyOnlyReason, @@ -241,7 +241,17 @@ function Inner(props: ReportDialogProps) { } finally { setPending(false) } - }, [_, submitReport, state, dispatch, props, setPending, setSuccess]) + }, [ + _, + submitReport, + state, + dispatch, + props.subject, + props.control, + props.onAfterSubmit, + setPending, + setSuccess, + ]) useCallOnce(() => { ax.metric('reportDialog:open', {