Skip to content

Commit

Permalink
TF-2893 Fix data loss when executing dotenv.load() and `dotenv.get(…
Browse files Browse the repository at this point in the history
…)` simultaneously
  • Loading branch information
dab246 committed Jul 23, 2024
1 parent ce13caa commit bc1463d
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
4 changes: 0 additions & 4 deletions lib/features/base/base_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import 'package:dartz/dartz.dart';
import 'package:fcm/model/firebase_capability.dart';
import 'package:fcm/model/firebase_registration_id.dart';
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:forward/forward/capability_forward.dart';
import 'package:get/get.dart';
Expand Down Expand Up @@ -63,7 +62,6 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
import 'package:tmail_ui_user/main/utils/app_config.dart';
import 'package:tmail_ui_user/main/utils/app_utils.dart';
import 'package:tmail_ui_user/main/universal_import/html_stub.dart' as html;
import 'package:uuid/uuid.dart';

Expand Down Expand Up @@ -355,8 +353,6 @@ abstract class BaseController extends GetxController
requireCapability(session!, accountId!, [FirebaseCapability.fcmIdentifier]);
log('$runtimeType::injectFCMBindings: fcmAvailable = ${AppConfig.fcmAvailable}');
if (AppConfig.fcmAvailable) {
final mapEnvData = Map<String, String>.from(dotenv.env);
await AppUtils.loadFcmConfigFileToEnv(currentMapEnvData: mapEnvData);
await FcmConfiguration.initialize();
FcmInteractorBindings().dependencies();
FcmService.instance.initialStreamController();
Expand Down
12 changes: 10 additions & 2 deletions lib/main/utils/app_utils.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import 'package:core/utils/app_logger.dart';
import 'package:date_format/date_format.dart' as date_format;
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
Expand All @@ -13,8 +14,15 @@ class AppUtils {

static const String envFileName = 'env.file';

static Future<void> loadEnvFile() {
return dotenv.load(fileName: envFileName);
static Future<void> loadEnvFile() async {
await dotenv.load(fileName: envFileName);
final mapEnvData = Map<String, String>.from(dotenv.env);
try {
await AppUtils.loadFcmConfigFileToEnv(currentMapEnvData: mapEnvData);
} catch (e) {
logError('AppUtils::loadEnvFile:loadFcmConfigFileToEnv: Exception = $e');
await dotenv.load(fileName: envFileName);
}
}

static Future<void> loadFcmConfigFileToEnv({Map<String, String>? currentMapEnvData}) {
Expand Down

0 comments on commit bc1463d

Please sign in to comment.