TF-3603: Integrate Cozy features

TF-3603 [TEMP] expose Cozy integration result to console.log
This commit is contained in:
DatDang
2025-03-31 13:59:13 +07:00
committed by Dat H. Pham
parent 2d4c16c564
commit b5280c805d
18 changed files with 576 additions and 8 deletions
+8 -6
View File
@@ -17,6 +17,7 @@ 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_utils.dart';
import 'package:tmail_ui_user/main/utils/asset_preloader.dart';
import 'package:tmail_ui_user/main/utils/cozy_integration.dart';
import 'package:url_strategy/url_strategy.dart';
import 'package:worker_manager/worker_manager.dart';
@@ -31,13 +32,14 @@ Future<void> runTmail() async {
ThemeUtils.setSystemLightUIStyle();
await Future.wait([
MainBindings().dependencies(),
HiveCacheConfig.instance.setUp(),
Executor().warmUp(log: BuildUtils.isDebugMode),
AppUtils.loadEnvFile(),
if (PlatformInfo.isWeb)
AssetPreloader.preloadHtmlEditorAssets(),
MainBindings().dependencies(),
HiveCacheConfig.instance.setUp(),
Executor().warmUp(log: BuildUtils.isDebugMode),
AppUtils.loadEnvFile(),
if (PlatformInfo.isWeb)
AssetPreloader.preloadHtmlEditorAssets(),
]);
await CozyIntegration.integrateCozy();
await HiveCacheConfig.instance.initializeEncryptionKey();
setPathUrlStrategy();
+2
View File
@@ -78,4 +78,6 @@ class AppConfig {
static bool get isSaasPlatForm => _platformEnv.toLowerCase() == saasPlatform;
static bool get isWebSocketEchoPingEnabled => dotenv.get('WS_ECHO_PING', fallback: 'false') == 'true';
static bool get isCozyIntegrationEnabled => dotenv.get('COZY_INTEGRATION', fallback: 'false') == 'true';
}
+20
View File
@@ -0,0 +1,20 @@
import 'package:core/utils/app_logger.dart';
import 'package:core/utils/platform_info.dart';
import 'package:cozy/cozy_config_manager/cozy_config_manager.dart';
import 'package:tmail_ui_user/main/utils/app_config.dart';
class CozyIntegration {
const CozyIntegration._();
static Future<void> integrateCozy() async {
if (!PlatformInfo.isWeb || !AppConfig.isCozyIntegrationEnabled) return;
try {
final cozyConfig = CozyConfigManager();
await cozyConfig.injectCozyScript();
await cozyConfig.initialize();
} catch (e) {
logError('CozyIntegration::integrateCozy:Exception = $e');
}
}
}