use fire immediatialy

This commit is contained in:
Fabian Freund
2025-06-15 21:27:41 +02:00
parent 81ecb69cce
commit 9b7286ffd4
6 changed files with 67 additions and 31 deletions
@@ -244,7 +244,10 @@ class TabRepository extends _$TabRepository {
);
});
ref.listen(selectedTabProvider, (previous, tabId) async {
ref.listen(fireImmediately: true, selectedTabProvider, (
previous,
tabId,
) async {
if (tabId != null) {
_previousTabId = previous;
await db.tabDao.touchTab(tabId, timestamp: DateTime.now());
@@ -16,6 +16,7 @@ class EngineSettingsReplicationService
var initialSettingsSent = false;
ref.listen(
fireImmediately: true,
generalSettingsRepositoryProvider.select(
(settings) => settings.themeMode,
),
@@ -30,7 +31,10 @@ class EngineSettingsReplicationService
},
);
ref.listen(engineSettingsRepositoryProvider, (previous, next) async {
ref.listen(fireImmediately: true, engineSettingsRepositoryProvider, (
previous,
next,
) async {
if (initialSettingsSent && previous != null) {
if (previous.javascriptEnabled != next.javascriptEnabled) {
await _service.javascriptEnabled(next.javascriptEnabled);
@@ -12,16 +12,18 @@ class ProxySettingsReplication extends _$ProxySettingsReplication {
@override
void build() {
ref.listen(torProxyServiceProvider.select((data) => data.valueOrNull), (
previous,
next,
) async {
if (next != null) {
await _service.setProxyPort(next);
}
});
ref.listen(
fireImmediately: true,
torProxyServiceProvider.select((data) => data.valueOrNull),
(previous, next) async {
if (next != null) {
await _service.setProxyPort(next);
}
},
);
ref.listen(
fireImmediately: true,
containersWithCountProvider.select(
(value) => EquatableValue(
value.valueOrNull
@@ -152,30 +152,50 @@ class _BrowserViewState extends ConsumerState<BrowserView>
WidgetsBinding.instance.addObserver(this);
//Initialize and register dependencies
ref.listenManual(tabRepositoryProvider, (previous, next) {});
ref.listenManual(selectionActionServiceProvider, (previous, next) {});
ref.listenManual(
fireImmediately: true,
tabRepositoryProvider,
(previous, next) {},
);
ref.listenManual(
fireImmediately: true,
selectionActionServiceProvider,
(previous, next) {},
);
ref.listenManual(
fireImmediately: true,
webExtensionsStateProvider(WebExtensionActionType.browser),
(previous, next) {},
);
ref.listenManual(
fireImmediately: true,
webExtensionsStateProvider(WebExtensionActionType.page),
(previous, next) {},
);
ref.listenManual(cacheRepositoryProvider, (previous, next) {});
ref.listenManual(
fireImmediately: true,
cacheRepositoryProvider,
(previous, next) {},
);
ref.listenManual(
fireImmediately: true,
engineSettingsReplicationServiceProvider,
(previous, next) {},
);
ref.listenManual(proxySettingsReplicationProvider, (previous, next) {});
ref.listenManual(
fireImmediately: true,
proxySettingsReplicationProvider,
(previous, next) {},
);
ref.listenManual(
fireImmediately: true,
articleContentProcessorServiceProvider,
(previous, next) {},
);
@@ -108,7 +108,10 @@ class TorProxyService extends _$TorProxyService {
await _tor.initializeService();
ref.listen(browserViewLifecycleProvider, (previous, next) {
ref.listen(fireImmediately: true, browserViewLifecycleProvider, (
previous,
next,
) {
switch (next) {
case AppLifecycleState.resumed:
if (_timerPaused) {