appflowy-editor icon indicating copy to clipboard operation
appflowy-editor copied to clipboard

[Bug] Sometimes toolbar not display above keyboard - iOS

Open ibrahimdevs opened this issue 6 months ago • 0 comments

Bug Description

Sometimes keyboard is opening without toolbar. I investigate the issue; mobile_toolbar_v2.dart > _MobileToolbarState

  @override
  void initState() {
    super.initState();

    currentSelection = widget.editorState.selection;
    KeyboardHeightObserver.instance.addListener(_onKeyboardHeightChanged);
  }

Code is working without a problem if keyboard_height_observer.dart notify calls after this init.

But sometimes, if you fastly close the keyboard and tap the editor, or randomly tap the editor. Firstly, keyboard_height_observer.dart notify is calling then mobile_toolbar_v2.dart > _MobileToolbarState initState calling. So _MobileToolbarState cachedKeyboardHeight value is always 0. And there is no space under the toolbar.

Possible fix: keyboard_height_observer.dart

  void addListener(KeyboardHeightCallback listener) {
    _listeners.add(listener);
    
    //Always trigger the initial value for newly added listeners.
    listener(currentKeyboardHeight);
  }

I'm not sure this fix is the best, because it notifies all newly added listeners, it may not expected behaviour.

How to Reproduce

Open the example project add new paragraph click the close icon on toolbar tap the newly added paragraph end. You most probably see keyboard without toolbar.

Expected Behavior

When keyboard is open, always visible toolbar.

Operating System

iOS

AppFlowy Editor Version(s)

5.2.0

Screenshots

https://github.com/user-attachments/assets/9f5c4b67-665f-42cd-9236-6112645ebd3b

Additional Context

No response

ibrahimdevs avatar May 14 '25 14:05 ibrahimdevs