Skip to content

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 12 Jan 07:03
· 112 commits to main since this release

New Features

Sync filter option for in-memory omnibar endpoints

Use filter instead of fetch for in-memory data sources - no async wrapper, no AbortSignal, and instant updates (no debounce delay):

useOmnibarEndpoint('stations', {
  filter: (query, pagination) => {
    const matches = stations.filter(s => s.name.includes(query))
    return {
      entries: matches.slice(pagination.offset, pagination.offset + pagination.limit)
        .map(s => ({ id: s.id, label: s.name, handler: () => select(s) })),
      total: matches.length,
      hasMore: pagination.offset + pagination.limit < matches.length,
    }
  },
  group: 'Stations',
  minQueryLength: 0,
})

Improvements

Eliminated omnibar flicker

  • Stale-while-revalidate: Results stay visible while loading new ones instead of clearing
  • Sync endpoints skip debouncing: filter endpoints update instantly (0ms) while fetch endpoints still debounce (150ms)

Bug Fixes

  • Fixed hideFromModal not working: Actions with hideFromModal: true now correctly hidden from shortcuts modal
  • Fixed stale enabled check: Endpoint enabled state now checked with fresh values
  • Fixed empty query handling: Endpoints with minQueryLength: 0 now show results before typing

Full Changelog: v0.5.0...v0.6.0