ComfyUI/app/assets/api
Matt Miller 65eac2ba82 fix(assets): treat explicit empty hash filter as exact-match miss
Address review findings on the listAssets contract PR:

- Empty `?hash=` no longer collapses to "no filter" (which returned a full
  unfiltered page); it now stays "" and is matched exactly, yielding an
  empty page — consistent with the documented "malformed -> empty page"
  contract. Omitting the param entirely still disables the filter.
- Guard `list_references_page` on `asset_hash is not None` (page + count)
  so the present-empty vs omitted distinction is preserved.
- Add tests for hash normalization (uppercase/whitespace) and for the
  explicit-empty -> empty-page behavior.
- Clarify the `include_public` comment: core reads are owner-scoped with no
  separate public pool, so the flag is inert here; cloud enforces it in its
  own service layer.
2026-07-08 22:34:19 -07:00
..
routes.py feat: implement remaining listAssets contract fields (display_name, hash filter, include_public) 2026-07-08 22:34:19 -07:00
schemas_in.py fix(assets): treat explicit empty hash filter as exact-match miss 2026-07-08 22:34:19 -07:00
schemas_out.py feat(assets): add namespaced model_type tags and align tag semantics (#14511) 2026-07-08 22:00:08 -07:00
upload.py feat(assets): add namespaced model_type tags and align tag semantics (#14511) 2026-07-08 22:00:08 -07:00