Repository navigation
拖入修好了
根因
dragover 里先判断 dataTransfer.types 再 preventDefault,不满足的类型直接 return——在 preventDefault() 之前。浏览器因此不把窗口当可投放目标,连 drop 事件都不派发。
用 CDP 派发真实拖放事件复现,只带 text/uri-list 的拖放事件链里确实没有 drop。浏览器、压缩包窗口、部分下载工具拖出来的都是这一种,表现就是"拖进去毫无反应"。
改法
dragover无条件放行,判断挪到drop里drop依次尝试三种来源:files的 File →items的 file →text/uri-list/text/plain里的路径- 取不到路径时给出提示,不再静默返回
托盘常驻与关闭确认
- 启动即常驻托盘:左键唤回窗口,右键菜单有显示与退出
- 点关闭按钮按偏好走:每次询问(默认)/ 最小化到托盘 / 直接退出
- 第一次关闭弹确认框,带「记住我的选择」,勾了就写进设置
- 选托盘时窗口只是隐藏,正在跑的转换继续
- 设置页新增「常规」分类,可以回头改这个偏好
验证
- 单测 271 条、e2e 22 条全绿(新增 5 条覆盖拖放三种来源与关闭流程)
- typecheck / build / 打包通过
安装:FFShift-1.5.1-setup.exe 安装,或 FFShift-1.5.1-portable.exe 免安装。
第一次运行 Windows 可能弹 SmartScreen,点「更多信息」→「仍要运行」。