Commit Graph

3 Commits

Author SHA1 Message Date
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
Luke Mino-Altherr 7d5534d8e5
feat(assets): register output files as assets after prompt execution (#12812) 2026-03-24 20:48:55 -07:00
Luke Mino-Altherr 29b24cb517
refactor(assets): modular architecture + async two-phase scanner & background seeder (#12621) 2026-03-07 20:37:25 -05:00