diff --git a/app/lib/features/geckoview/domain/providers/tab_delete_cache.dart b/app/lib/features/geckoview/domain/providers/tab_delete_cache.dart
deleted file mode 100644
index ac2c0ff6..00000000
--- a/app/lib/features/geckoview/domain/providers/tab_delete_cache.dart
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2024-2025 Fabian Freund.
- *
- * This file is part of WebLibre
- * (see https://weblibre.eu).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-import 'dart:async';
-
-import 'package:riverpod_annotation/riverpod_annotation.dart';
-
-part 'tab_delete_cache.g.dart';
-
-@Riverpod(keepAlive: true)
-class TabDeleteCache extends _$TabDeleteCache {
- void delete(String tabId) {
- state = {...state, tabId};
-
- Timer(const Duration(seconds: 3), () {
- if (ref.mounted) {
- state = {...state}..remove(tabId);
- }
- });
- }
-
- @override
- Set build() {
- return {};
- }
-}
diff --git a/app/lib/features/geckoview/domain/providers/tab_delete_cache.g.dart b/app/lib/features/geckoview/domain/providers/tab_delete_cache.g.dart
deleted file mode 100644
index 4a53ea90..00000000
--- a/app/lib/features/geckoview/domain/providers/tab_delete_cache.g.dart
+++ /dev/null
@@ -1,63 +0,0 @@
-// GENERATED CODE - DO NOT MODIFY BY HAND
-
-part of 'tab_delete_cache.dart';
-
-// **************************************************************************
-// RiverpodGenerator
-// **************************************************************************
-
-// GENERATED CODE - DO NOT MODIFY BY HAND
-// ignore_for_file: type=lint, type=warning
-
-@ProviderFor(TabDeleteCache)
-const tabDeleteCacheProvider = TabDeleteCacheProvider._();
-
-final class TabDeleteCacheProvider
- extends $NotifierProvider> {
- const TabDeleteCacheProvider._()
- : super(
- from: null,
- argument: null,
- retry: null,
- name: r'tabDeleteCacheProvider',
- isAutoDispose: false,
- dependencies: null,
- $allTransitiveDependencies: null,
- );
-
- @override
- String debugGetCreateSourceHash() => _$tabDeleteCacheHash();
-
- @$internal
- @override
- TabDeleteCache create() => TabDeleteCache();
-
- /// {@macro riverpod.override_with_value}
- Override overrideWithValue(Set value) {
- return $ProviderOverride(
- origin: this,
- providerOverride: $SyncValueProvider>(value),
- );
- }
-}
-
-String _$tabDeleteCacheHash() => r'd645d41fc2bf7b132f0cbdf1914289ca66783689';
-
-abstract class _$TabDeleteCache extends $Notifier> {
- Set build();
- @$mustCallSuper
- @override
- void runBuild() {
- final created = build();
- final ref = this.ref as $Ref, Set>;
- final element =
- ref.element
- as $ClassProviderElement<
- AnyNotifier, Set>,
- Set,
- Object?,
- Object?
- >;
- element.handleValue(ref, created);
- }
-}
diff --git a/app/lib/features/geckoview/domain/providers/tab_list.dart b/app/lib/features/geckoview/domain/providers/tab_list.dart
index 9aaaf51c..e2de1612 100644
--- a/app/lib/features/geckoview/domain/providers/tab_list.dart
+++ b/app/lib/features/geckoview/domain/providers/tab_list.dart
@@ -17,13 +17,11 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import 'package:collection/collection.dart';
import 'package:fast_equatable/fast_equatable.dart';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:weblibre/core/logger.dart';
import 'package:weblibre/features/geckoview/domain/providers.dart';
-import 'package:weblibre/features/geckoview/domain/providers/tab_delete_cache.dart';
part 'tab_list.g.dart';
@@ -51,10 +49,7 @@ class TabList extends _$TabList {
);
final tabListSub = eventService.tabListEvents.listen((tabs) {
- final deletedTabs = ref.read(tabDeleteCacheProvider);
- final equatableTabs = EquatableValue(
- tabs.whereNot(deletedTabs.contains).toList(),
- );
+ final equatableTabs = EquatableValue(tabs);
if (equatableTabs != state) {
state = equatableTabs;
diff --git a/app/lib/features/geckoview/domain/providers/tab_list.g.dart b/app/lib/features/geckoview/domain/providers/tab_list.g.dart
index b08b4984..39530d30 100644
--- a/app/lib/features/geckoview/domain/providers/tab_list.g.dart
+++ b/app/lib/features/geckoview/domain/providers/tab_list.g.dart
@@ -41,7 +41,7 @@ final class TabListProvider
}
}
-String _$tabListHash() => r'e93d68e7c362454e803711e5c38abcc8f188b427';
+String _$tabListHash() => r'0b9ca1e089a59895df4cbf28691c2849a7004f08';
abstract class _$TabList extends $Notifier>> {
EquatableValue> build();
diff --git a/app/lib/features/geckoview/domain/repositories/tab.dart b/app/lib/features/geckoview/domain/repositories/tab.dart
index ebd07a48..71b03d82 100644
--- a/app/lib/features/geckoview/domain/repositories/tab.dart
+++ b/app/lib/features/geckoview/domain/repositories/tab.dart
@@ -28,7 +28,6 @@ import 'package:weblibre/core/logger.dart';
import 'package:weblibre/features/geckoview/domain/entities/states/tab.dart';
import 'package:weblibre/features/geckoview/domain/providers.dart';
import 'package:weblibre/features/geckoview/domain/providers/selected_tab.dart';
-import 'package:weblibre/features/geckoview/domain/providers/tab_delete_cache.dart';
import 'package:weblibre/features/geckoview/domain/providers/tab_list.dart';
import 'package:weblibre/features/geckoview/domain/providers/tab_state.dart';
import 'package:weblibre/features/geckoview/features/tabs/data/models/container_data.dart';
@@ -349,8 +348,6 @@ class TabRepository extends _$TabRepository {
await _selectNextTab(tabId);
}
- ref.read(tabDeleteCacheProvider.notifier).delete(tabId);
-
return _tabsService.removeTab(tabId: tabId);
}
@@ -360,10 +357,6 @@ class TabRepository extends _$TabRepository {
await _selectNextTab(selectedTab!);
}
- for (final tabId in tabIds) {
- ref.read(tabDeleteCacheProvider.notifier).delete(tabId);
- }
-
return _tabsService.removeTabs(ids: tabIds);
}
diff --git a/app/lib/features/geckoview/domain/repositories/tab.g.dart b/app/lib/features/geckoview/domain/repositories/tab.g.dart
index 78387af2..0537411b 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'84c3abff33a3b2ad6af91b97d6d3c4e9efea4ac2';
+String _$tabRepositoryHash() => r'ef1116cbf09f456deae7a7d3f5cee3ba843d7430';
abstract class _$TabRepository extends $Notifier {
void build();