Skip to main content

Module pairing

Module pairing 

Source
Expand description

Camera-readable join links for the browser and native live-session hosts.

QR codes carry an expiring participant invitation, never a room credential. Parsing does not join a room or grant permission for plaintext transport. The host must still validate admission and the user must opt into local HTTP.

use konjure_lang::live::pairing::{PairingLink, qr_svg};
let url = "https://kreate.alkem.dev/#join=0123456789&relay=https%3A%2F%2Flive.example";
let link = PairingLink::parse(url)?;
assert_eq!(link.relay, "https://live.example");
assert!(!link.allow_plain);
assert!(qr_svg(url)?.contains("<svg"));

Structs§

PairingError
A malformed invitation or frame, without echoing camera payloads or credentials.
PairingLink
Validated participant invitation. This contains no owner or session token.
QrObservation
Camera-space QR candidate with an optional checked invitation. Corner order is top-left, top-right, bottom-right, bottom-left in normalized upright image coordinates. These are image observations, not world or eye calibration.

Constants§

MAX_LINK_BYTES
Maximum encoded invitation length; bounds parsing and QR density.
MAX_SCAN_DIMENSION
Maximum frame dimension accepted by the optional native decoder.

Functions§

qr_svg
Encodes a checked join URL as an opaque black/white SVG with a four-module quiet zone. Rendering stays in Rust; browsers only display the returned image.