Spotube 队列批量操作无响应——v5.1.0 新功能的已知问题
队列批量操作是什么
v5.1.0 引入的新功能(Issue #2839,由 @Rahul-Sahani04 贡献):
- 移动端:长按队列里的一首歌 → 进入多选模式(出现复选框)
- 桌面端:Ctrl + 点击 多首 → 或右键菜单选 "Select multiple"
- 批量操作按钮:批量移除 / 批量设为立即播放 / 批量设为稍后播放 / 批量标记收藏
已知问题
1. 多选模式下不显示复选框(Android 某些机型)
症状:长按后 UI 没变化,选不中歌。
原因:Flutter 的 GestureDetector 在 Android 某些 OEM ROM 的特定版本上(小米 MIUI 14 / 三星 OneUI 5)长按手势被系统消费了。
临时 Workaround:
- 换桌面端操作(如果有电脑)
- 或手动一首一首删(旧方法不受影响)
- 或升级 Android 系统到最新版本
修复状态:Spotube Team 在 v5.1.1 里加了 GestureDetector 的 fallback——检测到系统长按被拦截时,同时提供 "按歌曲右上角的 ⋮ 图标 → 多选" 的入口。
2. 批量移除后队列没更新
症状:批量选了 5 首 → 点批量移除 → UI 上这 5 首看起来没消失(但点播放会失败)。
原因:Drift(Spotube 用的响应式 SQLite 库)在批量删除的事务提交时有 race condition——有时 UI 刷新被跳过。
Workaround:
- 批量移除后手动点队列页顶部的 "刷新" 按钮
- 或关掉队列页重开
修复状态:v5.1.1 通过把批量删除包装成显式的 transaction + await 解决。
3. 批量 "立即播放" 导致播放顺序错乱
症状:选了 A、B、C 三首 → 点 "立即播放" → 实际播放顺序变成 C、B、A。
原因:Spotube 的队列内部是 LIFO(后进先出)的追加逻辑——批量插入时没有按用户选择的顺序排序。
Workaround:
- 手动拖拽调整队列顺序(桌面端)
- 或一首一首选 "立即播放"(顺序正确但速度慢)
修复状态:Issue #2912 跟踪中,v5.1.2 预计修复。
4. 批量收藏触发大量 Spotify API 请求
症状:批量收藏 20 首 → Spotube 同时向 Spotify 发 20 个 "保存到 Liked Songs" 请求 → Spotify 可能限流(HTTP 429)。
Workaround:
- 批量收藏时一次不要超过 10 首
- 或等 Spotube v5.1.1 修复(已加了请求队列和限流)
修复状态:v5.1.1 已修复——Spotube 会把批量收藏打包成一个 Spotify Batch Save 请求(Spotify API 支持一次最多 50 首)。
旧方法对比
批量操作是 v5.1 新增的。v5.0.x 的队列操作:
- 只能一首一首删
- 只能一首一首收藏
- 不支持批量重排
如果你在 v5.0.x,无法升级来用批量功能——它是 v5.1 专属。
向维护者反馈
带这些信息:
- Spotube 版本号(v5.1.0 具体 build date)
- 平台和版本(Android 14 / MIUI 14 / Windows 11 / macOS Sonoma...)
- 操作复现步骤(精确到哪一首歌、点了什么)
- debug log 里 "queue" / "batch" 关键字附近的内容