固定(记录):使保存器启动、排出和定稿可靠
作者: safvanatzack创建于 2026年9月7日更新于 2026年9月7日
标签bugbackend
□ 问题
活录持久性生命周期中三个先前存在的失败,在持久性失败后可能会失去音频或报告成功. 在审查第767号公关时,他们被确定,并被明确推迟,因为该公关既没有引入,也没有明显加以扩大。
它们是共同的,因为`记录Saver'拥有所有三个边界:存储初始化、排队消费和定稿。
- 自动保存初始化故障无声地降解为全部音频损失
记录保存器:启动-累积'返回()',只有在初始化-会议-文件夹'失败时才记录。 " 递增的-saver " 仍然是 " 无 " ,但记录仍在继续,积累任务仍然消耗着即将到来的块。 用 “ auto save = true” 表示, 这些块无法写入 。 停止时,失踪的救生员被视为被禁用并返回Ok(无)'。
混凝土触发器包括不可用的记录目录,权限更改,磁盘/文件系统错误,以及无效的文件夹状态.
证据:
- 初始化错误被记录和忽略:`前端/src-tauri/src/adio/cording saver.rs:138-176'
- 丢失的保存器丢弃自动保存块:`前端/src-touri/src/audio/recording saver.rs:178-207'
- 停止错误地将失踪的储值人归类为残疾自动保存:`前端/src-touri/src/audio/recording saver.rs:367-374'
- 管理人员目前没有传播结果:`前端/src-tauri/src/adio/recording manager.rs:225-280'
- 不可改变的审查证据:https://GitHub.com/Zackriya-Solutions/meetily/blob/0de4f7f9501179aedc6957fea1cc8237e394074f/frontend/src-tauri/src/audio/recording saver.rs#L152-L157
XQ 2. 停止可以丢弃已排队保存的音频块
在接收者排出水口前停止和拯救 ' 清除是拯救'。 累积任务检查旗子在每一块之后立即接收并退出下一个排队的块,将块和后面的所有东西都放下来. 固定的200毫秒睡眠不能确定队列完成,而 " tokio:: spawn " 手柄在完成前不会被保留或等待.
这取决于时间:在要求停止时,检查站一/O只需落后于记录制作。
证据:
- 脱落的积累任务和出厂早期旗帜:`前端/src-touri/src/audio/recording saver.rs:173-215'
- 在入睡和最后敲定前清除旗帜:`前端/src-tauri/src/adio/cording saver.rs:352-379'
- 无法更改的审查证据:https://GitHub.com/Zackriya-Solutions/meetily/blob/0de4f7f9501179aedc6957fea1cc8237e394074f/frontend/src-tauri/src/audio/cording saver.rs#L359-L365
- 最后保存失败转化为成功关闭
记录保存器:停止 和 保存'正确返回错误,以便音频定稿和最后记录。 记录管理器:保存 记录 只 ' 记录这些错误,然后返回`Ok(())'。 因此,指令层进入其成功分支,将“记录-shutdown-progress”作为完整和发出
. . . . . . .
内容来源: Zackriya-Solutions/meetily