Files
webmail/stores
Linus Rath fb46ba3e14 fix: send unified-view batch actions to each login's own server
JMAP account ids are only unique per server, and Stalwart numbers
accounts the same way on every install: a user logged in to two servers
is often account `e` on both, and their group `c` on both. The unified
view grouped batch writes (mark read, delete, move to a folder, drag and
drop) by that account id alone, so both logins' messages ended up in one
group and went out through whichever login's client came first - to a
server where the same message ids name other messages.

- batches are grouped by login and account (`groupBySource`), as
  `markThreadAsRead` and the thread counts already do; a group whose
  login is gone is skipped rather than sent through another client
- the unified view also caches each source's folder list under login
  plus account; the Deleted Items lookup of a batch delete, the
  single-message actions and "Not spam" read that entry first, because
  the entry under the bare account id holds whichever login's list was
  fetched last
2026-09-26 00:05:28 +02:00
..