DemonGatanjieu and Claude Opus 5.5
8c044d0d5a
Keep very large pictures from freezing the gallery
...
A 20480x13312 upscale is past Pillow's pixel limit, so its card image
failed and the catch-all fallback served the 324 MB original as the
thumbnail: the gallery and the AI workbench decoded it every time.
- A picture past the limit is shrunk once by a child process
(huge_picture.py, low priority, one at a time) and cached; a card is
never a large original, one with no card image gets an SVG with its size.
- /anomalous/output_preview gives the viewers the picture or a cached
4096 px copy of a very large one; the viewer (moved to
ui_gallery_viewer.js), the image workbench's stage and the AI pages'
larger pictures use it, with a note and "Open the original".
- The listing carries each file's size (and big ones' pixel size); such a
card says "Very large".
- The browser-side PNG metadata read stops at the image data.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-29 14:23:22 +08:00
..
2026-10-29 02:19:59 +08:00
2026-10-22 14:55:48 +08:00
2026-10-29 14:23:22 +08:00
2026-10-26 15:01:28 +08:00
2026-10-22 18:56:23 +08:00
2026-10-26 19:02:46 +08:00
2026-10-26 00:30:22 +08:00
2026-10-26 14:26:41 +08:00
2026-10-26 15:01:28 +08:00
2026-10-26 02:02:50 +08:00
2026-10-23 21:11:10 +08:00
2026-10-24 03:16:28 +08:00
2026-10-27 01:22:21 +08:00
2026-10-28 22:52:30 +08:00
2026-10-26 02:02:50 +08:00
2026-10-23 00:23:08 +08:00
2026-10-23 00:56:01 +08:00
2026-10-26 16:24:58 +08:00
2026-10-23 00:23:08 +08:00
2026-10-24 15:20:20 +08:00
2026-10-23 15:56:44 +08:00
2026-10-27 15:30:08 +08:00
2026-10-23 15:46:20 +08:00
2026-10-27 03:31:04 +08:00
2026-10-27 02:40:51 +08:00
2026-10-27 03:58:05 +08:00
2026-10-22 19:46:31 +08:00
2026-10-23 03:05:17 +08:00
2026-10-02 01:42:49 +08:00
2026-09-24 13:13:49 +00:00
2026-10-19 00:54:28 +08:00
2026-10-27 17:14:48 +08:00
2026-10-19 00:54:28 +08:00
2026-10-19 23:08:29 +08:00
2026-10-06 03:37:17 +08:00
2026-10-29 14:23:22 +08:00
2026-10-19 00:54:28 +08:00
2026-10-29 14:23:22 +08:00
2026-10-14 20:28:44 +08:00
2026-10-19 16:52:03 +08:00
2026-10-17 13:08:10 +08:00
2026-10-05 23:00:32 +08:00
2026-10-19 23:08:29 +08:00
2026-09-29 15:36:07 +08:00
2026-10-03 22:32:51 +08:00
2026-10-03 22:59:35 +08:00
2026-10-11 17:41:23 +08:00
2026-10-26 16:24:58 +08:00
2026-10-26 01:49:34 +08:00
2026-10-26 21:34:04 +08:00
2026-10-23 00:56:01 +08:00
2026-10-29 00:09:49 +08:00
2026-10-26 15:01:28 +08:00
2026-10-24 15:13:07 +08:00
2026-10-24 15:54:42 +08:00
2026-10-26 14:26:41 +08:00
2026-10-22 20:51:03 +08:00
2026-10-26 21:25:15 +08:00
2026-10-24 15:54:42 +08:00
2026-10-29 00:09:49 +08:00
2026-10-29 14:23:22 +08:00
2026-10-29 14:23:22 +08:00
2026-10-19 00:54:28 +08:00
2026-10-26 14:26:41 +08:00
2026-10-19 15:34:41 +08:00
2026-10-03 14:23:05 +08:00
2026-10-19 23:08:29 +08:00
2026-10-16 21:18:31 +08:00
2026-10-16 22:43:44 +08:00
2026-10-23 21:44:59 +08:00
2026-10-19 00:54:28 +08:00
2026-10-19 00:54:28 +08:00
2026-10-23 21:44:59 +08:00
2026-10-19 00:54:28 +08:00
2026-10-03 12:00:47 +08:00
2026-10-14 21:59:50 +08:00
2026-10-11 12:50:20 +08:00
2026-10-16 19:49:29 +08:00
2026-10-02 06:09:49 +08:00
2026-10-02 01:57:06 +08:00
2026-10-11 17:41:23 +08:00
2026-10-16 21:12:15 +08:00
2026-10-19 15:34:41 +08:00
2026-10-11 01:03:40 +08:00
2026-10-11 17:41:23 +08:00
2026-10-07 01:14:29 +08:00
2026-10-13 21:57:36 +08:00
2026-10-02 01:42:49 +08:00
2026-10-16 15:00:30 +08:00
2026-10-29 00:09:49 +08:00
2026-10-26 14:26:41 +08:00
2026-10-19 00:54:28 +08:00
2026-10-14 20:10:34 +08:00
2026-10-16 22:43:44 +08:00
2026-10-14 20:10:34 +08:00
2026-10-19 00:54:28 +08:00
2026-10-14 20:10:34 +08:00
2026-10-02 01:42:49 +08:00
2026-10-17 13:08:10 +08:00
2026-10-14 21:49:32 +08:00
2026-09-18 01:56:10 +08:00
2026-10-17 13:08:10 +08:00
2026-09-18 01:40:10 +08:00