Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 37 additions & 37 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ PODS:
- Flutter
- connectivity_plus (0.0.1):
- Flutter
- credential_manager (1.0.4):
- credential_manager_ios (2.0.5):
- Flutter
- DKImagePickerController/Core (4.3.9):
- DKImagePickerController/ImageDataManager
Expand Down Expand Up @@ -49,37 +49,37 @@ PODS:
- file_picker (0.0.1):
- DKImagePickerController/PhotoGallery
- Flutter
- Firebase/CoreOnly (11.10.0):
- FirebaseCore (~> 11.10.0)
- Firebase/Messaging (11.10.0):
- Firebase/CoreOnly (11.15.0):
- FirebaseCore (~> 11.15.0)
- Firebase/Messaging (11.15.0):
- Firebase/CoreOnly
- FirebaseMessaging (~> 11.10.0)
- firebase_core (3.13.1):
- Firebase/CoreOnly (= 11.10.0)
- FirebaseMessaging (~> 11.15.0)
- firebase_core (3.15.2):
- Firebase/CoreOnly (= 11.15.0)
- Flutter
- firebase_messaging (15.2.6):
- Firebase/Messaging (= 11.10.0)
- firebase_messaging (15.2.10):
- Firebase/Messaging (= 11.15.0)
- firebase_core
- Flutter
- FirebaseCore (11.10.0):
- FirebaseCoreInternal (~> 11.10.0)
- GoogleUtilities/Environment (~> 8.0)
- GoogleUtilities/Logger (~> 8.0)
- FirebaseCoreInternal (11.10.0):
- "GoogleUtilities/NSData+zlib (~> 8.0)"
- FirebaseInstallations (11.10.0):
- FirebaseCore (~> 11.10.0)
- GoogleUtilities/Environment (~> 8.0)
- GoogleUtilities/UserDefaults (~> 8.0)
- FirebaseCore (11.15.0):
- FirebaseCoreInternal (~> 11.15.0)
- GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Logger (~> 8.1)
- FirebaseCoreInternal (11.15.0):
- "GoogleUtilities/NSData+zlib (~> 8.1)"
- FirebaseInstallations (11.15.0):
- FirebaseCore (~> 11.15.0)
- GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1)
- PromisesObjC (~> 2.4)
- FirebaseMessaging (11.10.0):
- FirebaseCore (~> 11.10.0)
- FirebaseMessaging (11.15.0):
- FirebaseCore (~> 11.15.0)
- FirebaseInstallations (~> 11.0)
- GoogleDataTransport (~> 10.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.0)
- GoogleUtilities/Environment (~> 8.0)
- GoogleUtilities/Reachability (~> 8.0)
- GoogleUtilities/UserDefaults (~> 8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 8.1)
- GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Reachability (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1)
- nanopb (~> 3.30910.0)
- Flutter (1.0.0)
- flutter_inappwebview_ios (0.0.1):
Expand Down Expand Up @@ -178,7 +178,7 @@ PODS:
DEPENDENCIES:
- audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`)
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
- credential_manager (from `.symlinks/plugins/credential_manager/ios`)
- credential_manager_ios (from `.symlinks/plugins/credential_manager_ios/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`)
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
Expand Down Expand Up @@ -225,8 +225,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/audioplayers_darwin/ios"
connectivity_plus:
:path: ".symlinks/plugins/connectivity_plus/ios"
credential_manager:
:path: ".symlinks/plugins/credential_manager/ios"
credential_manager_ios:
:path: ".symlinks/plugins/credential_manager_ios/ios"
file_picker:
:path: ".symlinks/plugins/file_picker/ios"
firebase_core:
Expand Down Expand Up @@ -267,18 +267,18 @@ SPEC CHECKSUMS:
AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f
audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40
connectivity_plus: 2a701ffec2c0ae28a48cf7540e279787e77c447d
credential_manager: feb21034894e469e3686461dc96fb24bb7d350e4
credential_manager_ios: fd1d96ef11fa3d76f868f038342de171c3bc2b28
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
file_picker: be9a674155d9f334323856cb266e0d145d75d5c0
Firebase: 1fe1c0a7d9aaea32efe01fbea5f0ebd8d70e53a2
firebase_core: 3c2f323cae65c97a636a05a23b17730ef93df2cf
firebase_messaging: 456e01ff29a451c90097d0b45925551d5be0c143
FirebaseCore: 8344daef5e2661eb004b177488d6f9f0f24251b7
FirebaseCoreInternal: ef4505d2afb1d0ebbc33162cb3795382904b5679
FirebaseInstallations: 9980995bdd06ec8081dfb6ab364162bdd64245c3
FirebaseMessaging: 2b9f56aa4ed286e1f0ce2ee1d413aabb8f9f5cb9
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
Firebase: d99ac19b909cd2c548339c2241ecd0d1599ab02e
firebase_core: 99a37263b3c27536063a7b601d9e2a49400a433c
firebase_messaging: bf6697c61f31c7cc0f654131212ff04c0115c2c7
FirebaseCore: efb3893e5b94f32b86e331e3bd6dadf18b66568e
FirebaseCoreInternal: 9afa45b1159304c963da48addb78275ef701c6b4
FirebaseInstallations: 317270fec08a5d418fdbc8429282238cab3ac843
FirebaseMessaging: 3b26e2cee503815e01c3701236b020aa9b576f09
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_inappwebview_ios: 6f63631e2c62a7c350263b13fa5427aedefe81d4
flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12
google_sign_in_ios: 7411fab6948df90490dc4620ecbcabdc3ca04017
Expand Down
2 changes: 1 addition & 1 deletion lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ FutureOr<void> appRunner() async {
}

final AppDBService appDBService = AppDBService();
await appDBService.init('appv4');
await appDBService.init('appv5');
final numConfigs = (await appDBService.communities.getAll()).length;

config.singleCommunityMode = numConfigs < 2;
Expand Down
1 change: 0 additions & 1 deletion lib/services/accounts/utils.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import 'package:web3dart/web3dart.dart';
Future<EthereumAddress?> getLegacyAccountAddress(
LegacyBackupWallet backup) async {
try {
// final config = await ConfigService().getConfig(backup.alias);
final community = await AppDBService().communities.get(backup.alias);

if (community == null) {
Expand Down
38 changes: 31 additions & 7 deletions lib/services/config/service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class ConfigService {
static const String communityConfigListS3FileName = 'communities';

static const String communityDebugFileName = 'debug';
static const int version = 4;
static const int version = 5;

final PreferencesService _pref = PreferencesService();
late APIService _api;
Expand Down Expand Up @@ -105,6 +105,14 @@ class ConfigService {
}
}

// NEW: Try direct fetch first (more efficient)
try {
final config = await getConfigByAlias(alias);
if (config != null) {
return config;
}
} catch (_) {}

try {
// fetch the config and await
_configs = await getConfigs(location: location);
Expand Down Expand Up @@ -145,9 +153,7 @@ class ConfigService {
return [Config.fromJson(response)];
}

final response = await _api.get(
url:
'/v$version/$communityConfigListFileName.json?cachebuster=${generateCacheBusterValue()}');
final response = await _api.get(url: '/api/communities');

_pref.setConfigs(response);

Expand Down Expand Up @@ -206,16 +212,34 @@ class ConfigService {
return configs;
}

final List<dynamic> response = await _api.get(
url:
'/v$version/$communityConfigListS3FileName.json?cachebuster=${generateCacheBusterValue()}');
final List<dynamic> response = await _api.get(url: '/api/communities');

final List<Config> communities =
response.map((item) => Config.fromJson(item)).toList();

return communities;
}

Future<Config?> getConfigByAlias(String alias) async {
if (kDebugMode) {
final localConfigs = jsonDecode(await rootBundle.loadString(
'assets/config/v$version/$communityConfigListFileName.json'));

final configs =
(localConfigs as List).map((e) => Config.fromJson(e)).toList();
return configs.firstWhereOrNull((c) => c.community.alias == alias);
}

try {
final response = await _api.get(url: '/api/communities/$alias');
return Config.fromJson(response);
} catch (e, s) {
debugPrint('Error fetching config for $alias: $e');
debugPrint('Stacktrace: $s');
return null;
}
}

Future<bool> isCommunityOnline(String indexerUrl) async {
final indexer = APIService(baseURL: indexerUrl, netTimeoutSeconds: 20);

Expand Down
8 changes: 0 additions & 8 deletions lib/state/app/logic.dart
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,6 @@ class AppLogic {

final address = dbWallet.address.hexEip55;

// final config = await _config.getConfig(dbWallet.alias);

final community = await _appDBService.communities.get(dbWallet.alias);

if (community == null) {
Expand Down Expand Up @@ -132,8 +130,6 @@ class AppLogic {
await delay(
const Duration(milliseconds: 500)); // smoother launch experience

// final config = await _config.getConfig(alias);

final community = await _appDBService.communities.get(alias);

if (community == null) {
Expand Down Expand Up @@ -285,8 +281,6 @@ class AppLogic {
throw Exception('Invalid private key');
}

// final config = await _config.getConfig(alias);

final community = await _appDBService.communities.get(alias);

if (community == null) {
Expand Down Expand Up @@ -348,8 +342,6 @@ class AppLogic {

final credentials = wallet.privateKey;

// final config = await _config.getConfig(alias);

final community = await _appDBService.communities.get(alias);

if (community == null) {
Expand Down
2 changes: 0 additions & 2 deletions lib/state/wallet/logic.dart
Original file line number Diff line number Diff line change
Expand Up @@ -452,8 +452,6 @@ class WalletLogic extends WidgetsBindingObserver {

final credentials = EthPrivateKey.createRandom(Random.secure());

// final config = await _config.getConfig(alias);

final community = await _appDBService.communities.get(alias);

if (community == null) {
Expand Down
Loading
Loading