bvandeusen and Claude Opus 5.5
157f2803c0
CI and images / lint (push) Successful in 1s
CI and images / extension-version (push) Successful in 2s
CI and images / extension-test (push) Successful in 19s
CI and images / frontend-build (push) Successful in 28s
CI and images / backend-lint-and-test (push) Successful in 35s
CI and images / integration (push) Successful in 2m25s
CI and images / sign-extension (push) Successful in 3s
CI and images / build-agent (push) Successful in 6s
CI and images / build-web (push) Successful in 2m3s
CI and images / smoke-web (push) Successful in 55s
CI and images / promote (push) Successful in 1s
CI and images / refresh-dev (push) Skipped
CI and images / unattended-failure (push) Skipped
fix: downloads stop leaving files on disk that the library doesn't use
...
- An archive whose images were extracted was kept at its download path
as well as in the attachments store. Both download paths now remove
the downloaded copy.
- A downloaded file the import filters reject (too small, transparent,
single colour, unreadable) was left on disk with no record. A later
walk found it, imported it again and rejected it again, every time.
Rejected files are now removed; the seen ledger keeps them from being
downloaded again.
- Both paths share one policy, Importer.discard_after_attach, which
never removes a file an ImageRecord points at.
- An external-link fetch that fails, or whose worker was killed, left
partial files (megatools' .megatmp.*) in the link's dir, and a killed
fetch left its link 'downloading' for good. A fetch now clears
unrecorded leftovers before starting and after failing. The sweep
returns a link to retry once it has been 'downloading' past the
task's hard limit, using a new external_link.started_at column
(migration 0117).
- The orphaned temp-file sweep now recognises .megatmp.* as well as
.part and .partial.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-05 18:00:31 -05:00
..
2026-09-21 20:46:15 -04:00
2026-05-14 07:32:17 -04:00
2026-11-05 10:34:14 -05:00
2026-09-23 18:52:08 -04:00
2026-09-24 16:39:38 -04:00
2026-09-11 22:59:29 -04:00
2026-09-24 19:09:07 -04:00
2026-09-24 07:07:31 -04:00
2026-09-24 19:09:07 -04:00
2026-07-02 11:20:45 -04:00
2026-08-26 22:37:24 -04:00
2026-06-12 13:05:58 -04:00
2026-06-01 14:17:52 -04:00
2026-09-13 22:38:27 -04:00
2026-06-03 15:45:59 -04:00
2026-08-27 07:48:18 -04:00
2026-06-26 11:47:48 -04:00
2026-09-24 16:39:38 -04:00
2026-11-05 10:34:14 -05:00
2026-06-17 12:03:48 -04:00
2026-05-30 00:59:05 -04:00
2026-05-28 11:33:05 -04:00
2026-09-25 08:01:02 -04:00
2026-06-23 01:11:42 -04:00
2026-09-24 16:39:38 -04:00
2026-06-28 10:36:25 -04:00
2026-05-28 11:33:05 -04:00
2026-07-06 22:59:00 -04:00
2026-09-13 11:45:49 -04:00
2026-07-10 22:38:25 -04:00
2026-06-01 14:17:52 -04:00
2026-06-11 23:10:30 -04:00
2026-09-24 11:25:52 -04:00
2026-09-21 00:16:14 -04:00
2026-05-28 11:33:05 -04:00
2026-05-30 23:15:07 -04:00
2026-09-21 19:25:42 -04:00
2026-07-10 15:22:51 -04:00
2026-09-25 09:46:39 -04:00
2026-05-28 11:33:05 -04:00
2026-06-30 13:04:31 -04:00
2026-09-24 16:39:38 -04:00
2026-05-28 11:33:05 -04:00
2026-07-06 18:51:39 -04:00
2026-06-01 21:57:29 -04:00
2026-11-05 10:39:32 -05:00
2026-06-06 14:33:24 -04:00
2026-09-23 08:32:49 -04:00
2026-09-24 07:07:31 -04:00
2026-08-27 07:24:08 -04:00
2026-09-11 22:59:29 -04:00
2026-09-25 07:45:51 -04:00
2026-06-01 14:17:52 -04:00
2026-06-03 15:45:59 -04:00
2026-05-19 11:11:07 -04:00
2026-09-28 08:12:43 -04:00
2026-05-26 01:18:07 -04:00
2026-05-19 14:59:04 -04:00
2026-06-01 22:09:02 -04:00
2026-09-21 08:35:35 -04:00
2026-09-24 16:36:58 -04:00
2026-06-26 11:47:48 -04:00
2026-09-24 16:39:38 -04:00
2026-09-25 11:36:17 -04:00
2026-06-24 00:06:49 -04:00
2026-09-24 16:39:38 -04:00
2026-05-21 16:02:36 -04:00
2026-05-26 08:13:53 -04:00
2026-08-26 22:37:24 -04:00
2026-09-23 13:04:26 -04:00
2026-07-02 21:51:51 -04:00
2026-06-29 10:17:05 -04:00
2026-06-09 23:46:01 -04:00
2026-09-28 10:03:06 -04:00
2026-09-24 19:42:00 -04:00
2026-09-24 13:47:25 -04:00
2026-09-24 23:14:48 -04:00
2026-09-28 08:34:06 -04:00
2026-09-13 20:52:32 -04:00
2026-09-24 15:21:05 -04:00
2026-09-24 19:42:00 -04:00
2026-09-25 10:32:41 -04:00
2026-06-30 13:41:25 -04:00
2026-11-05 18:00:31 -05:00
2026-11-05 10:34:14 -05:00
2026-09-24 23:31:38 -04:00
2026-05-28 12:43:08 -04:00
2026-07-13 17:50:07 -04:00
2026-05-15 13:53:42 -04:00
2026-06-16 21:15:49 -04:00
2026-11-05 18:00:31 -05:00
2026-05-29 15:34:20 -04:00
2026-05-20 20:39:17 -04:00
2026-09-25 10:56:08 -04:00
2026-06-03 22:58:46 -04:00
2026-06-17 12:03:48 -04:00
2026-06-04 07:01:07 -04:00
2026-06-03 23:50:19 -04:00
2026-07-12 23:15:59 -04:00
2026-09-21 00:16:14 -04:00
2026-09-13 10:53:01 -04:00
2026-09-23 12:48:22 -04:00
2026-09-24 16:39:38 -04:00
2026-07-02 21:07:21 -04:00
2026-09-24 16:39:38 -04:00
2026-09-24 16:39:38 -04:00
2026-09-24 16:39:38 -04:00
2026-09-24 16:39:38 -04:00
2026-08-28 18:08:31 -04:00
2026-09-23 09:07:39 -04:00
2026-07-06 23:34:18 -04:00
2026-06-14 16:39:58 -04:00
2026-08-27 07:51:23 -04:00
2026-05-19 11:14:49 -04:00
2026-06-21 22:22:03 -04:00
2026-05-18 21:33:55 -04:00
2026-09-25 10:56:08 -04:00
2026-05-25 20:33:44 -04:00
2026-05-25 22:16:26 -04:00
2026-06-01 14:40:28 -04:00
2026-06-01 14:17:52 -04:00
2026-09-21 08:48:46 -04:00
2026-07-09 16:17:56 -04:00
2026-06-14 13:15:36 -04:00
2026-11-05 18:00:31 -05:00
2026-09-13 22:08:06 -04:00
2026-09-11 22:59:29 -04:00
2026-09-13 16:07:26 -04:00
2026-09-10 23:40:48 -04:00
2026-06-12 13:05:58 -04:00
2026-06-30 13:04:31 -04:00
2026-09-23 16:46:22 -04:00
2026-05-15 07:36:17 -04:00
2026-09-24 16:39:38 -04:00
2026-06-03 13:00:08 -04:00
2026-05-14 07:34:29 -04:00
2026-06-07 18:34:11 -04:00
2026-09-21 08:48:46 -04:00
2026-06-17 11:32:28 -04:00
2026-06-15 00:14:52 -04:00
2026-09-23 19:21:06 -04:00
2026-11-05 09:53:57 -05:00
2026-09-13 16:01:50 -04:00
2026-07-04 22:37:50 -04:00
2026-06-05 19:26:57 -04:00
2026-09-21 00:16:14 -04:00
2026-09-21 00:16:14 -04:00
2026-09-24 19:42:00 -04:00
2026-09-21 20:46:15 -04:00
2026-09-24 14:01:07 -04:00
2026-09-28 07:03:47 -04:00
2026-09-24 11:25:52 -04:00
2026-09-24 13:47:25 -04:00
2026-09-24 16:39:38 -04:00
2026-07-06 23:46:09 -04:00
2026-09-25 08:20:28 -04:00
2026-06-15 00:14:52 -04:00
2026-09-12 19:57:00 -04:00
2026-09-13 15:57:19 -04:00
2026-07-13 12:06:22 -04:00
2026-07-13 21:41:34 -04:00
2026-09-25 09:30:17 -04:00
2026-07-02 16:53:08 -04:00
2026-08-27 07:33:14 -04:00
2026-09-24 16:39:38 -04:00
2026-09-25 10:09:47 -04:00
2026-09-25 08:20:28 -04:00
2026-07-06 18:13:37 -04:00
2026-06-06 14:33:24 -04:00
2026-05-25 22:16:26 -04:00
2026-05-19 11:14:49 -04:00
2026-09-24 23:14:48 -04:00
2026-06-11 21:30:01 -04:00
2026-06-11 23:17:14 -04:00
2026-06-11 21:47:58 -04:00
2026-06-07 18:58:18 -04:00
2026-06-11 21:30:01 -04:00
2026-06-11 23:10:30 -04:00
2026-06-11 23:10:30 -04:00
2026-09-23 18:52:08 -04:00
2026-05-15 15:49:25 -04:00
2026-09-25 11:36:17 -04:00
2026-09-13 11:45:49 -04:00
2026-05-14 12:04:05 -04:00
2026-09-24 23:14:48 -04:00
2026-09-13 16:07:26 -04:00
2026-09-23 19:21:06 -04:00
2026-09-24 16:39:38 -04:00
2026-07-03 08:34:16 -04:00
2026-06-26 00:51:56 -04:00
2026-06-30 13:04:31 -04:00
2026-06-06 23:57:06 -04:00
2026-05-26 21:00:12 -04:00
2026-07-06 19:03:51 -04:00
2026-05-15 07:39:33 -04:00
2026-06-06 17:39:54 -04:00
2026-11-05 10:34:14 -05:00
2026-11-05 10:34:14 -05:00
2026-11-05 10:34:14 -05:00
2026-11-05 10:34:14 -05:00
2026-07-02 16:53:08 -04:00
2026-05-27 22:45:11 -04:00
2026-05-21 18:53:35 -04:00
2026-05-14 12:05:19 -04:00
2026-05-21 16:01:59 -04:00
2026-07-02 23:19:41 -04:00
2026-07-10 22:38:25 -04:00
2026-07-10 22:38:25 -04:00
2026-05-19 18:15:59 -04:00
2026-09-23 09:17:58 -04:00
2026-09-25 08:20:28 -04:00
2026-09-25 08:20:28 -04:00
2026-09-24 18:21:11 -04:00
2026-09-23 18:52:08 -04:00