Linus Rath
6dc9d5a584
fix: refetch mail when the server's change state goes backwards
...
Stalwart's change ids only grow. An upgrade that keeps the old change
log but restarts the counters lower (1.0 counts per collection where
0.16 counted per account) makes Email/changes and Mailbox/changes
accept an old state and answer with a lower `newState` and no changes,
so the delta sync would silently skip everything that changed since.
Read Stalwart `s` states (LEB128 in Stalwart's base32) and treat a
`newState` below `sinceState` like `cannotCalculateChanges`: fetch in
full. The check runs only on accounts that list `urn:stalwart:jmap`,
only for states in the exact form Stalwart writes, and never trips
while states go up.
2026-09-25 18:04:26 +02:00
..
2026-09-25 18:04:26 +02:00
2026-09-24 21:15:22 +02:00
2026-09-23 18:31:27 +02:00
2026-09-20 19:59:37 +02:00
2026-09-25 17:59:17 +02:00
2026-09-25 17:38:49 +02:00
2026-05-21 23:35:58 +02:00
2026-09-25 18:04:26 +02:00
2026-09-24 18:23:11 +02:00
2026-09-17 20:31:39 +02:00
2026-08-06 16:47:20 +02:00
2026-09-17 20:01:35 +02:00
2026-05-21 23:35:58 +02:00
2026-09-22 20:14:42 +02:00
2026-09-22 20:28:01 +02:00
2026-08-25 20:50:35 +02:00
2026-08-29 12:46:39 +02:00
2026-08-25 19:16:20 +02:00
2026-09-23 19:03:37 +02:00
2026-09-25 17:35:56 +02:00
2026-09-10 10:14:25 +02:00
2026-09-10 10:45:45 +02:00
2026-06-19 12:31:07 +02:00
2026-09-19 00:53:53 +02:00
2026-09-19 13:01:07 +02:00
2026-07-07 23:26:36 +02:00
2026-08-16 21:18:57 +02:00
2026-09-03 22:12:15 -07:00
2026-08-29 11:03:48 +02:00
2026-04-21 17:42:52 +02:00
2026-04-16 16:54:09 +02:00
2026-09-07 16:48:26 +08:00
2026-09-09 18:27:01 +02:00
2026-09-09 16:38:55 +02:00
2026-08-25 18:50:50 +02:00
2026-02-17 01:09:57 +01:00
2026-09-25 17:35:56 +02:00
2026-09-25 17:35:56 +02:00
2026-09-25 17:35:56 +02:00
2026-04-12 01:10:28 +02:00
2026-09-01 20:55:13 +02:00
2026-09-01 20:55:13 +02:00
2026-09-17 21:42:16 +02:00
2026-09-21 20:52:02 +02:00
2026-08-31 20:41:45 +02:00
2026-09-19 13:32:41 +02:00
2026-08-25 19:36:04 +02:00
2026-09-23 19:41:44 +02:00
2026-07-21 23:03:34 +02:00
2026-09-17 21:08:37 +02:00
2026-06-25 01:04:26 +02:00
2026-05-06 20:07:36 +02:00
2026-05-22 15:22:33 +02:00
2026-08-20 16:49:31 +02:00
2026-09-22 20:54:01 +02:00
2026-09-17 21:08:37 +02:00
2026-08-20 14:21:41 +02:00
2026-07-29 11:41:34 +12:00
2026-06-15 23:15:04 +02:00
2026-09-24 21:15:22 +02:00
2026-05-18 16:01:29 +02:00
2026-07-08 15:42:42 +02:00
2026-07-21 23:26:51 +02:00
2026-08-06 18:44:14 +02:00
2026-07-29 17:18:38 +02:00
2026-07-29 17:18:42 +02:00
2026-09-23 18:09:35 +02:00
2026-09-21 23:45:08 +02:00
2026-09-18 22:16:57 +02:00
2026-09-19 00:53:53 +02:00
2026-09-17 23:54:33 +02:00
2026-09-19 00:53:53 +02:00
2026-02-16 18:51:30 +01:00
2026-06-24 19:32:13 +02:00
2026-09-17 20:55:39 +02:00
2026-09-23 21:01:48 +02:00
2026-07-04 14:52:26 +02:00
2026-08-29 18:11:50 +02:00
2026-08-31 09:55:06 +02:00
2026-05-30 15:56:55 +02:00
2026-08-31 09:55:06 +02:00
2026-06-25 01:04:26 +02:00
2026-09-07 22:34:47 +02:00
2026-09-19 13:32:41 +02:00
2026-04-28 17:34:06 +02:00
2026-08-16 23:04:22 +02:00
2026-07-22 19:17:23 +02:00
2026-06-25 00:25:28 +02:00
2026-04-09 22:13:08 +02:00
2026-09-25 17:42:59 +02:00
2026-09-25 17:42:59 +02:00
2026-09-23 13:40:01 +02:00
2026-08-25 21:13:34 +02:00
2026-09-09 19:27:08 +02:00
2026-08-16 21:12:21 +02:00
2026-08-06 19:19:18 +02:00
2026-09-22 17:25:43 +02:00
2026-08-29 17:47:23 +02:00
2026-08-25 20:09:18 +02:00
2026-09-25 17:33:31 +02:00
2026-09-23 18:31:27 +02:00
2026-09-09 19:27:08 +02:00
2026-05-09 17:37:41 +02:00
2026-05-31 15:52:27 +02:00
2026-09-19 13:32:41 +02:00
2026-08-16 22:20:49 +02:00
2026-05-06 20:07:36 +02:00
2026-08-18 15:48:05 +02:00
2026-07-19 10:10:31 +02:00
2026-08-16 22:20:49 +02:00
2026-08-06 18:23:21 +02:00
2026-04-28 17:34:06 +02:00
2026-09-19 13:32:41 +02:00
2026-08-06 18:23:21 +02:00
2026-08-16 02:19:04 +02:00
2026-09-18 18:33:02 +02:00
2026-09-22 20:42:07 +02:00
2026-04-16 19:07:42 +02:00
2026-09-22 19:41:51 +02:00
2026-08-23 19:44:56 +06:00
2026-09-24 17:47:33 +02:00
2026-07-08 15:41:46 +02:00
2026-09-25 17:35:56 +02:00
2026-05-21 23:35:58 +02:00
2026-09-25 17:59:17 +02:00