Skip to content

feat(web): remote environments show which OS they run on - #5778

Open
AadiJo wants to merge 4 commits into
pingdotgg:mainfrom
AadiJo:os-indicator-remote-environments
Open

feat(web): remote environments show which OS they run on#5778
AadiJo wants to merge 4 commits into
pingdotgg:mainfrom
AadiJo:os-indicator-remote-environments

Conversation

@AadiJo

@AadiJo AadiJo commented Aug 9, 2026

Copy link
Copy Markdown

What Changed

Remote environments in Settings → Connections now show an OS glyph beside each environment name, making Mac, Linux, and Windows machines easy to distinguish.

The platform is resolved from the cached server config first so disconnected environments keep their glyph, then from the relay discovery descriptor for T3 Connect rows. Environments with no known platform render without a placeholder.

Why

Remote environments previously looked identical in the connections list, making it difficult to identify the right machine when several were paired.

This is a web-only presentation change. The server, relay, and mobile environment list are unchanged.

Screenshots

Before:
image

After:

image image

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Low Risk
Web-only presentation with no API, auth, or data-model changes; behavior is covered by new unit tests.

Overview
Remote environments in Settings → Connections and the T3 Connect list now show a small macOS, Windows, or Linux glyph next to each name so paired machines are easier to tell apart.

Platform comes from new resolveEnvironmentOs: cached serverConfig wins so offline saved environments keep their icon; relay discovery fills in for environments this client never connected to. Unknown or missing platform renders no placeholder.

New EnvironmentOsIcon plus theme-aware SVG marks in OsIcons.tsx drive the UI. Connect rows take optional serverConfig on saved connections; unit tests cover resolution and offline relay behavior.

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

Note

Show OS icon on remote environment rows in the connection list and settings

  • Adds EnvironmentOsIcon in EnvironmentOsIcon.tsx that renders an Apple, Linux, or Windows SVG glyph based on the environment's reported OS, and renders nothing for null or 'unknown'.
  • Adds resolveEnvironmentOs in ConnectionsSettings.logic.ts to pick the OS by preferring the cached serverConfig over the relay discovery descriptor.
  • Renders the icon beside the environment label in both the cloud connect list and the saved backends settings view, falling back gracefully when no OS is known.

Macroscope summarized b6061db.

@coderabbitai

coderabbitai Bot commented Aug 9, 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: d8a70703-4f5b-473e-a358-bb352617a93b

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:L 100-499 changed lines (additions + deletions). labels Aug 9, 2026
Comment thread apps/web/src/components/cloud/CloudEnvironmentConnectList.tsx
@AadiJo
AadiJo force-pushed the os-indicator-remote-environments branch from 61c2c87 to 282ea7e Compare August 9, 2026 02:55
@macroscopeapp

macroscopeapp Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved b6061db

Purely presentational changes that add OS icons (macOS/Windows/Linux) to remote environment lists. No runtime behavior changes beyond displaying icons based on existing platform data. Includes comprehensive test coverage.

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

Comment thread apps/web/src/components/cloud/CloudEnvironmentConnectList.tsx
@sguergachi

Copy link
Copy Markdown

can the glyphs be monochrome? Think it'll look better.

@AadiJo

AadiJo commented Aug 9, 2026

Copy link
Copy Markdown
Author

I experimented with that, but the Linux icon always looked off being in monochrome. MacOS and windows were always fine. image

@AadiJo

AadiJo commented Aug 9, 2026

Copy link
Copy Markdown
Author
image

I think I got the linux icon to look somewhat decent

AadiJo added 3 commits August 9, 2026 10:36
Adds an OS glyph beside each remote environment's name in Settings →
Connections, using svgl logos.

The platform is already carried on the environment descriptor, so no
server or relay change is needed. Saved rows read the cached server
config (so a disconnected environment keeps its glyph); T3 Connect rows
fall back to the relay discovery descriptor. An environment that has
never connected and is currently unreachable has no descriptor in either
source and renders no glyph.
Pass each saved environment's cached server config into OS resolution before falling back to relay discovery. Add a component regression test for an offline saved environment with a cached Windows config.
The colour marks pulled focus in a list that is mostly muted text, and
svgl's Tux shipped 21 gradient and filter definitions for a glyph that
renders at 14px.

Every mark now draws in currentColor so it inherits the row's text
colour. Apple keeps a faint rim to separate its silhouette from the
surface; Windows takes none, because a stroke closes up the gutters
between its four panes at this size. Tux swaps to Simple Icons' single
path, with the face drawn in a contrasting tone per theme — svgl's
artwork defines the eyes and beak through colour alone and flattens
into an unreadable blob.
@AadiJo
AadiJo force-pushed the os-indicator-remote-environments branch from 8e1aab3 to ad47084 Compare August 9, 2026 15:37

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit ad47084. Configure here.

Comment thread apps/web/src/components/OsIcons.tsx
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Aug 9, 2026
The face was painted with `background`, which only matches when the row
sits on the page canvas. These rows also render on the popover of the
T3 Connect onboarding dialog, where that paints a mismatched dark patch
over the body rather than reading as a cutout.

Draw the face in a fixed dark tone instead. It only has to stay darker
than the muted body, which holds on every surface and in both themes.
@macroscopeapp
macroscopeapp Bot dismissed their stale review August 9, 2026 16:50

Dismissing prior approval to re-evaluate b6061db

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

Labels

size:L 100-499 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.

2 participants