dzc
e00086c01c
fix: Pavo 后端 isolate 闭包捕获实例链导致 Windows 状态查询必炸(unsendable)
用户 Windows 实测:未装驱动点跳过后页面报"状态读取失败 Illegal argument in
isolate message: object is unsendable - _Timer"。堆栈定位:
Isolate.run(_statusSync) 的方法 tear-off 会连带 this(PavoPrintBackend)→
_log(agent.log.write tear-off)→ AgentLog → StreamController → UI 日志订阅链
→ 向导轮询 Timer——Timer 不可跨 isolate 发送,消息序列化直接抛错。mac 上
CUPS 后端不走 Isolate.run,从未暴露。
修复:isolate 入口全部改为顶层函数(pavoStatusSync / pavoPrintSync),不捕获
任何实例状态;printOneCard 先解出纯字符串(data URL/份数)再进闭包,最小化
捕获面。新增守护测试 pavo_isolate_test:在活跃日志订阅下调 getStatus,
回归捕获 this 时会立即复现 unsendable。14 测试全过、analyze 零问题。
2026-09-21 16:15:27 +08:00
..
2026-09-21 12:19:07 +08:00
2026-09-21 16:15:27 +08:00
2026-09-21 12:03:27 +08:00
2026-09-21 14:04:55 +08:00
2026-09-21 16:08:14 +08:00
2026-09-21 12:03:27 +08:00
2026-09-21 13:16:23 +08:00
2026-09-21 13:51:42 +08:00