AppFlowy-IO / AppFlowy-IO/appflowy-editor

[Bug] Sometimes toolbar not display above keyboard - iOS

Open
#1,104 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
684
Forks
329
PR merge metrics
No merged PRs in 30d

Description

### 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_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.