Skip to content

fix(tui): graceful error handling, stale-data cleanup, concurrent discovery#1862

Merged
gtema merged 1 commit into
mainfrom
sanity
Jul 14, 2026
Merged

fix(tui): graceful error handling, stale-data cleanup, concurrent discovery#1862
gtema merged 1 commit into
mainfrom
sanity

Conversation

@gtema

@gtema gtema commented Jul 14, 2026

Copy link
Copy Markdown
Owner
  • Make SwitchToRegion, CloudChangeScope and ConnectToCloud emit
    Action::Error instead of panicking when auth or service discovery
    fails, keeping the worker loop alive.

  • Broadcast ConnectToCloud, CloudChangeScope, and SwitchToRegion to
    all registered popups (not just the active one) so they can
    immediately clear stale data.

  • Add stale-data clearing to project_select_popup, region_select_popup,
    home, and generic_resource_view on cloud/scope/region changes.

  • Emit Action::Regions after ConnectToCloud and CloudChangeScope so
    the region popup stays in sync.

  • Guard project_select_popup fetch logic with is_loading and
    items_fetched to prevent duplicate PerformApiRequest calls on every
    popup open while guaranteeing a fresh fetch after cloud switches.

  • Discover service endpoints concurrently using try_join_all.
    Connect time now depends on the slowest service rather than the
    sum of all six. TUI_SERVICES constant drives all call sites.

Signed-off-by: Artem Goncharov artem.goncharov@gmail.com

- Make SwitchToRegion, CloudChangeScope and ConnectToCloud emit
  Action::Error instead of panicking when auth or service discovery
  fails, keeping the worker loop alive.

- Broadcast ConnectToCloud, CloudChangeScope, and SwitchToRegion to
  all registered popups (not just the active one) so they can
  immediately clear stale data.

- Add stale-data clearing to project_select_popup, region_select_popup,
  home, and generic_resource_view on cloud/scope/region changes.

- Emit Action::Regions after ConnectToCloud and CloudChangeScope so
  the region popup stays in sync.

- Guard project_select_popup fetch logic with is_loading and
  items_fetched to prevent duplicate PerformApiRequest calls on every
  popup open while guaranteeing a fresh fetch after cloud switches.

- Discover service endpoints concurrently using try_join_all.
  Connect time now depends on the slowest service rather than the
  sum of all six. TUI_SERVICES constant drives all call sites.

Signed-off-by: Artem Goncharov <artem.goncharov@gmail.com>
@gtema
gtema merged commit 2e9fa14 into main Jul 14, 2026
20 checks passed
@gtema-release-plz gtema-release-plz Bot mentioned this pull request Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant