Skip to content

Commit 8bf9ac6

Browse files
committed
bump: 6.10.1+179
1 parent 777927d commit 8bf9ac6

3 files changed

Lines changed: 24 additions & 13 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,17 @@ All notable changes to Bull Bitcoin Mobile will be documented in this file.
99

1010
---
1111

12+
## [6.10.1] - 2026-05-12
13+
14+
### Bug Fixes
15+
16+
- **iOS background tasks now actually execute**: Registered Flutter plugins in the workmanager background isolate via `WorkmanagerPlugin.setPluginRegistrantCallback`. Without this, every iOS background fire (`bitcoin-sync`, `liquid-sync`, `swaps-sync`, `logs-prune`) crashed at plugin init with `Unable to establish connection on channel: dev.flutter.pigeon.shared_preferences_foundation.LegacyUserDefaultsApi.getAll` because the background `FlutterEngine` started with an empty plugin registry. Periodic syncs now run for the first time.
17+
- **No more "App Init Error -25308" on iOS**: Made the legacy Hive box open lazily — the keychain read for its encryption key now fires only when a v4/v5 migration path actually needs old data, instead of eagerly during DI bootstrap. Previously, every iOS pre-warmed app spawn (which runs `application:didFinishLaunchingWithOptions:` before the user has unlocked the device since boot) crashed app init with `errSecInteractionNotAllowed`. The Future cache also self-clears on failure so a later post-unlock attempt succeeds.
18+
- **Keychain-locked state no longer conflated with "seed missing"**: The iOS keychain error `-25308 / errSecInteractionNotAllowed` is now mapped to a typed `KeychainLockedException` at the secure-storage datasource layer (both fss10 and the legacy fss9 paths). The seed datasource explicitly rethrows it before its `SeedNotFoundException` fallback, preventing a transient pre-unlock failure from being mistaken for a missing wallet seed and triggering destructive recovery flows downstream.
19+
- **Logs no longer interleave between foreground and background isolates**: Main and workmanager isolates now write to separate files (`bull_logs.tsv` and `bull_background_logs.tsv`). When iOS spawns the app process to fire a periodic task, both engines can be alive simultaneously inside the same process; previously their concurrent writes to a single TSV file tore log lines mid-string. The log viewer and share/export paths merge both files by timestamp on read, so the user-visible behavior is unchanged.
20+
21+
---
22+
1223
## [6.8.0] - 2026-03-17
1324

1425
### New Features

ios/Runner.xcodeproj/project.pbxproj

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -488,11 +488,11 @@
488488
buildSettings = {
489489
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
490490
CLANG_ENABLE_MODULES = YES;
491-
CURRENT_PROJECT_VERSION = 178;
491+
CURRENT_PROJECT_VERSION = 179;
492492
DEVELOPMENT_TEAM = BX99T32YGS;
493493
ENABLE_BITCODE = NO;
494-
FLUTTER_BUILD_NAME = 6.10.0;
495-
FLUTTER_BUILD_NUMBER = 178;
494+
FLUTTER_BUILD_NAME = 6.10.1;
495+
FLUTTER_BUILD_NUMBER = 179;
496496
INFOPLIST_FILE = Runner/Info.plist;
497497
INFOPLIST_KEY_CFBundleDisplayName = BULL;
498498
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance";
@@ -501,7 +501,7 @@
501501
"$(inherited)",
502502
"@executable_path/Frameworks",
503503
);
504-
MARKETING_VERSION = 6.10.0;
504+
MARKETING_VERSION = 6.10.1;
505505
PRODUCT_BUNDLE_IDENTIFIER = com.bullbitcoin.app;
506506
PRODUCT_NAME = "$(TARGET_NAME)";
507507
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -679,11 +679,11 @@
679679
buildSettings = {
680680
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
681681
CLANG_ENABLE_MODULES = YES;
682-
CURRENT_PROJECT_VERSION = 178;
682+
CURRENT_PROJECT_VERSION = 179;
683683
DEVELOPMENT_TEAM = BX99T32YGS;
684684
ENABLE_BITCODE = NO;
685-
FLUTTER_BUILD_NAME = 6.10.0;
686-
FLUTTER_BUILD_NUMBER = 178;
685+
FLUTTER_BUILD_NAME = 6.10.1;
686+
FLUTTER_BUILD_NUMBER = 179;
687687
INFOPLIST_FILE = Runner/Info.plist;
688688
INFOPLIST_KEY_CFBundleDisplayName = BULL;
689689
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance";
@@ -692,7 +692,7 @@
692692
"$(inherited)",
693693
"@executable_path/Frameworks",
694694
);
695-
MARKETING_VERSION = 6.10.0;
695+
MARKETING_VERSION = 6.10.1;
696696
PRODUCT_BUNDLE_IDENTIFIER = com.bullbitcoin.app;
697697
PRODUCT_NAME = "$(TARGET_NAME)";
698698
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -708,11 +708,11 @@
708708
buildSettings = {
709709
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
710710
CLANG_ENABLE_MODULES = YES;
711-
CURRENT_PROJECT_VERSION = 178;
711+
CURRENT_PROJECT_VERSION = 179;
712712
DEVELOPMENT_TEAM = BX99T32YGS;
713713
ENABLE_BITCODE = NO;
714-
FLUTTER_BUILD_NAME = 6.10.0;
715-
FLUTTER_BUILD_NUMBER = 178;
714+
FLUTTER_BUILD_NAME = 6.10.1;
715+
FLUTTER_BUILD_NUMBER = 179;
716716
INFOPLIST_FILE = Runner/Info.plist;
717717
INFOPLIST_KEY_CFBundleDisplayName = BULL;
718718
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance";
@@ -721,7 +721,7 @@
721721
"$(inherited)",
722722
"@executable_path/Frameworks",
723723
);
724-
MARKETING_VERSION = 6.10.0;
724+
MARKETING_VERSION = 6.10.1;
725725
PRODUCT_BUNDLE_IDENTIFIER = com.bullbitcoin.app;
726726
PRODUCT_NAME = "$(TARGET_NAME)";
727727
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: bb_mobile
22
description: Bull Bitcoin Mobile Wallet
33
publish_to: "none"
4-
version: 6.10.0+178
4+
version: 6.10.1+179
55

66
environment:
77
sdk: ">=3.10.0 <4.0.0"

0 commit comments

Comments
 (0)