pub struct PresencePeer {
pub user_id: String,
pub display_name: String,
pub groups: Vec<String>,
pub device_label: String,
pub role: String,
pub online: bool,
pub meta: String,
}Expand description
One reachable roster peer device as reported by status (the advisory presence read).
ADVISORY — this is a display convenience, never an authorization surface. Surface-clean:
FLAT vocabulary ONLY — a user_id, a human device_label, its role word, and an online
boolean. It carries NO EndpointId / pubkey / hash / ALPN or any transport vocabulary.
Fields§
§user_id: String§display_name: StringThe person’s human display name from the roster (#93). api_minor >= 46.
user_id is an authorization handle; this is what a UI puts next to a face. The roster
carried it all along and the control seam dropped it, so an embedder had a presence list it
could only label with an opaque id. Display-only — never an authz input.
Additive: absent from an older daemon’s payload, and empty when the roster’s own field is.
groups: Vec<String>The groups this person belongs to (#93). api_minor >= 46.
The same strings an allow entry names, so a UI can show why someone is admitted without
re-deriving it. Advisory display data: the gate reads the roster, never this. Additive.
device_label: String§role: String§online: boolWhether the device has a live presence heartbeat (advisory — absence never blocks a dial).
meta: StringThe device’s OPTIONAL embedder-set app metadata (#39) — an opaque ≤256B blob carried (signed) on its presence heartbeat, empty when the device set none. Advisory display data; never an authz input. Additive: default + skip-if-empty.
Trait Implementations§
Source§impl Clone for PresencePeer
impl Clone for PresencePeer
Source§fn clone(&self) -> PresencePeer
fn clone(&self) -> PresencePeer
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more