Skip to content

Commit e66978e

Browse files
committed
Implement new cozy-external-bridge setup
1 parent 9ee1210 commit e66978e

File tree

5 files changed

+26
-13
lines changed

5 files changed

+26
-13
lines changed

lib/config/app_config.dart

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ abstract class AppConfig {
9898
static const String sourceCodeUrl =
9999
'https://github.com/linagora/twake-on-matrix';
100100
static String supportUrl = 'https://twake.app/support';
101-
static String cozyExternalBridgeVersion = '0.16.1';
101+
static String cozyExternalBridgeVersion = '1.2.1';
102+
static List<String> cozyExternalBridgeAllowlist = ['.twake.app', '.lin-saas.com','.lin-saas.dev'];
102103
static bool renderHtml = true;
103104
static bool hideRedactedEvents = false;
104105
static bool hideUnknownEvents = true;
@@ -193,6 +194,11 @@ abstract class AppConfig {
193194
defaultValue: ConfigurationSaas.homeserver,
194195
);
195196

197+
static const String _cozyExternalBridgeAllowlistEnv = String.fromEnvironment(
198+
'COZY_EXTERNAL_BRIDGE_ALLOWLIST',
199+
defaultValue: '.twake.app,.lin-saas.com,.lin-saas.dev',
200+
);
201+
196202
static void loadEnvironment() {
197203
twakeWorkplaceHomeserver = _twakeWorkplaceHomeserverEnv;
198204

@@ -213,6 +219,12 @@ abstract class AppConfig {
213219
homeserver = _homeserverEnv;
214220

215221
Logs().i('[Public Platform] AppConfig():: HOME_SERVER $_homeserverEnv');
222+
223+
cozyExternalBridgeAllowlist = _cozyExternalBridgeAllowlistEnv
224+
.split(',')
225+
.toList();
226+
227+
Logs().i('[Public Platform] AppConfig():: COZY_EXTERNAL_BRIDGE_ALLOWLIST $_cozyExternalBridgeAllowlistEnv');
216228
}
217229

218230
static bool get isSaasPlatForm => _platformEnv == 'saas';
@@ -302,5 +314,9 @@ abstract class AppConfig {
302314
json['cozy_external_bridge_version'].isNotEmpty) {
303315
cozyExternalBridgeVersion = json['cozy_external_bridge_version'];
304316
}
317+
if (json['cozy_external_bridge_allowlist'] is List<String> &&
318+
json['cozy_external_bridge_allowlist'].isNotEmpty) {
319+
cozyExternalBridgeAllowlist = json['cozy_external_bridge_allowlist'];
320+
}
305321
}
306322
}

lib/main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ void main() async {
6767
if (PlatformInfos.isWeb) {
6868
CozyConfigManager()
6969
.injectCozyScript(AppConfig.cozyExternalBridgeVersion)
70-
.then((value) => CozyConfigManager().initialize());
70+
.then((value) => CozyConfigManager().initialize(validUrlSuffixes: AppConfig.cozyExternalBridgeAllowlist));
7171
}
7272

7373
// Started in foreground mode.

lib/widgets/layouts/adaptive_layout/adaptive_scaffold_appbar.dart

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,11 @@ class _AdaptiveScaffoldAppBarState extends State<AdaptiveScaffoldAppBar> {
5050
},
5151
);
5252

53-
return FutureBuilder(
54-
future: CozyConfigManager().isInsideCozy,
55-
builder: (context, snapshot) {
56-
if (!snapshot.hasData || !snapshot.data!) return child;
53+
if(CozyConfigManager().isInContainer) {
54+
return const SizedBox();
55+
}
5756

58-
return const SizedBox();
59-
},
60-
);
57+
return child;
6158
}
6259
}
6360

lib/widgets/local_notifications_extension.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ extension LocalNotificationsExtension on MatrixState {
6767
method: ThumbnailMethod.crop,
6868
);
6969
if (kIsWeb) {
70-
final isInsideCozy = await CozyConfigManager().isInsideCozy;
70+
final isInContainer = CozyConfigManager().isInContainer;
7171
_audioPlayer.play();
72-
if (isInsideCozy) {
72+
if (isInContainer) {
7373
CozyConfigManager().sendNotification(title, body);
7474
return;
7575
}

lib/widgets/matrix.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -528,8 +528,8 @@ class MatrixState extends State<Matrix>
528528

529529
Future<void> _requestNotificationPermission() async {
530530
try {
531-
final isInsideCozy = await CozyConfigManager().isInsideCozy;
532-
if (isInsideCozy) {
531+
final isInContainer = CozyConfigManager().isInContainer;
532+
if (isInContainer) {
533533
CozyConfigManager().requestNotificationPermission();
534534
} else {
535535
html.Notification.requestPermission();

0 commit comments

Comments
 (0)