ComfyUI/tests-unit/assets_test/services
Simon Pinfold 9b224973ac Derive asset preview URLs from the file path
preview_url was assembled from a /api/view link whose type was chosen by
matching the asset's tags against "input" then "output". Anything written
anywhere else - temp above all, where preview nodes put their images - fell
off the end of that chain and came back with no preview at all. Tags are
user-editable, so removing one also silently destroyed the URL.

Derive the URL from where the file actually sits instead. That covers every
root /api/view serves, temp included, and no longer depends on tags or on a
filename in user_metadata. A file outside those roots, or content no client
can render from its own bytes, gets no preview URL rather than one that
cannot work.

Nominated previews are resolved a page at a time rather than per row, so a
list costs one extra query however long it is. A preview that is soft-deleted
or not visible to the caller drops out of that lookup and is no longer
advertised.
2026-08-13 16:30:28 -07:00
..
__init__.py refactor(assets): modular architecture + async two-phase scanner & background seeder (#12621) 2026-03-07 20:37:25 -05:00
conftest.py feat(assets): register output files as assets after prompt execution (#12812) 2026-03-24 20:48:55 -07:00
test_asset_management.py feat(assets): align local API with cloud spec (#12863) 2026-03-16 12:34:04 -07:00
test_asset_response_loader_path.py Derive asset preview URLs from the file path 2026-08-13 16:30:28 -07:00
test_asset_response_preview_url.py Derive asset preview URLs from the file path 2026-08-13 16:30:28 -07:00
test_bulk_ingest.py feat(assets): add namespaced model_type tags and align tag semantics (#14511) 2026-07-08 22:00:08 -07:00
test_cursor.py feat(assets): cursor-based pagination on GET /api/assets (#14014) 2026-06-09 21:14:03 -07:00
test_enrich.py feat(assets): register output files as assets after prompt execution (#12812) 2026-03-24 20:48:55 -07:00
test_image_dimensions.py feat(assets): extract image dimensions at ingest and emit on asset responses (#13991) 2026-06-08 14:27:50 -07:00
test_ingest.py feat(assets): add namespaced model_type tags and align tag semantics (#14511) 2026-07-08 22:00:08 -07:00
test_path_utils.py feat(assets): add namespaced model_type tags and align tag semantics (#14511) 2026-07-08 22:00:08 -07:00
test_tag_histogram.py feat(assets): align local API with cloud spec (#12863) 2026-03-16 12:34:04 -07:00
test_tagging.py chore(assets): drop vestigial tags.tag_type column (#14248) 2026-06-09 21:07:10 -07:00