AppFlowy-IO / AppFlowy-IO/appflowy-editor

[Bug] Sometimes toolbar not display above keyboard - iOS

未关闭
#1,104 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Dart
星标
684
派生
329
PR 合并指标
30 天内没有已合并 PR

描述

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

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。