Linus Rath
b92b488e39
fix: stop a local import losing messages on a held file and name what a resume leaves out
...
Fixes from the review of the desktop import.
- A message another program holds is no longer recorded as deleted. Only a
real absence moves the import past it; anything else is tried again and
then reported as a failure, and the next run reads it.
- A resume that can't read some folders names them in a toast with a choice
to stop trying, keeps the job open and retries only those at the next start.
Files chosen by hand in the same dialog are named, since they can't come
back by themselves.
- A wipe or sign-out releases the job in the shell before the record goes.
Leaving the dialog without starting releases the confirmed files. Job
records are per account, and a start is refused while another window holds
that account's job.
- Dedupe goes by the bytes without state headers: a reused Message-ID of the
same length dropped a real message. Older records still count, so nothing
goes in twice.
- A lost connection on a folder or Email/import pauses instead of counting
towards the failures that stop an import.
- The taskbar goes through `lib/desktop/taskbar-progress.ts`.
Test changes: the taskbar test now renders the host, because its helper in
`local-import-job.ts` is gone, and the dedupe tests use `check`, which replaced
`keyFor` and `has`.
2026-11-03 19:17:38 +01:00
..
2026-11-03 18:28:49 +01:00
2026-11-03 18:28:49 +01:00
2026-11-02 23:40:32 +01:00
2026-11-03 08:37:10 +01:00
2026-11-03 08:48:10 +01:00
2026-10-30 00:12:24 +01:00
2026-11-02 20:01:22 +01:00
2026-11-03 15:40:10 +01:00
2026-11-01 07:14:10 +01:00
2026-10-20 15:16:05 +02:00
2026-10-28 06:28:02 +01:00
2026-11-03 00:17:46 +01:00
2026-11-03 19:17:38 +01:00
2026-11-03 17:19:39 +01:00
2026-11-03 17:38:04 +01:00
2026-10-29 12:26:04 +01:00
2026-11-03 06:16:45 +01:00
2026-11-01 02:59:40 +01:00
2026-11-01 00:07:41 +01:00
2026-11-03 18:34:24 +01:00
2026-11-02 19:46:00 +01:00
2026-11-03 17:29:42 +01:00
2026-11-03 19:17:38 +01:00
2026-11-01 03:49:54 +01:00
2026-11-03 12:06:21 +01:00
2026-11-03 19:17:38 +01:00
2026-11-01 06:42:46 +01:00
2026-11-02 20:14:49 +01:00
2026-11-03 14:08:20 +01:00
2026-11-03 13:19:44 +01:00
2026-11-03 18:28:49 +01:00
2026-11-02 20:46:06 +01:00
2026-11-03 08:37:10 +01:00
2026-11-03 10:13:06 +01:00
2026-11-01 17:25:23 +01:00
2026-11-01 06:35:56 +01:00
2026-11-01 14:19:54 +01:00
2026-11-01 19:25:13 +01:00
2026-11-03 13:19:44 +01:00
2026-10-31 17:45:26 +01:00
2026-11-01 03:25:28 +01:00
2026-11-03 17:39:54 +01:00
2026-10-30 05:42:47 +01:00
2026-11-03 17:38:04 +01:00
2026-10-29 17:53:44 +01:00
2026-11-01 03:49:54 +01:00
2026-10-31 23:47:31 +01:00
2026-08-25 19:16:20 +02:00
2026-11-01 02:59:40 +01:00
2026-10-29 17:53:32 +01:00
2026-10-29 17:53:32 +01:00
2026-10-18 14:39:59 +02:00
2026-10-31 23:59:43 +01:00
2026-10-16 05:46:46 +02:00
2026-10-05 10:36:20 +02:00
2026-10-27 10:31:54 +01:00
2026-11-03 06:32:27 +01:00
2026-10-15 00:12:59 +02:00
2026-10-29 17:53:57 +01:00
2026-10-29 18:58:11 +01:00
2026-10-28 12:34:27 +01:00
2026-11-01 12:56:28 +01:00
2026-10-16 20:48:28 +02:00
2026-10-31 01:50:03 +01:00
2026-10-31 01:50:03 +01:00
2026-10-19 01:32:30 +02:00
2026-06-19 12:31:07 +02:00
2026-09-19 00:53:53 +02:00
2026-10-29 19:38:45 +01:00
2026-11-03 05:41:35 +01:00
2026-10-29 20:24:27 +01:00
2026-08-16 21:18:57 +02:00
2026-11-01 06:00:43 +01:00
2026-11-02 22:52:04 +01:00
2026-10-02 22:56:16 +02:00
2026-11-02 22:52:04 +01:00
2026-09-03 22:12:15 -07:00
2026-11-03 05:41:35 +01:00
2026-10-26 15:15:58 +01:00
2026-11-02 22:52:04 +01:00
2026-10-29 14:20:44 +01:00
2026-10-12 08:35:08 +02:00
2026-10-28 21:08:20 +01:00
2026-11-02 23:29:43 +01:00
2026-09-09 18:27:01 +02:00
2026-10-29 17:53:34 +01:00
2026-10-15 22:31:07 +02:00
2026-10-15 23:54:37 +02:00
2026-09-26 20:47:13 +02:00
2026-11-03 05:41:35 +01:00
2026-09-25 19:41:00 +02:00
2026-10-25 02:09:37 +02:00
2026-10-29 19:38:45 +01:00
2026-10-28 02:00:31 +01:00
2026-10-31 22:17:39 +01:00
2026-11-01 06:44:57 +01:00
2026-11-03 12:53:40 +01:00
2026-11-01 02:50:19 +01:00
2026-10-28 04:28:09 +01:00
2026-09-25 20:05:19 +02:00
2026-09-25 20:05:19 +02:00
2026-10-29 17:53:51 +01:00
2026-09-25 17:35:56 +02:00
2026-04-12 01:10:28 +02:00
2026-09-25 22:16:19 +02:00
2026-11-03 05:26:43 +01:00
2026-11-01 18:41:36 +01:00
2026-11-01 09:47:28 +01:00
2026-11-03 14:08:20 +01:00
2026-10-13 13:36:51 +02:00
2026-11-01 08:52:34 +01:00
2026-11-03 12:53:40 +01:00
2026-09-26 04:32:25 +02:00
2026-10-29 17:53:47 +01:00
2026-11-02 22:52:03 +01:00
2026-11-02 22:52:04 +01:00
2026-10-25 12:39:28 +01:00
2026-08-25 19:36:04 +02:00
2026-09-23 19:41:44 +02:00
2026-10-31 16:21:35 +01:00
2026-10-19 00:54:24 +02:00
2026-10-30 11:14:22 +01:00
2026-10-15 01:17:39 +02:00
2026-10-29 17:53:56 +01:00
2026-09-25 19:24:30 +02:00
2026-05-06 20:07:36 +02:00
2026-11-01 07:05:02 +01:00
2026-11-03 15:42:19 +01:00
2026-11-03 00:45:56 +01:00
2026-10-19 01:04:45 +02:00
2026-11-03 09:58:48 +01:00
2026-10-28 08:07:55 +01:00
2026-08-20 16:49:31 +02:00
2026-09-25 22:16:19 +02:00
2026-09-25 18:37:41 +02:00
2026-10-26 11:22:10 +01:00
2026-11-03 00:17:45 +01:00
2026-10-28 03:51:27 +01:00
2026-10-28 03:35:46 +01:00
2026-11-01 08:52:34 +01:00
2026-11-01 04:47:05 +01:00
2026-10-17 19:18:16 +02:00
2026-10-15 01:03:02 +02:00
2026-08-20 14:21:41 +02:00
2026-10-15 14:50:31 +08:00
2026-11-01 06:57:24 +01:00
2026-10-29 18:28:06 +01:00
2026-10-29 17:53:57 +01:00
2026-11-02 22:52:03 +01:00
2026-09-25 19:30:58 +02:00
2026-09-24 21:15:22 +02:00
2026-05-18 16:01:29 +02:00
2026-11-03 00:42:53 +01:00
2026-11-03 00:42:53 +01:00
2026-10-13 14:53:23 +02:00
2026-10-13 13:36:51 +02:00
2026-10-29 17:53:35 +01: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-11-03 07:08:38 +01:00
2026-10-28 12:50:59 +01:00
2026-09-26 20:24:23 +02:00
2026-10-31 16:14:35 +01: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-11-01 02:50:19 +01:00
2026-10-29 17:53:54 +01:00
2026-10-26 20:35:53 +01:00
2026-10-29 17:53:59 +01:00
2026-10-29 17:53:48 +01:00
2026-06-24 19:32:13 +02:00
2026-11-03 00:29:02 +01:00
2026-10-17 21:01:34 +02:00
2026-11-01 05:02:32 +01:00
2026-09-25 18:37:41 +02:00
2026-10-12 08:35:08 +02:00
2026-10-17 19:18:23 +02:00
2026-10-31 01:16:34 +01:00
2026-10-17 19:18:20 +02:00
2026-10-15 21:50:08 +02:00
2026-10-31 01:21:02 +01:00
2026-10-29 17:53:37 +01:00
2026-11-01 09:39:36 +01:00
2026-11-01 08:02:39 +01:00
2026-11-03 12:53:40 +01:00
2026-08-29 18:11:50 +02:00
2026-11-01 07:14:10 +01:00
2026-11-01 07:07:30 +01:00
2026-11-01 07:07:30 +01:00
2026-11-01 07:07:30 +01:00
2026-10-27 23:03:41 +01:00
2026-11-01 11:46:11 +01:00
2026-10-14 04:05:43 +02:00
2026-10-14 03:50:55 +02:00
2026-11-02 20:17:11 +01:00
2026-11-01 09:51:00 +01:00
2026-11-03 11:31:14 +01:00
2026-10-25 02:24:08 +01:00
2026-10-17 19:18:25 +02:00
2026-10-14 03:04:17 +02:00
2026-11-03 01:48:30 +01:00
2026-10-29 14:11:34 +01:00
2026-11-03 10:15:15 +01:00
2026-10-14 02:21:45 +02:00
2026-11-03 01:35:57 +01:00
2026-10-25 02:18:18 +02:00
2026-10-14 03:39:13 +02:00
2026-11-03 13:24:10 +01:00
2026-10-14 01:47:58 +02:00
2026-10-22 04:14:54 +03:00
2026-10-28 09:48:49 +01:00
2026-10-26 20:35:52 +01:00
2026-10-20 12:23:55 +02:00
2026-10-28 02:19:06 +01:00
2026-10-15 14:31:09 +02:00
2026-10-31 16:21:37 +01:00
2026-06-25 00:25:28 +02:00
2026-10-29 17:53:58 +01:00
2026-04-09 22:13:08 +02:00
2026-10-29 17:53:38 +01:00
2026-10-18 18:23:45 +02:00
2026-11-03 05:42:01 +01:00
2026-11-03 05:42:01 +01:00
2026-09-23 13:40:01 +02:00
2026-09-26 00:25:27 +02:00
2026-11-03 06:32:53 +01:00
2026-10-29 19:38:45 +01:00
2026-10-19 00:07:04 +02:00
2026-10-31 16:55:10 +01:00
2026-10-17 20:31:25 +02:00
2026-08-06 19:19:18 +02:00
2026-10-30 00:12:24 +01:00
2026-11-01 17:40:33 +01:00
2026-10-29 14:34:00 +01:00
2026-10-11 19:50:40 +02:00
2026-11-01 00:02:35 +01:00
2026-11-01 17:43:51 +01:00
2026-11-01 17:43:51 +01:00
2026-10-16 01:41:48 +02:00
2026-08-25 20:09:18 +02:00
2026-10-28 10:35:53 +01:00
2026-10-13 13:36:51 +02:00
2026-10-25 02:15:13 +02:00
2026-11-03 02:35:01 +01:00
2026-11-03 00:29:56 +01:00
2026-10-31 23:57:08 +01:00
2026-11-01 18:41:36 +01:00
2026-10-29 14:35:22 +01:00
2026-10-13 15:55:54 +02:00
2026-10-28 08:58:11 +01:00
2026-10-28 02:00:31 +01:00
2026-09-19 13:32:41 +02:00
2026-11-03 16:58:11 +01:00
2026-10-11 19:41:48 +02:00
2026-10-28 04:00:25 +01:00
2026-10-29 17:53:34 +01:00
2026-11-01 08:52:34 +01:00
2026-09-26 15:31:05 +02:00
2026-10-31 23:44:26 +01:00
2026-10-31 23:57:08 +01:00
2026-10-30 04:41:29 +01:00
2026-05-06 20:07:36 +02:00
2026-10-30 04:41:29 +01:00
2026-10-07 08:26:51 +03:00
2026-10-28 06:13:47 +01:00
2026-10-19 18:41:44 +02:00
2026-11-02 22:52:03 +01:00
2026-11-03 06:32:27 +01:00
2026-09-26 14:36:02 +02:00
2026-10-30 00:40:05 +01:00
2026-11-01 18:41:58 +01:00
2026-10-28 04:30:32 +01:00
2026-08-16 02:19:04 +02:00
2026-10-26 12:26:58 +01:00
2026-10-26 10:14:12 +01:00
2026-10-29 17:53:49 +01:00
2026-09-26 14:15:10 +02:00
2026-10-29 17:53:45 +01:00
2026-10-15 00:41:07 +02:00
2026-10-06 23:29:42 +02:00
2026-10-29 17:53:46 +01:00
2026-10-26 10:14:12 +01:00
2026-10-31 00:37:05 +01:00
2026-08-23 19:44:56 +06:00
2026-10-25 02:09:37 +02:00
2026-11-01 13:33:42 +01:00
2026-11-01 08:02:39 +01:00
2026-09-26 14:41:14 +02:00
2026-11-01 00:41:21 +01:00
2026-10-19 00:54:24 +02:00
2026-05-21 23:35:58 +02:00
2026-11-01 08:52:34 +01:00
2026-11-03 06:32:27 +01:00
2026-11-03 16:52:42 +01:00