feat(bridge): show node ip in pairing

This commit is contained in:
Peter Steinberger
2025-12-13 01:57:40 +00:00
parent 416c376077
commit 7ef83311bb
4 changed files with 25 additions and 3 deletions

View File

@@ -73,7 +73,14 @@ actor BridgeConnectionHandler {
case "pair-request":
let req = try self.decoder.decode(BridgePairRequest.self, from: data)
self.nodeId = req.nodeId
let result = await handlePair(req)
let enriched = BridgePairRequest(
type: req.type,
nodeId: req.nodeId,
displayName: req.displayName,
platform: req.platform,
version: req.version,
remoteAddress: self.remoteAddressString())
let result = await handlePair(enriched)
await self.handlePairResult(
result,
serverName: Host.current().localizedName ?? ProcessInfo.processInfo.hostName)
@@ -114,6 +121,16 @@ actor BridgeConnectionHandler {
await self.close(with: onDisconnected)
}
private func remoteAddressString() -> String? {
switch self.connection.endpoint {
case let .hostPort(host: host, port: _):
let value = String(describing: host)
return value.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty ? nil : value
default:
return nil
}
}
private func handlePairResult(_ result: PairResult, serverName: String) async {
switch result {
case let .ok(token):