mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-24 22:45:19 +00:00
* Fix launch crash: recursive dispatch_once between NostrRelayManager and NetworkActivationService NostrRelayManager.init() runs applyDefaultRelayPolicy(force: true), which calls dependencies.activationAllowed() when the user has location permission or a mutual favorite. That closure resolves NetworkActivationService.shared, whose init captured NostrRelayManager.shared — re-entering the still-running dispatch_once on the same thread. libdispatch traps on recursive dispatch_once (EXC_BREAKPOINT in _dispatch_once_wait), killing the app ~50ms after launch, before the first frame. Fresh installs were unaffected (no permission, no favorites, so the policy path never touched NetworkActivationService during init), which is why this passed local testing but crashed established TestFlight users on every launch. Two independent TestFlight crash reports on 1.5.2 (1) show the identical stack. Break the cycle by resolving the relay controller lazily: store a provider closure in init and dereference NostrRelayManager.shared on first use (start()/reevaluate()), after both singletons have finished initializing. The injectable test initializer keeps its signature. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Bump version to 1.5.3 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: jack <jackjackbits@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
13 lines
276 B
Plaintext
13 lines
276 B
Plaintext
MARKETING_VERSION = 1.5.3
|
|
CURRENT_PROJECT_VERSION = 1
|
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 16.0
|
|
MACOSX_DEPLOYMENT_TARGET = 13.0
|
|
SWIFT_VERSION = 5.0
|
|
|
|
DEVELOPMENT_TEAM = L3N5LHJD5Y
|
|
CODE_SIGN_STYLE = Automatic
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = chat.bitchat
|
|
APP_GROUP_ID = group.chat.bitchat
|