From bfc7618d51f4f924003de006ce4cca18d3ae93fb Mon Sep 17 00:00:00 2001 From: Strycher Date: Sat, 11 Jul 2026 22:32:46 -0400 Subject: [PATCH] fix(#172): guard mounted before snackbar in channel Block sender Gemini review (HIGH): add !mounted guard after the async block/blockName before showing the snackbar. Captured messenger already made it safe, but this hardens against showing on a popped route. (MEDIUM 'stale itemBuilder read' assessed as a false positive: context.read in itemBuilder returns live state at menu-open.) Epic A #165 / A5 #172. Co-Authored-By: Claude Opus 4.8 --- lib/screens/channel_chat_screen.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/screens/channel_chat_screen.dart b/lib/screens/channel_chat_screen.dart index 961663a..9defb93 100644 --- a/lib/screens/channel_chat_screen.dart +++ b/lib/screens/channel_chat_screen.dart @@ -519,9 +519,11 @@ class _ChannelChatScreenState extends State { for (final key in keys) { await blockService.block(key); } + if (!mounted) return; messenger.showSnackBar(SnackBar(content: Text(l10n.block_blocked(name)))); } else { await blockService.blockName(name); + if (!mounted) return; messenger.showSnackBar( SnackBar(content: Text(l10n.block_blockedNameOnly(name))), );