From 7f2d548d3276ec8560012bde83149884cde24c86 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Wed, 4 Mar 2026 18:39:49 +0100 Subject: [PATCH] fix: item 0 steals focus after sidenav return --- lib/screens/main_screen.dart | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/screens/main_screen.dart b/lib/screens/main_screen.dart index 21d5287d..3b089bfd 100644 --- a/lib/screens/main_screen.dart +++ b/lib/screens/main_screen.dart @@ -694,11 +694,15 @@ class _MainScreenState extends State with RouteAware, WindowListener } }); } - // When content regains focus while on Libraries, retry focusing the active tab + // When content regains focus while on Libraries, only focus the active tab + // if no child already has focus (avoids stale focus requests stealing focus + // from the current item when scrolling back to item 0) if (_currentIndex == 1 && !_isOffline) { WidgetsBinding.instance.addPostFrameCallback((_) { - if (_librariesKey.currentState case final FocusableTab focusable) { - focusable.focusActiveTabIfReady(); + if (_contentFocusScope.focusedChild == null) { + if (_librariesKey.currentState case final FocusableTab focusable) { + focusable.focusActiveTabIfReady(); + } } }); }