AppFlowy-IO / AppFlowy-IO/appflowy-editor

[Bug] Sometimes toolbar not display above keyboard - iOS

Đang mở
#1,104 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Dart
Star
684
Fork
329
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.