Skip to content

Blob and File input (release v0.7.0) - #16

Merged
jwindhager merged 3 commits into
mainfrom
feat/blobs
Sep 17, 2026
Merged

jwindhager merged 3 commits into
mainfrom
feat/blobs

Conversation

@jwindhager

@jwindhager jwindhager commented Sep 17, 2026 •

Copy link
Copy Markdown
Member

Prepares the v0.7.0 release.

Highlights

  • url accepts a Blob (e.g. a File from an <input type="file"> or a drop event) holding a zipped OME-Zarr file, in the options object, the constructor, OMEZarrTileSource.open and loadOMEZarr; it is read with the zarrita ZipFileStore.fromBlob store
  • zip defaults to true for a Blob; zip: false is rejected synchronously by the constructor and by loadOMEZarr, since a single file can only be a zipped OME-Zarr
  • New blob property holding the configured Blob; tileSource.url stays a string and is an object URL created once per Blob instance (resolveUrl accepts a Blob), so tile sources for the same Blob compare equal and share cached tiles
  • OpenSeadragon only routes strings and plain objects through supports, so a File must be wrapped as { type: "ome-zarr", url: file } or passed to the constructor rather than given to the viewer directly (documented in the README)
  • colors getter returns undefined (rendered as white) for omero channel colors that are not six-digit hex strings, instead of colors with NaN components
  • Example page shows a file picker for a zipped OME-Zarr file when the url query parameter is missing (demo only, not part of the published package)

The full list is in the changelog.

Release

  • package.json bumped to 0.7.0, changelog rolled over to [0.7.0] - 2026-09-17
  • Tag v0.7.0 still needs to be pushed after merging to trigger the publish workflow

Checks

pnpm run lint, fmt:check, test (no test files) and build:lib pass. Verified end-to-end in Node (jsdom) against a synthetic zipped OME-Zarr wrapped in a File: loading, zip: false rejection, shared object URL and equals, tile rendering, and the inline-configuration path through a real OpenSeadragon viewer; the existing URL path renders unchanged.

@codecov

codecov Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (71afa46) to head (bcdb76d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@    Coverage Diff     @@
##   main   #16   +/-   ##
==========================
==========================

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jwindhager
jwindhager marked this pull request as ready for review September 17, 2026 15:31
Copilot AI lite review requested due to automatic review settings September 17, 2026 15:32
@jwindhager jwindhager self-assigned this Sep 17, 2026
@jwindhager
jwindhager merged commit 5f919ff into main Sep 17, 2026
5 checks passed
@jwindhager
jwindhager deleted the feat/blobs branch September 17, 2026 15:32
@jwindhager
jwindhager removed the request for review from Copilot September 17, 2026 15:32
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.

1 participant