Skip to content

v2.4.0

Choose a tag to compare

@moskovich moskovich released this 01 Sep 21:01
· 11 commits to main since this release
d697ad6

Added

  • ff-cli enrich <file> (#111) — repairs a playlist this CLI did not build. Items that carry a source and provenance but no inlineManifest label title-only on the FF1 tombstone, and show an empty tile in the app's grid for every live-code work: the app can rasterize an image, video, or SVG source, but not an HTML page. A playlist of computational art is mostly live HTML, so that is the case that looks broken.

    Each item is resolved by its provenance.contract and given a manifest. Nothing else is touched — source, duration, title, id and display are curator decisions and survive as found, and an item the indexer cannot resolve is reported rather than guessed at.

    DP-1 records an EVM coordinate as chain: "evm", which names Ethereum, Polygon, Arbitrum, Optimism, Base and Zora alike, and the indexer's answer collapses back to the same word. Those items are skipped unless --assume-ethereum asserts the network, because picking a member unasked risks attaching a different artwork's artist and still to a document you then sign.

    In-place writes are atomic, crash-durable, and refuse to run over an input that changed while the lookup was in flight. --output writes elsewhere and is the right choice for a file under active editing.

Fixed

  • INDEXER_API_URL is gated on NODE_ENV (#112), so a stray value in a .env cannot silently redirect token lookups. The production endpoint stays hardcoded.
  • The find-command indexer mock speaks the real GraphQL contract and rejects operations it does not model (#110, #112), so the suite can no longer stay green over a broken client protocol. It is also hermetic — the release gate no longer races a live service, which is what left 2.3.0 unshipped for two weeks.

Known limitation: extended ACLs are not preserved by in-place replacement, since Node exposes no portable way to read them. Use --output for a playlist carrying them.