From e27fa68c1fa9f9953933ff8b43fbc2b74101705e Mon Sep 17 00:00:00 2001
From: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
Date: Thu, 30 Jul 2026 00:10:46 -0700
Subject: [PATCH] fix: address remote pairing review findings
---
.../sidebar/AddRemoteHostFields.test.tsx | 38 +++++++++++++++++++
.../sidebar/AddRemoteHostFields.tsx | 13 +++++--
src/renderer/src/web/web-preload-api.test.ts | 29 ++++++++++++++
src/renderer/src/web/web-preload-api.ts | 6 ++-
.../src/web/web-runtime-client-error.ts | 25 ++++++++++++
src/renderer/src/web/web-runtime-client.ts | 13 ++++---
src/shared/remote-pairing-address.test.ts | 4 ++
src/shared/remote-pairing-address.ts | 3 +-
8 files changed, 119 insertions(+), 12 deletions(-)
create mode 100644 src/renderer/src/components/sidebar/AddRemoteHostFields.test.tsx
create mode 100644 src/renderer/src/web/web-runtime-client-error.ts
diff --git a/src/renderer/src/components/sidebar/AddRemoteHostFields.test.tsx b/src/renderer/src/components/sidebar/AddRemoteHostFields.test.tsx
new file mode 100644
index 00000000000..631eb7b3025
--- /dev/null
+++ b/src/renderer/src/components/sidebar/AddRemoteHostFields.test.tsx
@@ -0,0 +1,38 @@
+import { renderToStaticMarkup } from 'react-dom/server'
+import { describe, expect, it, vi } from 'vitest'
+import { encodePairingOffer, PAIRING_OFFER_VERSION } from '../../../../shared/pairing'
+import { parseHostAccessLink } from '../../../../shared/remote-pairing-address'
+import { RemoteServerFields } from './AddRemoteHostFields'
+
+function loopbackAccessLink(): string {
+ return encodePairingOffer({
+ v: PAIRING_OFFER_VERSION,
+ endpoint: 'ws://127.0.0.1:6768',
+ deviceToken: 'token',
+ publicKeyB64: 'key',
+ scope: 'runtime'
+ })
+}
+
+describe('RemoteServerFields', () => {
+ it('associates blocked loopback guidance with the access-link input', () => {
+ const pairingCode = loopbackAccessLink()
+ const markup = renderToStaticMarkup(
+