ElyMail's window lists accounts and adds Gmail, Microsoft, iCloud (app-specific password), IMAP and POP3 ones; a check logs in to both servers and reports each. Accounts live in the store as JSON with a case-insensitive unique address; secrets go to the keychain. Removal names the cache it deletes, takes the secret first and puts it back when local removal fails. Originals are set aside until commit and restored after a crash. Requests are numbered so late results stay with their own dialog. The account list is keyboard-navigable.
753 B
753 B
FAIL
- [P2] apps/ely-mail/src/removing.rs:63 — 凭据删除自身失败时仍会丢失本次会话的密码或刷新令牌。
Vault::remove先移除内存副本,再尝试系统凭据库;这里的?直接返回,绕过后面的凭据恢复。Windows 窗口探针让凭据库拒绝写入与删除,添加账号后确认密码仍在本次会话,再通过真实确认按钮删除:账号保留,但vault.get已为None,未退出应用就失去登录凭据。第 2 轮修复只覆盖了本地数据库删除失败。应让凭据删除失败也保留或恢复先前读出的会话凭据,并补上凭据库不可用时添加账号、删除失败后仍能取回凭据的回归测试。复现见.work/C12.5-r3/ui-probe.log。