Skip to content

v2.2.0

Choose a tag to compare

@quest-X quest-X released this 06 Sep 04:59
· 647 commits to master since this release

fix: filter 0-byte frames in save/restore + show validImageCount in dialog

On-demand video mode stores unloaded frames as new File([], name) empty
placeholders. AutoSaveService serialized these as 0-byte ArrayBuffers into
IndexedDB, and FileUtil.loadImage fails silently on them, leaving all
thumbnails spinning forever after restore.

  • AutoSaveService: drop entries with byteLength=0 before writing to IDB
  • IndexedDBManager.getProjectMeta(): add validImageCount (non-zero entries)
    and count annotated images from valid entries only
  • hasStoredProject(): use validImageCount instead of imageCount
  • ProjectRestoreService.checkForStoredData(): expose validImageCount
  • ProjectRestoreService.restoreProject(): skip 0-byte frames before dispatch
  • App.tsx: show "可恢复帧 X/Y" row in restore dialog when counts differ,
    highlight in orange when validImageCount=0
  • App.scss: add .warn color for zero-recoverable warning

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com