From 7c252c852b0e732355db8ca40b397be1deb4b877 Mon Sep 17 00:00:00 2001 From: Marcin Sobczyk <msobczyk@syncad.com> Date: Thu, 13 Mar 2025 13:09:53 +0100 Subject: [PATCH] Start periodic update alarms/node data on unlock or create new profile --- clive/__private/ui/app.py | 5 +---- .../ui/forms/create_profile/finish_profile_creation_mixin.py | 4 +++- clive/__private/ui/screens/unlock/unlock.py | 2 ++ tests/tui/conftest.py | 4 +++- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/clive/__private/ui/app.py b/clive/__private/ui/app.py index c4975138ab..a3ad343c0d 100644 --- a/clive/__private/ui/app.py +++ b/clive/__private/ui/app.py @@ -245,10 +245,7 @@ class Clive(App[int]): def update_alarms_data_asap_on_newest_node_data(self) -> Worker[None]: """Update alarms on the newest possible node data.""" self.update_data_from_node() - worker = self.update_alarms_data() - self.resume_refresh_node_data_interval() - self.resume_refresh_alarms_data_interval() - return worker + return self.update_alarms_data() @work(name="alarms data update worker", group="alarms_data", exclusive=True) async def update_alarms_data(self) -> None: diff --git a/clive/__private/ui/forms/create_profile/finish_profile_creation_mixin.py b/clive/__private/ui/forms/create_profile/finish_profile_creation_mixin.py index 96fd80205d..ad69c5f655 100644 --- a/clive/__private/ui/forms/create_profile/finish_profile_creation_mixin.py +++ b/clive/__private/ui/forms/create_profile/finish_profile_creation_mixin.py @@ -13,7 +13,9 @@ class FinishProfileCreationMixin(FormScreenBase[CreateProfileContext]): self.app.run_worker(self._finish()) async def _finish(self) -> None: - self._owner.add_post_action(self.app.update_alarms_data_asap_on_newest_node_data) + self._owner.add_post_action( + self.app.update_alarms_data_asap_on_newest_node_data, self.app.resume_refresh_alarms_data_interval + ) profile = self.context.profile profile.enable_saving() diff --git a/clive/__private/ui/screens/unlock/unlock.py b/clive/__private/ui/screens/unlock/unlock.py index 0c5fa45424..194b55e9ca 100644 --- a/clive/__private/ui/screens/unlock/unlock.py +++ b/clive/__private/ui/screens/unlock/unlock.py @@ -124,6 +124,8 @@ class Unlock(BaseScreen): await self.app.switch_mode("dashboard") self._remove_welcome_modes() self.app.update_alarms_data_asap_on_newest_node_data() + self.app.resume_refresh_node_data_interval() + self.app.resume_refresh_alarms_data_interval() @on(Button.Pressed, "#new-profile-button") async def create_new_profile(self) -> None: diff --git a/tests/tui/conftest.py b/tests/tui/conftest.py index 483b394429..ba93a4058a 100644 --- a/tests/tui/conftest.py +++ b/tests/tui/conftest.py @@ -97,8 +97,10 @@ async def prepared_tui_on_dashboard(prepared_env: PreparedTuiEnv) -> PreparedTui node, wallet, pilot = prepared_env await pilot.app.world.load_profile(WORKING_ACCOUNT_DATA.account.name, WORKING_ACCOUNT_PASSWORD) - # update the data (pilot skips onboarding/unlocking via TUI - updating is handled there) + # update the data and resume timers (pilot skips onboarding/unlocking via TUI - updating is handled there) await pilot.app.update_alarms_data_asap_on_newest_node_data().wait() + pilot.app.resume_refresh_node_data_interval() + pilot.app.resume_refresh_alarms_data_interval() await pilot.app.push_screen(Dashboard()) await wait_for_screen(pilot, Dashboard) -- GitLab