docs(core): clarify experimental domain versions

This commit is contained in:
2026-08-09 18:07:03 +02:00
parent 564b86c28c
commit b128457137
2 changed files with 6 additions and 3 deletions

View File

@@ -10,9 +10,10 @@ use crate::util::{non_empty, now_ms};
pub(crate) const MAX_CUSTOM_RELAYS: usize = 8; pub(crate) const MAX_CUSTOM_RELAYS: usize = 8;
pub(crate) const MAX_RELAY_URL_BYTES: usize = 2_048; pub(crate) const MAX_RELAY_URL_BYTES: usize = 2_048;
/// Versions the additive public domain seam and its two experimental wire protocols.
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, uniffi::Record)] #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, uniffi::Record)]
pub struct ExperimentalSavedDeviceCapabilities { pub struct ExperimentalSavedDeviceCapabilities {
pub api_version: u16, pub domain_contract_version: u16,
pub relationship_protocol_version: u16, pub relationship_protocol_version: u16,
pub targeted_transfer_protocol_version: u16, pub targeted_transfer_protocol_version: u16,
} }
@@ -20,7 +21,7 @@ pub struct ExperimentalSavedDeviceCapabilities {
#[uniffi::export] #[uniffi::export]
pub fn experimental_saved_device_capabilities() -> ExperimentalSavedDeviceCapabilities { pub fn experimental_saved_device_capabilities() -> ExperimentalSavedDeviceCapabilities {
ExperimentalSavedDeviceCapabilities { ExperimentalSavedDeviceCapabilities {
api_version: 1, domain_contract_version: 1,
relationship_protocol_version: 1, relationship_protocol_version: 1,
targeted_transfer_protocol_version: 1, targeted_transfer_protocol_version: 1,
} }
@@ -36,6 +37,7 @@ pub struct SavedDevice {
pub last_authenticated_at: Option<i64>, pub last_authenticated_at: Option<i64>,
} }
/// Durable consent lifecycle for one remote app-installation identity.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, uniffi::Enum)] #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, uniffi::Enum)]
pub enum DeviceRelationshipState { pub enum DeviceRelationshipState {
PendingOutgoing, PendingOutgoing,
@@ -56,6 +58,7 @@ pub struct DeviceRelationship {
pub updated_at: i64, pub updated_at: i64,
} }
/// Rust-owned lifecycle for an immutable one-sender, one-receiver transfer.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, uniffi::Enum)] #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, uniffi::Enum)]
pub enum TargetedTransferState { pub enum TargetedTransferState {
Preparing, Preparing,

View File

@@ -12,7 +12,7 @@ fn saved_device_protocols_are_explicitly_experimental_and_versioned() {
assert_eq!( assert_eq!(
experimental_saved_device_capabilities(), experimental_saved_device_capabilities(),
ExperimentalSavedDeviceCapabilities { ExperimentalSavedDeviceCapabilities {
api_version: 1, domain_contract_version: 1,
relationship_protocol_version: 1, relationship_protocol_version: 1,
targeted_transfer_protocol_version: 1, targeted_transfer_protocol_version: 1,
} }