0.1.93 的故事:先存,再出字

0.1.89 我们做了「录音先落盘」,觉得话不会丢了。0.1.93 是发现还有个缝。

缝在哪

原来的顺序是:识别完成 → 把文字打进光标 → 写进历史记录。

看起来没问题,直到你问一句:打字和写历史之间,如果程序崩了呢?

那段话就只剩录音,没有文字记录。用户以为插进去了(可能确实插了一半),但历史里查不到,等于要重新转写一次。窗口很窄——零点几秒——但这类事故的特点就是,你不堵它,它总有一天会发生。

把顺序调过来

现在是:识别完成 → 录音归档 + 历史记录写盘、确认写成 → 才往光标里插字。

这带来一个必须接受的取舍:如果本机存不下(磁盘满了),我们就不插字,明确告诉你「本机存档失败,未输入」。

宁可不出字,也不能出了字却没有痕迹——因为出了字而没记录,你根本不知道发生过什么;没出字,你至少知道要重来。

顺带修掉的一个隐私漏洞

录音过程中有一个临时文件,每分钟覆盖写一次,用来在崩溃后恢复。

检查时发现:这个文件只在密码框场景被清理。正常讲完、主动取消、点「清空录音」——都没清。我们在自己机器上找到一个 9.7MB 的残留,是某次录音的完整内容。

这不是崩溃恢复该有的样子。现在它的生命周期写死成契约:讲完、取消、失败、密码框、清空录音,都必须清掉;只有真正没走完的那次才留着等恢复。取消之后,下次启动不得冒出一条恢复记录——你取消了就是取消了。

还有一个用起来才知道的问题

历史记录一多,翻旧内容变成了滚动比赛。

加了日期筛选:今天 / 近 7 天 / 近 30 天 / 指定日期,按天分组。缺省只看当天,「全部」分页加载——记录几百条也不卡。

小功能,但它是我们自己每天用着烦,才去做的。

看这一版的完整更新 · 下载