When results were already showing for a query, pressing Enter again
re-triggered an IMAP search unnecessarily. This could cause a brief
loading spinner and, if the server returned results in a different
order, the user would tap what looked like the first result but open
the wrong email.
Tracks _lastSettledQuery; _runSearch is a no-op when results are
already settled for the same query.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>