Skip to content

Releases: oddurs/steady

Steady v0.2.0 — less waiting, fewer requests

Choose a tag to compare

@oddurs oddurs released this 12 Oct 02:25

Steady v0.2 reduces waiting and unnecessary requests while keeping intent immediate.

  • Bounded navigation prefetch: warm on hover or focus, deduplicate identical requests, consume results once, and reuse in-flight speculation when navigation starts. Includes TTL, entry/concurrency limits, speculative timeout, LRU eviction, and explicit invalidation.
  • Debounced tasks: acknowledge every input immediately, execute only the latest scheduled request, and use flush() for Enter or submit. Feedback and timeouts start with execution.
  • Stronger lifecycle contracts: navigation data is always defined in TypeScript; retry after disposal consistently reports disposed.
  • Expanded playground: prefetch experiments, visible request counts, debounced search, and a working search shortcut.
  • Repeatable package verification: isolated core imports without React; React 18/19 SSR; ESM/CommonJS imports; strict NodeNext declarations.

Validation: 78 unit/React tests and 22 desktop/mobile browser tests pass. Production builds and isolated package verification pass. CI remains manual-only.

Existing defaults are unchanged: prefetch is opt-in and debounce defaults to zero. Custom TaskSnapshot mocks must include isScheduled. See the API and upgrade documentation in the repository.

Install the attached package with npm install ./oddurs-steady-0.2.0.tgz. The package is not published to npm yet.

Steady v0.1.0

Choose a tag to compare

@oddurs oddurs released this 12 Oct 02:01

Steady's first release: durable interaction primitives with a framework-independent TypeScript core and headless React hooks.

  • Tasks with immediate pending state, stale-result protection, abort handling, delayed/slow feedback, explicit retry, and optional timeouts.
  • Async section navigation with separate selected and committed destinations.
  • Optimistic mutations with rollback, rebasing, and duplicate-submit protection.
  • Interactive playground with adjustable latency, failures, search, and out-of-order request races.
  • MIT license, integration guides, ESM/CommonJS builds, and TypeScript declarations.

Validation: 38 unit/React tests and 12 desktop/mobile browser tests pass. The packed package was installed in a separate project and checked for ESM, CommonJS, React, and server-rendering compatibility. The dependency audit is clean.

Download the attached tarball and install it with npm install ./oddurs-steady-0.1.0.tgz. The package is not published to npm yet. Run the playground from source with npm ci && npm run dev.

This is an initial 0.1 API. Actual routing/history, caching, server idempotency, and offline persistence remain application responsibilities. GitHub CI is manual-only.