Skip to content

feat(connect): let hosts set their display name - #4850

Open
PixPMusic wants to merge 2 commits into
pingdotgg:mainfrom
PixPMusic:pixpmusic/connect-host-name
Open

feat(connect): let hosts set their display name#4850
PixPMusic wants to merge 2 commits into
pingdotgg:mainfrom
PixPMusic:pixpmusic/connect-host-name

Conversation

@PixPMusic

@PixPMusic PixPMusic commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a host-local Host name setting under Settings → Connections for web and desktop
  • use the configured name in live environment descriptors and as the default for newly paired manual connections
  • refresh relay-managed environment labels from verified health responses so renamed hosts propagate to other clients
  • fall back to the existing OS-detected computer name when the setting is cleared
  • keep web and mobile environment presentation in sync with the live server descriptor

Why

T3 Connect environment names were derived from the host operating system with no supported override. Relay-managed machines, especially remote hosts, could not choose a useful display name from the host itself.

Before / After

Before

Connections settings before host naming

After

Connections settings after setting a neutral host display name

The screenshots use an isolated test environment and the neutral example “Studio Mac”; no real machine hostname is shown.

Verification

  • vp test run packages/contracts/src/settings.test.ts apps/server/src/environment/ServerEnvironment.test.ts packages/client-runtime/src/state/server.test.ts packages/client-runtime/src/relay/discovery.test.ts infra/relay/src/environments/EnvironmentConnector.test.ts infra/relay/src/environments/EnvironmentLinks.test.ts infra/relay/src/agentActivity/AgentActivityPublisher.test.ts infra/relay/src/agentActivity/MobileRegistrations.test.ts infra/relay/src/environments/EnvironmentLinker.test.ts infra/relay/src/http/Api.test.ts — 105 tests passed
  • vp run --filter @t3tools/contracts --filter @t3tools/client-runtime --filter t3 --filter @t3tools/web --filter @t3tools/mobile --filter t3code-relay --concurrency-limit 2 typecheck
  • targeted formatting and lint for all changed files
  • git diff --check
  • isolated test-t3-app pass: verified the new row is absent on main, setting “Studio Mac” persists, and Connections renders the configured name without exposing the system hostname

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I added regression coverage
  • I included before/after UI evidence

Note

Let hosts set a custom display name for their environment

  • Adds environmentLabel to ServerSettings and ServerSettingsPatch schemas, defaulting to empty string when unset.
  • ServerEnvironment.getDescriptor now returns the persisted environmentLabel from settings when non-empty, falling back to the default label on read failure with a warning.
  • The Connections Settings page gains a "Host name" input field that writes to environmentLabel via updatePrimarySettings.
  • settingsUpdated WebSocket events now include the current environment descriptor, and the client-side projection in applyServerConfigProjection applies it.
  • The relay's EnvironmentConnector persists label changes reported in health responses via the new EnvironmentLinks.updateLabelForUser API, and relay discovery updates the stored label from status responses.

Macroscope summarized f7d7c28.

Model: GPT-5.6 Sol | Harness: Codex in T3 Code

@coderabbitai

coderabbitai Bot commented Jul 29, 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: a799522c-5c8d-4ce7-a49b-33525f9ffee2

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 size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Jul 29, 2026

@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.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit cce557d. Configure here.

Comment thread apps/web/src/components/settings/ConnectionsSettings.tsx
@macroscopeapp

macroscopeapp Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR introduces a new user-facing feature allowing hosts to set custom display names, with changes spanning contracts, server settings, relay infrastructure (database updates), WebSocket payloads, and UI components. New features with this scope warrant human review.

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

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.

1 participant