From eec4d03c84d140fd07ef010d673c212b4f8f9e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3n=20Fern=C3=A1ndez=20P=C3=A9rez?= <134967595+SIRGPrice@users.noreply.github.com> Date: Thu, 12 Jun 2025 11:30:47 +0200 Subject: [PATCH] New update remove_control_payload.dart Ensure the control ids list contains only String values when deserializing from JSON discarding null id values to prevent runtime errors of type: [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: type 'Null' is not a subtype of type 'String' #0 new List.from (dart:core-patch/array_patch.dart:30) #1 new RemoveControlPayload.fromJson (package:flet/src/protocol/remove_control_payload.dart:7) #2 appReducer (package:flet/src/reducers.dart:376) #3 Store._createReduceAndNotify. (package:redux/src/store.dart:235) #4 Store.dispatch (package:redux/src/store.dart:267) #5 FletServer._onMessage (package:flet/src/flet_server.dart:265) #6 FletTcpSocketServerProtocol._onMessage (package:flet/src/flet_server_protocol_tcp_socket.dart:125) #7 FletTcpSocketServerProtocol.connect. (package:flet/src/flet_server_protocol_tcp_socket.dart:94) #8 _RootZone.runUnaryGuarded (dart:async/zone.dart:1778) #9 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381) #10 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:312) #11 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:798) #12 _StreamController._add (dart:async/stream_controller.dart:663) #13 _StreamController.add (dart:async/stream_controller.dart:618) #14 _Socket._onData (dart:io-patch/socket_patch.dart:2904) #15 _RootZone.runUnaryGuarded (dart:async/zone.dart:1778) #16 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381) #17 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:312) #18 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:798) #19 _StreamController._add (dart:async/stream_controller.dart:663) #20 _StreamController.add (dart:async/stream_controller.dart:618) #21 new _RawSocket. (dart:io-patch/socket_patch.dart:2323) #22 _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1646) #23 _microtaskLoop (dart:async/schedule_microtask.dart:40) #24 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49) --- packages/flet/lib/src/protocol/remove_control_payload.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/flet/lib/src/protocol/remove_control_payload.dart b/packages/flet/lib/src/protocol/remove_control_payload.dart index b70226cac..916399d32 100644 --- a/packages/flet/lib/src/protocol/remove_control_payload.dart +++ b/packages/flet/lib/src/protocol/remove_control_payload.dart @@ -4,5 +4,9 @@ class RemoveControlPayload { RemoveControlPayload({required this.ids}); factory RemoveControlPayload.fromJson(Map json) => - RemoveControlPayload(ids: List.from(json['ids'] ?? [])); + RemoveControlPayload( + ids: (json['ids'] as List? ?? []) + .whereType() + .toList(), + ); }