use thiserror::Error;
#[non_exhaustive]
#[derive(Debug, Error)]
pub enum WireError {
#[error("failed to read Wire IndexedDB store at {path}: {detail}")]
Read {
path: String,
detail: String,
},
#[error("Wire profile at {base} has no IndexedDB store at the expected path {relative}")]
StoreNotFound {
base: String,
relative: String,
},
#[error(
"message payload is client-side (Proteus) encrypted; Wire's message key is NOT held in \
the Chromium OS Safe Storage, so the plaintext is unrecoverable from this artifact"
)]
EncryptedPayloadUnrecoverable,
#[error("record value could not be decoded from its Blink/V8 blob: {0}")]
UndecodedValue(String),
}