1a78118fcb
The mail window reached the interface through a per-frame feed. Its events fired ahead of the frame's other packets, and its getters read a pushed copy. In 1.12.1 the mail handlers signal inside their packet, and the getters read the session at the call. - The getters read the session through the host (`MailLive`). Every mail event goes on a mail lane, stamped in the handler that raises it. - Each answered record lookup signals one `MAIL_INBOX_UPDATE`, only when the record is found (`0x4af080`, `0x4af0a0`, `0x4af340`, `0x4af5b0`, `0x4ad010`). - The pending step runs after the frame's packets and after the walk-away check (`0x4818c0`, `0x4818d0`). - A close in its open's frame no longer fires `MAIL_CLOSED` without `MAIL_SHOW`, or sends its query ahead of earlier events. Each change has a test that fails without it. Part of #2168 and #2217. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>