appflowy-editor
appflowy-editor copied to clipboard
[Bug] Sometimes toolbar not display above keyboard - iOS
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