From 8bf2bc629be76bf037182768adfc24301996d2ad Mon Sep 17 00:00:00 2001 From: Taksh Date: Fri, 31 Jul 2026 14:02:29 +0300 Subject: [PATCH] docs: explain BLE wake-on-proximity accessory prompt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clarify the iOS “accessory would like to open bitchat” modal in Bluetooth usage strings and App Info privacy copy (#1427). --- bitchat/Info.plist | 4 ++-- bitchat/Views/AppInfoView.swift | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/bitchat/Info.plist b/bitchat/Info.plist index 57ddfa11..c2bf1840 100644 --- a/bitchat/Info.plist +++ b/bitchat/Info.plist @@ -36,9 +36,9 @@ LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSBluetoothAlwaysUsageDescription - bitchat uses Bluetooth to create a secure mesh network for chatting with nearby users. + bitchat uses Bluetooth to create a secure mesh with nearby users. While backgrounded, a nearby peer may ask iOS to reopen bitchat so the mesh can reach you — that system prompt is expected. NSBluetoothPeripheralUsageDescription - bitchat uses Bluetooth to discover and connect with other bitchat users nearby. + bitchat uses Bluetooth to discover and connect with nearby users. Background reconnects can show an iOS “accessory would like to open bitchat” prompt; allow it to stay reachable, or dismiss if you prefer not to wake. NSCameraUsageDescription bitchat uses the camera to scan QR codes to verify peers. NSLocationWhenInUseUsageDescription diff --git a/bitchat/Views/AppInfoView.swift b/bitchat/Views/AppInfoView.swift index cb99fbac..101f8973 100644 --- a/bitchat/Views/AppInfoView.swift +++ b/bitchat/Views/AppInfoView.swift @@ -221,6 +221,21 @@ struct AppInfoView: View { title: "app_info.privacy.ephemeral.title", description: "app_info.privacy.ephemeral.description" ) + /// Explains the iOS 26 “accessory would like to open bitchat” + /// modal from wake-on-proximity (#1427 / #1396). + static let wakeProximity = AppInfoFeatureInfo( + icon: "antenna.radiowaves.left.and.right", + resolvedTitle: String( + localized: "app_info.privacy.wake_proximity.title", + defaultValue: "Background mesh wake", + comment: "App Info privacy feature title explaining BLE wake-on-proximity" + ), + resolvedDescription: String( + localized: "app_info.privacy.wake_proximity.description", + defaultValue: "while closed, nearby peers may reopen bitchat over bluetooth so the mesh can reach you — the ios “accessory would like to open bitchat” prompt is that wake, and is safe to allow", + comment: "App Info privacy feature description for the iOS accessory wake modal" + ) + ) static let panic = AppInfoFeatureInfo( icon: "hand.raised.fill", title: "app_info.privacy.panic.title", @@ -814,6 +829,8 @@ struct AppInfoView: View { FeatureRow(info: Strings.Privacy.ephemeral) + FeatureRow(info: Strings.Privacy.wakeProximity) + FeatureRow(info: Strings.Privacy.panic) }