From b05c61dd0e7fde1caa4e040c445f424404f3df03 Mon Sep 17 00:00:00 2001 From: Isaiah Inuwa Date: Wed, 24 Jun 2026 17:27:26 -0500 Subject: [PATCH] daemon: Disable hybrid BLE transport by default, opt in with env var --- credentialsd/src/credential_service/hybrid.rs | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/credentialsd/src/credential_service/hybrid.rs b/credentialsd/src/credential_service/hybrid.rs index 9ddc2d7..c166865 100644 --- a/credentialsd/src/credential_service/hybrid.rs +++ b/credentialsd/src/credential_service/hybrid.rs @@ -53,15 +53,21 @@ impl HybridHandler for InternalHybridHandler { QrCodeOperationHint::GetAssertionRequest } }; - let mut device = - match CableQrCodeDevice::new_transient(hint, CableTransports::CloudAssistedOrLocal) - { - Ok(device) => device, - Err(err) => { - tracing::error!("Failed to create caBLE QR code device: {:?}", err); - return; - } - }; + let hybrid_transports = if std::env::var("CREDSD_ENABLE_HYBRID_BLE_TRANSPORT") + .map(|s| s.to_lowercase() == "true") + .unwrap_or_default() + { + CableTransports::CloudAssistedOrLocal + } else { + CableTransports::CloudAssistedOnly + }; + let mut device = match CableQrCodeDevice::new_transient(hint, hybrid_transports) { + Ok(device) => device, + Err(err) => { + tracing::error!("Failed to create caBLE QR code device: {:?}", err); + return; + } + }; let qr_code = device.qr_code.to_string(); if let Err(err) = tx.send(HybridStateInternal::Init(qr_code)).await { tracing::error!("Failed to send caBLE update: {:?}", err);