aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2026-09-13 13:11:22 +0200
committersaturneric <[email protected]>2026-09-13 13:11:22 +0200
commitd1cf6825d836b9df2b2be659049476b95124c85b (patch)
tree97b58de7f8ac86c4c02259701800270f0256b018 /src
parentfix(tls): preserve certificates per connection (diff)
downloadmodules-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.cpp4
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);