Skip to content

feat(mobile): add a refresh-all button to the environments screen - #5022

Closed
carTloyal123 wants to merge 1 commit into
pingdotgg:mainfrom
carTloyal123:feat/mobile-refresh-environments
Closed

feat(mobile): add a refresh-all button to the environments screen#5022
carTloyal123 wants to merge 1 commit into
pingdotgg:mainfrom
carTloyal123:feat/mobile-refresh-environments

Conversation

@carTloyal123

@carTloyal123 carTloyal123 commented Jul 30, 2026

Copy link
Copy Markdown

What changed

Adds an arrow.clockwise button to the Environments settings header, next to the existing add-environment button, that retries every registered environment at once.

Why it earns its place

This is not a placebo refresh. onReconnectEnvironment bottoms out in environmentCatalog.retryNow, which short-circuits the reconnect backoff — so it is the one way to escape a long backoff delay without waiting it out. That is exactly the moment a user is staring at a stale list wanting to do something about it.

It also pairs with the workspace status indicator, which already navigates to this screen: the status reports that something is wrong, and this is the remedy sitting where the user lands.

Details

  • Disabled when no environments are registered, so it can never be a dead tap.
  • Wired into both header styles — NativeHeaderToolbar on iOS, AndroidScreenHeader actions on Android.
  • Retries every environment, including already-connected ones. Harmless (it just re-establishes) and matches the plain reading of "refresh all". Easy to narrow to only disconnected/backing-off environments if reviewers prefer.

Verification

  • tsc --noEmit clean
  • Mobile suite green

No screenshots: this adds one standard header icon button in the existing toolbar and changes nothing else visually.

Kept separate from the status-bar fix so the two stay independently reviewable.


Note

Low Risk
UI-only addition reusing existing reconnect plumbing; no new auth or data paths, with harmless duplicate retries for already-connected environments.

Overview
Adds a refresh all header action on the Environments settings screen so users can trigger reconnect for every registered environment in one tap.

handleRefreshAll loops connectedEnvironments and calls onReconnectEnvironment for each id (backed by retryNow, so it can skip long reconnect backoff). The arrow.clockwise control is disabled when there are no environments. The same action is wired on Android (AndroidScreenHeader actions) and iOS (NativeHeaderToolbar.Button), with ordering comments so both platforms show refresh beside the existing add button.

Reviewed by Cursor Bugbot for commit 89e4504. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add a refresh-all button to the environments settings screen

Adds a "Refresh all environments" toolbar button to SettingsEnvironmentsRouteScreen that calls onReconnectEnvironment for every connected environment. The button is disabled when no environments are connected. On Android it appears before the add button; on iOS it appears after (due to UIKit ordering).

Macroscope summarized 89e4504.

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 64974e57-f18b-482d-94ac-9a034baa3c75

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Jul 30, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 30, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved 89e4504

Simple additive UI change that adds a refresh-all button. The implementation reuses existing onReconnectEnvironment functionality in a loop - no new behavior is introduced, just a new way to trigger existing reconnection logic.

You can customize Macroscope's approvability policy. Learn more.

Adds an `arrow.clockwise` button to the Environments settings header,
alongside the existing add-environment button, that retries every
registered environment at once.

This is not a placebo refresh. `onReconnectEnvironment` bottoms out in
`environmentCatalog.retryNow`, which short-circuits the reconnect
backoff — so this is the one way to escape a long backoff delay without
waiting it out, which is exactly the moment a user is staring at a stale
list wanting to do something about it.

It pairs with the workspace status indicator, which already navigates
here: the status reports that something is wrong, and this is the
remedy.

Disabled when there are no environments registered, so it can never be a
dead tap. Wired into both header styles — NativeHeaderToolbar on iOS and
AndroidScreenHeader actions on Android.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@carTloyal123
carTloyal123 force-pushed the feat/mobile-refresh-environments branch from eaa5f9a to 89e4504 Compare July 30, 2026 19:24
@macroscopeapp
macroscopeapp Bot dismissed their stale review July 30, 2026 19:25

Dismissing prior approval to re-evaluate 89e4504

@carTloyal123

Copy link
Copy Markdown
Author

Honestly this is slop, sorry :/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant