From fe6a65adb5a63d292f9c790bb1e4ff26f31dd2e5 Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Fri, 3 May 2024 18:47:17 -0700 Subject: [PATCH] fix(flutter): fix concurrent modification error when closing socket Since subscription.close() modifies _subscriptions, we need to create a separate list to avoid concurrent modification error. --- templates/flutter/lib/src/realtime_mixin.dart.twig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/flutter/lib/src/realtime_mixin.dart.twig b/templates/flutter/lib/src/realtime_mixin.dart.twig index e5dfd532e..29a0bcc8f 100644 --- a/templates/flutter/lib/src/realtime_mixin.dart.twig +++ b/templates/flutter/lib/src/realtime_mixin.dart.twig @@ -87,8 +87,8 @@ mixin RealtimeMixin { break; } }, onDone: () { - if (!_notifyDone || _creatingSocket) return; - for (var subscription in _subscriptions.values) { + final subscriptions = List.from(_subscriptions.values); + for (var subscription in subscriptions) { subscription.close(); } _channels.clear();