Skip to main content

DefaultClient

Type Alias DefaultClient 

Source
pub type DefaultClient = Client<DefaultProvider>;
Expand description

The client this build establishes sessions with.

This alias is where the product’s provider choice lives, and it is the line decision 0056 step 4 flips. Client on its own defaults to the same thing, but Rust does not apply a default type parameter when inferring an associated function call, so Client::connect(..) cannot tell which provider it is for. Callers write DefaultClient::connect(..) instead.

Naming it here rather than making callers write the provider at every call site is what made the flip on 2026-08-04 one edit rather than a sweep: a caller says “the default”, not which provider it is.

It said Client<Party> until that day, and that was the bug the flip found. Naming the concrete provider here rather than crypto::DefaultProvider meant the client kept signing as libsignal after the server had moved to verifying as open-tacenta, and every provisioning attempt failed its possession check. Two halves of one deployment have to move together, which CryptoProvider::verify_challenge says in its own documentation; the seam was there and this alias was routing around it.

Aliased Type§

pub struct DefaultClient { /* private fields */ }