Archived
复审的两条范围外观察,都落在这一轮刚动过的那两段里,一并收掉: ① 收侧判据看不见 address —— `imapSettingsOf` 用的是 `login ?? address`,而 login **常常空着**, 这时候真正决定「登到哪个信箱」的就是 address。上一刀把发信三键排除掉之后, 换 address 判据为假:旧游标的 UID 说的是原来那个箱子,而 UID 是按信箱编号的。 判据改认**实际登录名**:login 填了就比 login(这时 address 只是发信落款,换它不动收信), 空着就比 address。wecom 不参与 —— 它的 address 由探测回填,比它会在回填那一刻误清游标。 ② 治毒信的那道门自己会被同一个字符毒死 —— 降级存档把解析失败的原因写进正文与 `last_poll_error`,而那串原因常常来自那封信自己的字节。`errorText` 出口一律剥 NUL: 所有落库的错误话都从这一个出口出去,分散到每个调用点去剥,总会漏掉下一个新调用点。 两条测试都验过 RED→GREEN(拿掉修复各自变红,旁边的既有用例不受影响)。 顺带:`mail/CONTRACT.md` 两处点名的 `createFakeMailProvider` 全仓不存在(未定义、未导出、无调用方)—— 契约文档摆一个不存在的出口,照它接线的人会去 import 一个没有的东西;改成实情。 debt 补 ⑳-㉔(IMAP 每轮重登录与腾讯频率限制 / wecom -1 无退避 / pollDue 每 tick 刷日志 / notes 不设上限 / claimForResend 推 created_at 使该列不再是创建时刻)。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TM4kUBvekALu9qqmp7D3wr