Linus Rath
7977a6ed01
fix: stop treating partial refusals as total ones in sends and exports
...
Four places took a narrow refusal from the server for a complete one:
- vCard export: Stalwart answers Blob/get only in accounts the user is
a member of, so for an address book shared with the user it came back
`forbidden` and the export fell back to one photo download after the
other. It checks the access to each blob by itself, whichever account
the request names, so `getBlobsAsBase64` now asks again in the user's
own account (checked live on 1.0 with a book shared by another user).
- Sending at a full submission quota: when making room found nothing,
no search ran for five minutes, for any send. Scheduled mail and
undo-send holds can go once their message is out, so a send the user
starts now always looks again; the pause stays for automatic read
receipts.
- Free/busy: a directory that could not be listed hid the attendees'
free/busy behind "Free/busy isn't available on this server". Listing
principals and looking up free/busy are separate permissions on 0.16
and 1.0, so the line now shows only for Stalwart 1.0 with directory
queries off or a lookup refused with `forbidden`; otherwise the
principals the server still returns are looked up.
- Mark as read and keyword writes over several requests: a request that
failed outright made the whole selection count as unchanged, and rows
already written showed unread until the next refresh. The write now
stops there and names only that batch and the ones after it.
2026-09-26 00:06:49 +02:00
..
2026-09-25 19:42:38 +02:00
2026-07-04 14:51:46 +02:00
2026-08-13 23:01:41 +02:00
2026-09-10 10:14:25 +02:00
2026-08-25 18:39:07 +02:00
2026-08-16 23:48:58 +02:00
2026-09-10 10:45:45 +02:00
2026-09-17 20:16:51 +02:00
2026-09-23 18:31:27 +02:00
2026-09-17 20:48:42 +02:00
2026-09-09 19:21:40 +02:00
2026-06-12 00:23:00 +02:00
2026-06-19 23:52:42 +02:00
2026-08-26 23:02:19 +02:00
2026-09-19 13:01:07 +02:00
2026-09-07 16:52:20 +02:00
2026-09-07 16:52:20 +02:00
2026-06-19 23:52:42 +02:00
2026-09-25 19:42:38 +02:00
2026-09-25 19:36:23 +02:00
2026-08-25 19:16:20 +02:00
2026-08-16 21:18:57 +02:00
2026-09-03 22:12:15 -07:00
2026-03-31 00:11:04 +02:00
2026-03-27 18:46:20 +01:00
2026-09-25 21:18:23 +02:00
2026-09-09 18:27:01 +02:00
2026-06-19 23:53:20 +02:00
2026-09-25 19:41:00 +02:00
2026-02-17 01:09:57 +01:00
2026-08-16 21:32:23 +02:00
2026-09-20 19:59:37 +02:00
2026-09-26 00:06:49 +02:00
2026-09-25 20:05:19 +02:00
2026-09-25 18:40:22 +02:00
2026-04-25 18:40:54 +02:00
2026-09-25 17:35:56 +02:00
2026-09-25 22:16:19 +02:00
2026-09-25 22:16:19 +02:00
2026-09-25 18:06:49 +02:00
2026-09-25 22:16:19 +02:00
2026-07-09 13:51:12 +02:00
2026-09-17 21:42:16 +02:00
2026-08-31 20:41:45 +02:00
2026-08-16 22:25:15 +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-07-21 20:59:20 +02:00
2026-09-17 21:08:37 +02:00
2026-04-30 01:25:04 +02:00
2026-06-19 23:52:42 +02:00
2026-08-13 21:24:09 +02:00
2026-09-25 19:36:23 +02:00
2026-09-25 21:18:23 +02:00
2026-09-25 17:40:49 +02:00
2026-08-20 16:49:31 +02:00
2026-09-07 22:34:47 +02:00
2026-09-25 22:16:19 +02:00
2026-09-25 18:37:41 +02:00
2026-09-17 21:08:37 +02:00
2026-09-25 18:35:47 +02:00
2026-08-25 18:47:22 +02:00
2026-07-29 13:31:56 +12:00
2026-09-25 18:02:55 +02:00
2026-03-19 18:50:59 +01:00
2026-05-31 16:28:22 +02:00
2026-06-15 23:15:04 +02:00
2026-09-25 19:30:58 +02:00
2026-09-24 21:15:22 +02:00
2026-05-21 23:35:58 +02:00
2026-08-16 23:02:27 +02:00
2026-03-30 21:12:05 +02:00
2026-09-26 00:06:49 +02:00
2026-09-25 17:30:42 +02:00
2026-09-25 17:30:42 +02:00
2026-08-12 17:34:20 +03:00
2026-09-25 17:30:42 +02:00
2026-09-25 21:21:28 +02:00
2026-09-25 19:39:20 +02:00
2026-09-25 19:37:41 +02:00
2026-09-08 23:19:24 +09:00
2026-09-25 19:41:00 +02:00
2026-09-25 21:57:11 +02:00
2026-09-09 18:56:51 +02:00
2026-09-25 18:40:22 +02:00
2026-08-12 17:34:20 +03:00
2026-08-25 19:16:20 +02:00
2026-09-25 19:24:30 +02:00
2026-09-22 20:31:53 +02:00
2026-09-26 00:03:23 +02:00
2026-09-07 22:34:47 +02:00
2026-07-30 19:40:25 +02:00
2026-09-25 17:59:17 +02:00
2026-07-07 23:59:19 +02:00
2026-08-12 17:34:20 +03:00
2026-09-25 18:35:47 +02:00
2026-09-25 22:16:19 +02:00
2026-09-25 19:35:08 +02:00
2026-02-16 18:51:30 +01:00
2026-09-26 00:06:49 +02:00
2026-09-25 19:24:30 +02:00
2026-08-18 08:15:22 +05:00
2026-09-25 21:54:52 +02:00
2026-09-07 22:34:47 +02:00
2026-09-22 21:00:10 +02:00
2026-09-25 19:17:27 +02:00
2026-09-25 17:33:31 +02:00
2026-04-21 17:29:23 +02:00
2026-09-25 20:07:46 +02:00
2026-08-06 19:19:18 +02:00
2026-09-25 20:05:19 +02:00
2026-09-25 21:57:11 +02:00
2026-09-26 00:03:23 +02:00
2026-09-07 22:34:47 +02:00
2026-09-26 00:06:49 +02:00
2026-09-02 08:34:31 +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-09-25 19:24:30 +02:00
2026-09-19 13:01:07 +02:00
2026-09-19 13:01:07 +02:00
2026-09-23 18:09:35 +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-09-21 23:45:08 +02:00
2026-09-25 23:32:00 +02:00
2026-09-19 00:53:53 +02:00
2026-09-17 23:54:33 +02:00
2026-09-17 23:54:33 +02:00
2026-08-16 22:11:26 +02:00
2026-06-24 19:32:13 +02:00
2026-05-22 11:51:25 +02:00
2026-06-19 12:29:43 +02:00
2026-09-17 20:55:39 +02:00
2026-06-19 23:52:42 +02:00
2026-09-25 18:37:41 +02:00
2026-09-25 21:54:52 +02:00
2026-09-25 21:57:11 +02:00
2026-09-09 18:30:59 +02:00
2026-09-09 01:29:25 +09:00
2026-09-08 19:17:18 +00:00
2026-09-23 19:26:07 +02:00
2026-07-16 17:56:19 +02:00
2026-09-07 22:34:47 +02:00
2026-06-02 00:15:50 +02:00
2026-02-26 00:08:57 +01:00
2026-08-20 13:59:57 +02:00
2026-09-24 18:23:11 +02:00
2026-08-17 00:18:59 +02:00
2026-09-25 17:42:59 +02:00
2026-09-25 21:57:11 +02:00
2026-09-07 16:52:20 +02:00
2026-08-06 14:08:07 +02:00
2026-06-19 23:53:20 +02:00
2026-09-07 16:52:20 +02:00
2026-09-17 20:31:39 +02:00
2026-09-17 20:31:39 +02:00
2026-06-19 23:53:20 +02:00
2026-09-07 22:34:47 +02:00
2026-03-25 00:44:03 +01:00
2026-09-07 16:52:20 +02:00
2026-07-24 18:10:37 +02:00
2026-08-23 19:44:56 +06:00
2026-04-28 15:39:13 +02:00
2026-05-12 20:49:05 +02:00
2026-08-29 12:35:38 +02:00
2026-09-22 23:04:27 +02:00
2026-09-07 22:34:47 +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-09-25 20:20:00 +02:00
2026-09-25 19:37:41 +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-09-25 18:06:49 +02:00
2026-08-25 20:09:18 +02:00
2026-09-25 18:06:49 +02:00
2026-09-25 20:10:01 +02:00
2026-08-26 23:02:19 +02:00
2026-09-25 19:24:30 +02:00
2026-06-19 23:52:42 +02:00
2026-09-09 18:40:15 +02:00
2026-05-31 15:52:27 +02:00
2026-09-19 13:32:41 +02:00
2026-04-16 17:22:52 +02:00
2026-03-15 16:07:45 +01:00
2026-08-16 22:20:49 +02:00
2026-09-23 18:35:15 +02:00
2026-07-16 22:51:07 +02:00
2026-09-07 22:34:47 +02:00
2026-09-22 20:28:01 +02:00
2026-09-25 18:04:26 +02:00
2026-05-01 01:48:39 +02:00
2026-08-18 15:48:05 +02:00
2026-08-25 20:50:35 +02:00
2026-09-25 19:32:35 +02:00
2026-08-16 02:09:38 +02:00
2026-08-16 22:20:49 +02:00
2026-08-06 18:23:21 +02:00
2026-04-28 15:39:13 +02:00
2026-04-28 15:39:13 +02:00
2026-08-16 02:19:04 +02:00
2026-09-25 21:54:52 +02:00
2026-09-25 21:21:28 +02:00
2026-06-19 23:52:42 +02:00
2026-09-07 22:34:47 +02:00
2026-08-12 17:53:35 +03:00
2026-09-02 22:15:50 +02:00
2026-09-25 18:06:49 +02:00
2026-09-22 17:25:43 +02:00
2026-09-17 22:26:52 +02:00
2026-06-25 00:25:00 +02:00
2026-08-23 19:44:56 +06:00
2026-08-26 22:11:06 +02:00
2026-08-26 22:11:06 +02:00
2026-07-08 15:41:46 +02:00
2026-09-25 18:40:22 +02:00
2026-09-23 18:31:27 +02:00
2026-08-26 22:11:06 +02:00
2026-09-17 20:48:42 +02:00
2026-08-29 12:46:39 +02:00
2026-05-16 18:11:52 +02:00
2026-09-25 21:57:11 +02:00
2026-08-25 19:16:20 +02:00
2026-09-23 19:01:47 +02:00
2026-09-25 22:16:19 +02:00
2026-09-23 19:01:47 +02:00
2026-09-23 19:01:47 +02:00