Skip to content

Preserve warnings from every Desktop import file - #1845

Open
PaulHax wants to merge 1 commit into
eslint-unused-directivesfrom
desktop-warning-preservation
Open

Preserve warnings from every Desktop import file#1845
PaulHax wants to merge 1 commit into
eslint-unused-directivesfrom
desktop-warning-preservation

Conversation

@PaulHax

@PaulHax PaulHax commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Preserve warnings from every Desktop import file

Failure case

A Desktop import can contain more than one primary annotation file. Before this change, each file
replaced the warnings from the preceding file. The import report showed warnings only from the last
file.

Supported annotation data was still imported. However, the missing warnings could hide skipped or
changed data from earlier files.

Steps to reproduce

Use dive-classification-test-data/coco/rle-mask-warning-aggregation/ from the test-data ZIP built
by PaulHax/dive-devkit.

  1. Use media/image-sequence/ as the image sequence.
  2. Call the exported Desktop ingestDataFiles function with
    rle-warning-fish.coco.json and rle-warning-shark.coco.json in the primary input list.
  3. Inspect the warnings after the import completes.
  4. Expect one warning for each file. Before this fix, the result contains only the last file's
    warning list.

Changes

  • Append warnings from each successful primary file in input order.
  • Keep duplicate warnings because each warning can describe a different input file.
  • Keep primary-file warnings before multicamera warnings.
  • Propagate a later parse error through the exported ingestion entry point.

Scope

This PR changes common.ts and common.spec.ts. It does not change the warning text or the import
dialog. The tests use the exported Desktop ingestion entry point. They do not use a live Electron
import dialog.

Hierarchy prerequisite

The hierarchy feature does not cause this bug, but its KWCOCO imports add warnings that the existing
bug could discard.

Stack

This is PR 2 of 9. Previous: TypeScript spec lint.
Next: isolate soft-clone metadata.

  1. Allow devDependency imports in TypeScript spec files
  2. Current — Preserve warnings from every Desktop import file
  3. Copy source metadata when creating a single-camera soft clone
  4. Add hierarchical track classification
  5. Centralize hierarchical classification changes
  6. Replace mutable merged tracks with read-only projections
  7. Make track lifecycle operations classification-safe
  8. Add lossless DIVE KWCOCO classification support
  9. Define raw and resolved classification boundaries

This PR is stacked on eslint-unused-directives.

Commit: a6737794 Preserve warnings from every desktop import file.

@BryonLewis BryonLewis left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems simple enough, most changes were just tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants