From 2b1400eb76c25bd56e45334a92910758151303a1 Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Mon, 22 Dec 2025 09:57:34 +0100 Subject: [PATCH] remove tab deletion cache --- .../domain/providers/tab_delete_cache.dart | 42 ------------- .../domain/providers/tab_delete_cache.g.dart | 63 ------------------- .../geckoview/domain/providers/tab_list.dart | 7 +-- .../domain/providers/tab_list.g.dart | 2 +- .../geckoview/domain/repositories/tab.dart | 7 --- .../geckoview/domain/repositories/tab.g.dart | 2 +- 6 files changed, 3 insertions(+), 120 deletions(-) delete mode 100644 app/lib/features/geckoview/domain/providers/tab_delete_cache.dart delete mode 100644 app/lib/features/geckoview/domain/providers/tab_delete_cache.g.dart 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();