Pass preferTemplate through forceSuggestedDownloadSubfolder so manual
subfolder suggestions use the same configured folder rule as post-search
autofill. Added a focused test for the manual path.
- Preserve HuggingFace textual model/version IDs in download metadata instead of coercing to integers
- Add convrot as a recognized model variant suffix
- Recognize numeric precision tokens with optional mixed/scaled suffixes (e.g. int8mixed, fp8scaled)
- Report partial batch search failures as informational notifications rather than errors
In missing_browser_methods.js, apply the saved split before the first paint when
the docked panel is narrower than the last layout, instead of waiting one
animation frame. Also tighten fast-width estimation by trying
getBoundingClientRect().width when clientWidth/offsetWidth are unavailable, and
measure from the observed resize host rather than the browser element itself.
Add frontend storage and restore flow for active backend downloads so
workflow context, missing model bindings, and queue UI state survive
browser refreshes.
- Add queue storage methods for loading/saving/removing active download
recovery entries with serializable metadata.
- Add restoreActiveDownloadsFromBackend and rebindActiveDownloadMissingModels
to resolve_download_methods.
- Hook restore and rebind into lifecycle graph methods.
- Add tests for recovery persistence and refresh restoration behavior.
The delegated local-match-actions listener was bound once on the shared
container, so it captured the initial missing-model object. When the
detail pane rewires after the user switches missing models, the click
handler still resolved against the stale capture and queued the wrong
slot. Resolve the current missing model from dialog state on each click
instead of reusing the first binding's closure, and add a regression
test that exercises switching missing models before clicking Exact.