pub struct InstallHeartbeatRequest {
pub install_id: String,
pub app_version: String,
pub os: String,
pub os_version: Option<String>,
pub arch: Option<String>,
pub locale: Option<String>,
pub distribution: Option<String>,
}Expand description
Body of POST /api/voice/installs/heartbeat. The daemon supplies
install_id + app_version; Client::install_heartbeat fills the
environment fields from SystemInfo::detect.
Fields§
§install_id: StringThe daemon’s persisted install UUID — the platform’s upsert key.
app_version: StringWaveKat Voice’s own version (env!("CARGO_PKG_VERSION") on the
daemon side) — not this crate’s version.
os: String§os_version: Option<String>§arch: Option<String>§locale: Option<String>§distribution: Option<String>How this copy was obtained — "direct" for a plain download,
"mas" for the sandboxed Mac App Store build. Unlike every other
field here it is not detectable: the two macOS builds share a
bundle id and a version, and the binary is identical, so only the
consumer knows which one it is shipping inside. Hence a caller
argument rather than part of SystemInfo.
Free text by contract, not an enum: the platform stores whatever
arrives so a new distribution can ship without a server release.
None when the consumer has nothing meaningful to say (a source
build, a package this crate has never heard of) — omitted from
the body entirely rather than sent as null.
Trait Implementations§
Source§impl Clone for InstallHeartbeatRequest
impl Clone for InstallHeartbeatRequest
Source§fn clone(&self) -> InstallHeartbeatRequest
fn clone(&self) -> InstallHeartbeatRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more