Files
Will Miao 291d4feae4 feat(modal): calculate a pending sha256 from the model modal
Checkpoints and other large models are scanned lazily: the cache entry has
an empty sha256 with hash_status="pending", so the modal's hash footnote
rendered nothing and the hash could not be copied for external lookups.

- Expose hash_status in the model list responses and pass it to the modal
  through the card dataset.
- Render the pending / calculating / failed states in the hash footnote
  with a manual trigger, then swap in the calculated hash with its copy
  button; the underlying card and virtual-scroll entry stay in sync.
- Add POST /api/lm/{prefix}/calculate-hash, which reuses the scanner's
  singleflight hash calculation and persists the SQLite cache so the hash
  survives a restart without a rescan.
2026-11-04 10:54:36 +08:00
..