Repository navigation
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR introduces a new user-facing feature allowing hosts to customize their display name. The changes span server, relay, web, mobile, and contracts packages with new database operations and modified data flow for environment labels. New features of this scope warrant human review. You can add or adjust custom eligibility rules. Learn more. |
f7d7c28 to
1b689f9
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1b689f955fae75ffded96473ca0e13e695cabbcd. Configure here.
a718716 to
f03974b
Compare
|
Written by inayayousfi, typed by gpt-5.6-sol running in OpenCode. Thanks for working through the server-owned naming design. PR #7267 now implements the same core approach and extends it with authorized remote editing, a native mobile rename screen, duplicate-name confirmation, an explicit live label event, and direct environment-authenticated relay synchronization with bounded retries. Would you be open to closing this PR in favor of #7267? The overlap is substantial, and keeping one implementation should reduce the review and integration burden for maintainers. The remote-access documentation added here is useful and could still be carried over separately. |
f03974b to
1ef1fec
Compare

Continued in #18924. This PR remains closed at its historical head because GitHub refuses to reopen it after the deleted branch was recreated. The rebased code and current verification are on the replacement draft.
Hosts currently inherit their operating system's computer name. This adds a host-local Host name setting in Settings → Connections on web and desktop, so remote machines can choose a useful display name without changing the OS hostname or restarting the server.
Connected clients use the live server descriptor, including native mobile environment lists, routing settings, and connection notices. Clearing the setting restores the detected computer name. The field requires a connected server, the advertised capability, and settings write permission.
The relay accepts names only from verified health responses and orders persistence by their timestamp. Each verified health response records that timestamp, including unchanged names, so an older response cannot restore a name after it is cleared. This adds one conditional database update per verified health response.
Rebased onto
mainat540a3e89ed15a78129ff6bc91f561abddba8f6d8and adapted to the current permission commands, descriptor services, and shared client projections.Evidence
Actual client captures with synthetic showcase projects and threads, fresh test homes, and neutral computer-name fixtures. No local userdata was copied into the fixtures. The web comparison uses the baseline UI; native comparisons show the saved connection before and after the live rename.
Live rename reaching the connected iPhone.
Verification
vp test run packages/contracts/src/settings.test.ts packages/client-runtime/src/state/server.test.ts packages/client-runtime/src/state/presentation.test.ts packages/client-runtime/src/state/sharedSettings.test.ts packages/client-runtime/src/relay/discovery.test.ts infra/relay/src/environments/EnvironmentConnector.test.ts infra/relay/src/environments/EnvironmentLinks.test.ts apps/server/src/ws.test.ts apps/web/src/components/settings/settingsSearch.test.ts.ServerEnvironmenttests passed. Excludedpublishes proven install ownership only for manually updated servers, which also fails on baseline with the existing macOS/varversus/private/varprefix mismatch.git diff --checkpassed. Evidence and fixture tooling are outside the code branch.Remaining verification
🚀 Mobile Continuous Deploymentfor a preview using the configured Connect environment; the workflow also needs an availableEXPO_TOKEN. The preview does not deploy this PR's relay changes, so full relay persistence testing requires an updated relay deployment too.The calling provider no longer owns an active thread run.No claim is made that every installed simulator model was tested; devices owned by other sessions were left alone.Model: GPT-5.6 Sol & GPT-6.1 Sol | Harness: Codex in T3 Code
Note
Add
environmentLabeltoServerSettingsand let hosts set their display nameenvironmentLabeltoServerSettingsandServerSettingsPatchschemas in settings.ts, defaulting to an empty trimmed string so legacy configs decode unchanged.ServerEnvironment.getDescriptornow reads the current configured label at runtime (no restart), and the newgetDescriptorForSettingsreturns a descriptor snapshot for a given settings object in ServerEnvironment.ts.settingsUpdatedwebsocket event includes anenvironmentdescriptor in ws.ts, and clients project it into config state in server.ts.EnvironmentLinks.updateLabelForUserin EnvironmentConnector.ts, and client discovery updates labels from status descriptors in discovery.ts.ServerEnvironment.getDescriptornow depends onServerSettings; if settings cannot be read it logs a warning and falls back todefaultDescriptor. TheServerConfigSettingsUpdatedPayloadschema gains an optionalenvironmentfield that older clients will ignore.Macroscope summarized 4ae38b7.
Note
Medium Risk
Touches live server descriptors, WebSocket config events, and relay link persistence. Label updates are gated by verified health responses and a timestamp compare-and-set, but still change shared environment identity shown across clients.
Overview
Hosts can now set a Host name in Settings → Connections. That override is stored as
environmentLabelin server settings, applied live to the environment descriptor, and used as the default name for new manual connections. Clearing it falls back to the OS-detected computer name.settingsUpdatedWebSocket events now include the environment descriptor so web/mobile presentation tracks the live label without a restart. Relay health checks persist a renamed label onto the user’s environment link (updateLabelForUser) when the verified descriptor differs, so T3 Connect clients pick up the new name.Reviewed by Cursor Bugbot for commit 4ae38b7. Bugbot is set up for automated code reviews on this repo. Configure here.