a7f0abc845
Follow-ups to the salvaged #80032 fatal-error escalation, closing the gaps its review thread identified plus a sibling of the same class: 1. Partial-batch loss: _check_inbox now dispatches whatever the fetch returned BEFORE escalating a failure — the early-return dropped already-fetched messages whose UIDs were marked seen. 2. Seen-after-fetch: UIDs enter _seen_uids only after their fetch returns a response, so a mid-batch connection failure leaves the remaining UIDs eligible for the next poll. Per-message processing moved to _parse_fetched_message behind a poison guard: a message that fails parsing/auth-verification is marked seen, logged with its UID, and skipped once — never an eternal crash loop. 3. Reconnect mail loss: connect(is_reconnect=True) restores the account's seen-UID baseline from a class-level snapshot instead of re-marking the entire mailbox seen — mail that arrived during an outage is now processed after the reconnect the escalation triggers. 7 new regression tests.