From c8179c585e01e96898411dcb5b1fd840b4754e6c Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Wed, 4 Feb 2026 06:53:35 +0100 Subject: [PATCH] when closing tab check for parent tab first #155 --- .../geckoview/domain/repositories/tab.dart | 14 ++++++++------ .../geckoview/domain/repositories/tab.g.dart | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/lib/features/geckoview/domain/repositories/tab.dart b/app/lib/features/geckoview/domain/repositories/tab.dart index 6c04fae1..0ef21282 100644 --- a/app/lib/features/geckoview/domain/repositories/tab.dart +++ b/app/lib/features/geckoview/domain/repositories/tab.dart @@ -293,6 +293,14 @@ class TabRepository extends _$TabRepository { if (!ref.mounted) return; + // Priority 1: Check for parent tab first (if exists and in same container) + if (tabState?.parentId != null) { + if (sameContainerTabs.any((tab) => tab == tabState?.parentId)) { + return _tabsService.selectTab(tabId: tabState!.parentId!); + } + } + + // Priority 2: Check for previous tab by timestamp final previousTabId = await ref .read(tabDatabaseProvider) .definitionsDrift @@ -305,12 +313,6 @@ class TabRepository extends _$TabRepository { } } - if (tabState?.parentId != null) { - if (sameContainerTabs.any((tab) => tab == tabState?.parentId)) { - return _tabsService.selectTab(tabId: tabState!.parentId!); - } - } - if (!ref.mounted) return; final previousOrderedTabId = await ref diff --git a/app/lib/features/geckoview/domain/repositories/tab.g.dart b/app/lib/features/geckoview/domain/repositories/tab.g.dart index f4bfc82d..f03e2dd9 100644 --- a/app/lib/features/geckoview/domain/repositories/tab.g.dart +++ b/app/lib/features/geckoview/domain/repositories/tab.g.dart @@ -41,7 +41,7 @@ final class TabRepositoryProvider } } -String _$tabRepositoryHash() => r'6f3ddaa1929de2a6f8fed0e818802ab69baee220'; +String _$tabRepositoryHash() => r'0158f3aeb942dda3dab07c1129ced1695c7703c7'; abstract class _$TabRepository extends $Notifier { void build();