Skip to content

AzureQL v2.2.9

Choose a tag to compare

@github-actions github-actions released this 05 Sep 10:33
· 24 commits to main since this release

AzureQL v2.2.9

本版本集中修复 MCP 长连接稳定性、设置页任务日志触底抖动,以及订阅运行期间缺少可见实时日志的问题。

MCP 连接稳定性

  • MCP 服务端由 Ktor Netty 切换为 CIO,修复 Android 上首次响应后新连接持续被重置的问题。
  • 服务启动会等待监听器真正就绪;端口被占用或监听失败时进入失败状态,不再留下“显示运行中但实际不可用”的前台服务。
  • 传输协程由独立 SupervisorJob 管理,停止服务时同步取消并释放端口。
  • 移除已经不需要的 Netty 依赖、原生传输探测和大范围 R8 keep 规则,缩小混淆配置面。
  • 保持原有安全边界:默认仅本机访问,新 Agent 默认只读;“局域网可访问”和预授权全部写入/执行仍是后续高风险规划,本版本未开放。

任务日志体验

  • 设置 → 任务日志不再使用会与正文列表争抢嵌套滚动的 ModalBottomSheet,改为 Activity 同窗覆盖层。
  • 只有顶部拖动柄响应下拉关闭,日志正文可以独立滚动;支持系统返回键和遮罩关闭。
  • 关闭时保留已渲染正文直至 120 ms 淡出结束,避免加载图标、编辑图标或底层列表在退出动画中闪过。
  • 修复查看 20 MiB 日志并滑至底部时的持续抖动,以及退出日志时输入法快速闪现的问题。

订阅实时日志

  • 订阅执行期间每 2 秒刷新日志,界面明确显示“实时更新中”,进入终态后自动停止轮询。
  • 每轮先读取最后一段正文,再确认订阅终态,避免执行很快结束时丢失成功行或结束行。
  • 支持标准 offset/nextOffset 增量响应,并裁剪服务端返回的重叠前缀。
  • 兼容青龙 2.21.0 实测出现的零游标响应:将正文视为最新全量快照并计算 UTF-8 虚拟游标,不再重复追加整段日志。
  • 保持最新 256 KiB 的显示窗口;关闭、切换订阅或终态后停止后台请求。

验证结果

  • Motorola XT2551-3(Android 16 / API 36)通过 ADB 端口转发连续访问 MCP:未授权请求稳定返回 401,达到限流后稳定返回 429,服务与应用进程持续存活。
  • 同设备打开 20 MiB 日志,触底静置采样正文保持稳定;反向滚动、返回键和顶部拖动关闭均正常,未触发输入法显示。
  • 同设备实际运行 BilibiliToolPro 订阅:运行中日志可见增长,约 3 秒进入终态后保留完整结束内容且没有重复正文。
  • 受影响模块共 64 项 JVM 测试通过:MCP 30 项、日志 1 项、脚本 33 项;本地 Debug、Release、R8 和 lintVital 构建通过。
  • GitHub Actions 完成全量 JVM 测试、Android lint、Compose AndroidTest 源码编译、正式签名 Release APK 构建和签名校验。

兼容性

  • Android 12(API 31)及以上。
  • 青龙 v2.17 及以上;本版本在青龙 2.21.0 上完成重点回归。