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>