You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed — may break callers
search messages says search.server-partial, not search.server-too-large. It downloads the first 256 KiB of
each message the server finds and stores a bigger one with its text and without its attachments; the next sync
reads it whole. Before, a candidate over 5 MB was left on the server and a smaller one was downloaded with all its
attachments. A script that matched search.server-too-large matches search.server-partial instead.
After messages send, stored is true only when this message is in the store, not when any other mail of the
last 10 minutes was. A caller that read stored: true as "some mail was synced" reads it now as "this message is
stored".
mail.search-refused is cli-core's reason now (cli-core 0.550.0); the reason, its code and its message are
the same.
Added
--compact answers one line per item (cli-base 0.74.0). mail now needs @wirecat/cli-core 0.550.0 and @wirecat/cli-base 0.74.0.
sync says what became of the emails a search stored text-first: partial_emails with completed (read whole
this run), left (waiting for a later run) and stuck (given up on: the server no longer gives them where they
were stored). It is absent when there are none.
Fixed
A Microsoft sign-in whose new token the mail server refuses says how to turn IMAP on. On Outlook.com IMAP is
off by default; the error now names the switch (Settings, "Mail", "Forwarding and IMAP", "Let devices and apps use
IMAP") and no longer claims a refresh was tried. The answer carries the server's response code as cause_code, never
its text.
A server that refuses SEARCH no longer looks like an empty folder.sync leaves that folder unread and reads
the rest: the answer is partial, names it in refused_folders with a mail.search-refused issue, and nothing of it
is marked deleted. messages move, copy, delete, restore and drafts stop with mail.search-refused
instead of acting on nothing (cli-core).
On Gmail, an email a search stored text-first is read whole by the next sync. It was never completed there:
mail worked out its id from the Message-ID, and Gmail's mail is stored under its X-GM-MSGID, so every sync downloaded
the whole message again and threw it away. fetchRaw now reads Gmail's ids beside the bytes.
An email a search stored text-first is no longer downloaded whole on every sync when the server no longer gives
it. It is read under the UIDVALIDITY it was stored with, and given up on after three failed tries, or at once when
its place holds another message; it no longer holds back newer ones (cli-core).
A search no longer stores a text-first copy over an email a sync in another process stored whole meanwhile,
which dropped its attachments (cli-core).
The reader of your own Google --client-file and the browser opener come from @wirecat/cli-core 0.546.0, not
copies in mail. The file shapes, the chmod 600 check and the errors are unchanged.