Vito
88e5b78207
fix(gallery): check duplicate deletes in the scanned root and refresh the listing ( #305 )
...
The duplicate cleanup workflow failed in CI with the deleted file still
served (200). The delete was real: the scan reads only the output root,
and the browser fixture's input root holds a different shared/same.png.
The test checked a bare /images/serve/<path> URL, which tries every
gallery root, so after the output copy went it answered with the input
copy. That only happened when the kernel stamped a bulk copy a fraction
of a millisecond before the wall-clock stamp on shared/same.png, which
made shared/same.png a Delete candidate (CI trace: 0000 .8605533,
same .8606777, 0001 .8618972).
The workflow now checks each file in its own root (?root=N), checks the
input copy survives, and a new workflow forces the CI order through the
scan response so the collision runs every time.
The server log in that failure also showed the gallery listing a file
the cleanup had deleted: delete_duplicate_images left the 30 s listing
cache, so the gallery kept counting the file. A successful delete now
invalidates the gallery cache.
2026-10-23 05:42:59 -07:00
..
2026-10-23 05:42:59 -07:00
2026-10-22 16:06:07 -07:00
2026-10-17 13:14:02 -07:00
2026-10-23 01:38:36 -07:00
2026-10-23 04:59:18 -07:00
2026-10-23 03:24:20 -07:00
2026-02-07 08:30:09 -08:00
2026-10-19 22:04:32 -07:00
2026-10-17 23:26:37 -07:00
2026-10-22 10:36:58 -07:00
2026-10-19 17:26:37 -07:00
2026-10-23 01:38:36 -07:00
2026-10-23 01:38:36 -07:00
2026-10-22 21:39:01 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 07:19:53 -07:00
2026-10-22 07:19:53 -07:00
2026-10-23 05:42:59 -07:00
2026-10-22 10:36:58 -07:00
2026-10-22 10:36:58 -07:00
2026-10-22 10:36:58 -07:00
2026-10-22 21:39:01 -07:00
2026-10-23 01:38:36 -07:00
2026-10-17 08:00:42 -07:00
2026-10-18 17:17:05 -07:00
2026-10-21 02:25:25 -07:00
2026-10-22 21:39:01 -07:00
2026-10-21 04:18:28 -07:00
2026-10-17 08:00:42 -07:00
2026-10-22 21:39:01 -07:00
2026-10-17 08:00:42 -07:00
2026-10-23 01:38:36 -07:00
2026-10-22 10:36:58 -07:00
2026-10-22 07:19:53 -07:00
2026-10-22 10:36:58 -07:00
2026-10-17 08:00:42 -07:00
2026-10-22 10:36:58 -07:00
2026-10-17 23:26:37 -07:00
2026-10-21 23:10:57 -07:00
2026-10-23 03:24:20 -07:00
2026-10-20 00:18:32 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 21:39:01 -07:00
2026-10-22 10:36:58 -07:00
2026-10-22 07:19:53 -07:00
2026-10-19 11:10:47 -07:00
2026-10-23 04:59:18 -07:00
2026-10-22 07:19:53 -07:00
2026-10-20 11:31:53 -07:00
2026-10-17 16:42:07 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 19:51:22 -07:00
2026-10-17 19:51:22 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 19:51:22 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 16:42:07 -07:00
2026-10-17 23:26:37 -07:00
2026-10-18 20:03:15 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-23 02:36:07 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 16:42:07 -07:00
2026-10-17 05:31:24 -07:00
2026-10-17 08:00:42 -07:00
2026-10-19 20:56:51 -07:00
2026-10-19 20:56:51 -07:00
2026-10-23 05:17:10 -07:00
2026-10-08 18:53:11 -07:00
2026-10-21 04:18:28 -07:00
2026-10-18 17:17:05 -07:00
2026-10-21 02:25:25 -07:00
2026-10-17 23:26:37 -07:00
2026-10-21 10:55:35 -07:00
2026-10-21 09:10:18 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-21 00:53:04 -07:00
2026-10-22 21:39:01 -07:00
2026-10-19 20:56:51 -07:00
2026-10-23 00:52:00 -07:00
2026-10-19 09:54:29 -07:00
2026-10-19 17:26:37 -07:00
2026-10-21 10:55:35 -07:00
2026-10-21 04:18:28 -07:00
2026-10-19 09:54:29 -07:00
2026-10-22 10:36:58 -07:00
2026-10-19 17:26:37 -07:00
2026-10-22 21:39:01 -07:00
2026-10-22 21:39:01 -07:00
2026-10-18 20:03:15 -07:00
2026-10-23 04:59:18 -07:00
2026-10-23 01:38:36 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 10:36:58 -07:00
2026-02-07 12:36:11 -08:00
2026-10-22 10:36:58 -07:00
2026-10-08 18:53:11 -07:00
2026-10-07 13:52:09 -07:00
2026-10-17 08:00:42 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 19:51:22 -07:00
2026-10-21 10:55:35 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-23 05:17:10 -07:00
2026-10-22 07:19:53 -07:00
2026-10-22 07:19:53 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 06:47:46 -07:00
2026-10-17 19:51:22 -07:00
2026-10-21 10:55:35 -07:00
2026-10-18 20:03:15 -07:00
2026-04-10 12:49:59 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 16:42:07 -07:00
2026-10-21 09:10:18 -07:00
2026-10-21 18:07:16 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 06:47:46 -07:00
2026-10-23 04:59:18 -07:00
2026-10-17 16:42:07 -07:00
2026-10-08 18:53:11 -07:00
2026-10-18 10:01:19 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 10:21:02 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 07:19:53 -07:00
2026-10-23 01:58:02 -07:00