eufy-mega / core/contracts / SnapshotUnavailableReason
Type Alias: SnapshotUnavailableReason
ts
type SnapshotUnavailableReason = "offline" | "no-still";Why MediaProvider.snapshot could not produce a still. Deliberately only the reasons the TRANSPORT can actually determine from reachability — "offline" (the P2P session never resolved / connected) and "no-still" (the device was reachable but has no stored still and a live burst yielded no frame). A privacy-/disabled-camera reason is intentionally NOT here: that's model state the transport can't read without violating capability↔transport decorrelation, and a host already knows its own camera-enabled state (e.g. dev.camera()?.privacy) to decide that before asking.