diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index 17ea39c..610728c 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -23520,3 +23520,28 @@ $ flutter test --no-pub ``` 解读:ReelShort 静态检查零告警,511 条测试全部通过。未安装真机,等待用户验收。 + +## 2026-10-21 ReelShort:K86.20 修正评论输入浮层打开状态 + +- 功能分支:`fix/composer-open-state`,从 ReelShort develop `6c72f8b` 创建。 +- 功能提交:`a66cdb2 fix(player): 修正评论输入浮层初始键盘高度与聚焦`。 +- 补充提交:`ea1a9f4 fix(player): 返回键仅收起评论输入键盘`。 +- develop 合并提交:`18a1d06 merge: 合并 K86.20 评论输入初始键盘与聚焦修正`、`e90217b merge: 合并 K86.20 评论输入浮层打开状态修正`,已推送 `6c72f8b..e90217b`。 +- `CommentComposerSheet` 首次进入时使用 `MediaQuery.viewInsetsOf(context).bottom` 初始化 `_pinnedKeyboardInset`;等待 `KeyboardInsetNotifier.start()` 后记录 `_insetBaseline`,忽略通道中的历史键盘高度,只有相对 baseline 发生变化的值才参与 pinned 偏移计算。 +- 浮动输入面板使用独立 `FocusScope` 包裹;OverlayEntry 插入后通过 post-frame 回调显式 `requestFocus()`,若下一帧键盘高度仍为 0,则调用 `SystemChannels.textInput.invokeMethod('TextInput.show')` 兜底拉起键盘。 +- 保持 K86.19 的 `Positioned(bottom: 0)`、白色 Material 铺至屏幕底部及内部 `Padding(bottom: _pinnedKeyboardInset)` 布局;没有旧键盘 inset 时面板保持紧凑并贴底,键盘变化后输入区定位在键盘上方,收键盘不回落、不抖动。 +- 系统返回键不再关闭输入浮层,只释放输入焦点并调用 `TextInput.hide`;评论面板与输入浮层均保持打开。关闭入口仍仅为点击透明外部区域或发表成功。 +- 测试覆盖历史键盘通道值 300 不会污染新面板、无键盘时面板为 100~150 紧凑高度且贴底、输入框已聚焦、TextInput 可见,以及返回键后两层仍存在、焦点释放、再点透明外部区域才关闭输入浮层。 + +门禁原始输出: + +```text +$ dart analyze lib test +Analyzing lib, test... +No issues found! + +$ flutter test --no-pub +00:53 +512: All tests passed! +``` + +解读:ReelShort 静态检查零告警,512 条测试全部通过。未安装真机,等待用户验收。