OpenRTC Tauri Plugin
First-party Tauri v2 host integration for the native OpenRTC runtime.
[]
= "1.0.1"
The plugin owns native managed-session startup, auth relay, lifecycle events,
and host-reported transport capabilities. Product protocols, filesystem policy,
queues, and UI state remain application responsibilities. Optional transport
features mirror the core crate: transport-lan, transport-webrtc,
transport-moq, and transport-ble.
Rust 1.91 or newer is required. JavaScript consumers should pair this crate
with openrtc@^1.0.2 and openrtc-tauri@^1.0.0.
Native Custom Transports
The plugin exposes a compile-time Rust host extension point:
NativeTransportInstaller, registered on OpenRtcTauriState with
with_native_transport_installer(...) before calling init_with_state(...).
An installer may attach a host-owned transport before the shared Iroh endpoint
starts and keeps its runtime object alive for that client. It declares compiled
support only; transports.ble remains the application request and runtime
status remains the capability truth.
This is not a TypeScript extension API. The published openrtc,
openrtc/runtime, openrtc/transport, and openrtc-tauri packages do not
register arbitrary transport adapters. The reference BLE companion is
unpublished and distribution-gated. On 2026-07-22, the source-rebuilt Plutonium
host passed the operator-gated macOS/iPhone BLE lane: bilateral admission,
protected files in both directions, iPhone restart recovery, a 10-second
post-recovery settlement gate, and 61.4 seconds of unchanged BLE generations
with continued protected traffic. BLE remains an
experimental/private host integration until its packaging and licensing gates
are resolved; this evidence does not make it part of the public plugin binary.
When a host installs BLE, the plugin reports that compiled capability to the runtime; configuration alone never advertises it. OpenRTC keeps the admitted Iroh base route alive while attempting an atomic BLE replacement and retries a transient failure at most three times for the current connection generation. Consumer code must not add scanning, replacement, or retry timers.