title: What modseq value to cache?
body: <p>I'm reading <a href="https://www.rfc-editor.org/rfc/rfc7162" rel="nofollow noreferrer">RFC 7162</a>, trying to figure out how a client should behave when communicating with a server that supports <code>CONDSTORE</code> but not <code>QRESYNC</code>.</p>
  <p>The initial connection case is simple enough: the client compares its cached modseq value with the <code>HIGHESTMODSEQ</code> response to the <code>SELECT</code> command, and if it is lower, the client can retrieve any changes with <code>FETCH</code> + <code>CHANGEDSINCE</code> or <code>SEARCH</code> + <code>MODSEQ</code>.  After doing that, the client can store the <code>HIGHESTMODSEQ</code> value as its new cached modseq value for the mailbox.</p>
  <p>However, if the client receives unsolicited <code>FETCH</code> responses while the mailbox is selected, can it draw any reliable conclusions from the <code>MODSEQ</code> attributes in these updates?  Would it be safe to cache the highest seen <code>MODSEQ</code> value, or would the client risk missing any updates to the mailbox state in doing so?</p>