diff options
| author | saturneric <[email protected]> | 2026-09-13 13:11:22 +0200 |
|---|---|---|
| committer | saturneric <[email protected]> | 2026-09-13 13:11:22 +0200 |
| commit | d1cf6825d836b9df2b2be659049476b95124c85b (patch) | |
| tree | 97b58de7f8ac86c4c02259701800270f0256b018 /src | |
| parent | fix(tls): preserve certificates per connection (diff) | |
| download | modules-d1cf6825d836b9df2b2be659049476b95124c85b.tar.gz modules-d1cf6825d836b9df2b2be659049476b95124c85b.zip | |
fix(email): use paging cursor for next page
- track the page position with the row sequence cursor
- avoid using message UID as a reconstructed paging position
Diffstat (limited to 'src')
| -rw-r--r-- | src/m_email/EMailImapController.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/m_email/EMailImapController.cpp b/src/m_email/EMailImapController.cpp index 209d88c..5884265 100644 --- a/src/m_email/EMailImapController.cpp +++ b/src/m_email/EMailImapController.cpp @@ -1071,7 +1071,9 @@ void EMailImapController::slot_next_page() { // The next page starts just past the oldest row on this one. Recorded so // that coming back to this position later asks the server the same question // rather than a reconstructed guess. - const auto next_start = rows_.last().uid; + // The paging CURSOR, not the identity: a position in the folder as it was + // when this page was listed. See EMailMessageSummary::seq. + const auto next_start = rows_.last().seq; ++page_index_; if (page_starts_.size() <= page_index_) { page_starts_.append(next_start); |
