File tree Expand file tree Collapse file tree
packages/stream_chat_flutter/lib/src/components/message_composer Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -492,6 +492,9 @@ class _DefaultStreamMessageComposerState extends State<DefaultStreamMessageCompo
492492 assert (_restorableController != null , '' );
493493 registerForRestoration (_restorableController! , 'messageComposerController' );
494494 _initController ();
495+ // Add the focus listener here since _effectiveController.value is only
496+ // accessible after the restorable has been registered.
497+ _effectiveFocusNode.addListener (_focusNodeListener);
495498 }
496499
497500 String ? _prevQuotedMessageId;
@@ -559,15 +562,14 @@ class _DefaultStreamMessageComposerState extends State<DefaultStreamMessageCompo
559562
560563 if (widget.props.controller == null ) {
561564 _createLocalController ();
565+ // Focus listener and controller init happen later in _registerController,
566+ // which is called from restoreState — after the restorable is registered.
567+ } else {
568+ _effectiveFocusNode.addListener (_focusNodeListener);
569+ WidgetsBinding .instance.endOfFrame.then ((_) {
570+ if (mounted) _initController ();
571+ });
562572 }
563-
564- _effectiveFocusNode.addListener (_focusNodeListener);
565-
566- WidgetsBinding .instance.endOfFrame.then ((_) {
567- if (mounted && widget.props.controller != null ) {
568- _initController ();
569- }
570- });
571573 }
572574
573575 @override
You can’t perform that action at this time.
0 commit comments