Uh oh!
There was an error while loading. Please reload this page.
fix(remote-input): preserve phone trust across restarts and IP changes - #1037
Draft
zhou-zhichao wants to merge 1 commit into
Draft
fix(remote-input): preserve phone trust across restarts and IP changes#1037zhou-zhichao wants to merge 1 commit into
zhou-zhichao wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Remote input currently replaces the certificate trusted by the phone whenever a new LAN or virtual-adapter IP appears. For example, a virtual adapter changing from one private subnet to another invalidates Safari's earlier trust even when the actual Wi-Fi address stays the same. The phone setup panel is also hidden, and the downloadable root profile contains a non-CA server certificate.
This change persists a unique CA per computer and uses it to sign a separate server certificate. Restarts reuse the identity; new addresses or approaching leaf expiry reissue only the server certificate. The identity is saved as one atomic private bundle, and damaged, mismatched, or expiring CA material causes an explicit error rather than silently replacing the trust anchor. Tauri and Linux egui share this implementation and both serve public CA downloads as
.cerand.mobileconfigfiles.The phone pairing page now has a collapsed, accessible setup panel with separate iPhone and Android downloads. Desktop settings can copy the iPhone profile URL. All five locales explain installation and full trust, and profile identifiers include the CA fingerprint so different computers do not replace each other's profiles.
Older installations need a one-time certificate replacement. iOS still requires the user to install the profile and enable full trust; this is not silently automatable by a desktop app. The CA can issue certificates, so the UI and documentation describe its trust scope and removal. Existing v4 files remain available for rollback, and ordinary upgrades preserve the new identity in user configuration. See
docs/remote-input-certificates.mdfor backup, recovery, and continuous-uptime limits.Validation:
cargo check --lockedpass (existing unrelated warnings remain).