Make relay opt-in when pairing devices (#2706)
* feat: make relay opt-in for device pairing * fix(relay): keep pairing state authoritative * fix(relay): refresh pairing state across transports * fix(onboard): honor explicit relay opt-out * fix(relay): surface transport startup failures * fix(pairing): gate offers for older daemons * test(cli): rely on real pairing transport coverage * fix(cli): report live relay without a pid file * fix(relay): synchronize config during daemon startup * fix(relay): preserve mutability for ignored overrides * fix(cli): use reachable daemon for pairing * fix(app): redirect invalid pair device routes * fix(pairing): support remote host device pairing Keep Pair Device host-relative through the existing settings and daemon RPC flow. Route CLI output through an injected adapter so workflow tests do not mutate process globals. * fix(pairing): validate pairing destinations Expose the host-relative Pair Device flow on every supported app platform. Reject a reachable daemon whose identity does not match the requested Paseo home before reading or mutating its pairing state. * fix(pairing): render QR codes across platforms Generate SVG text without DOM or canvas and render it through the existing cross-platform SVG stack. * fix(cli): pair from persisted relay state Allow explicit relay pairing while the daemon is stopped when relay is already enabled in persisted configuration.
This commit is contained in:
@@ -1451,9 +1451,21 @@ export const ptBR: TranslationResources = {
|
||||
loadingOffer: "Carregando oferta de pareamento...",
|
||||
failedToLoadOffer: "Falha ao carregar oferta de pareamento.",
|
||||
relayDisabled: "Relay não está ativado. Ative o relay para parear um dispositivo.",
|
||||
enableTitle: "Ativar o relay?",
|
||||
enableDescription:
|
||||
"O relay permite conectar este dispositivo de qualquer lugar. O tráfego de pareamento é criptografado de ponta a ponta.",
|
||||
relayDocs: "Como o relay funciona",
|
||||
relayDocsAccessibility: "Leia como o relay do Paseo funciona",
|
||||
enableRelay: "Ativar relay",
|
||||
enablingRelay: "Ativando...",
|
||||
notNow: "Agora não",
|
||||
directConnectionHint:
|
||||
"Sem relay, conecte diretamente por TCP, Tailscale ou outra VPN. Nenhum código QR é criado.",
|
||||
updateRequired: "Atualize o host para ativar o relay pelo Paseo Desktop.",
|
||||
unavailable: "Oferta de pareamento indisponível.",
|
||||
hint: "Escaneie este QR code com o Paseo no seu celular ou copie o link abaixo.",
|
||||
qrUnavailable: "QR code indisponível.",
|
||||
qrAccessibility: "Código QR de pareamento",
|
||||
retry: "Tentar novamente",
|
||||
copy: "Copiar",
|
||||
copied: "Copiado",
|
||||
|
||||
Reference in New Issue
Block a user