Skip to content

feat: Add react-native-pulsar as a top-priority haptics adapter - #568

Merged
MatiPl01 merged 2 commits into
mainfrom
feat/pulsar-haptics
Jun 27, 2026
Merged

feat: Add react-native-pulsar as a top-priority haptics adapter#568
MatiPl01 merged 2 commits into
mainfrom
feat/pulsar-haptics

Conversation

@MatiPl01

Copy link
Copy Markdown
Owner

Adds react-native-pulsar as a new, top-priority haptics backend, detected automatically at runtime alongside the existing expo-haptics and react-native-haptic-feedback integrations.

The haptics adapters are now resolved through a small priority-ordered registry (Pulsar, then expo-haptics, then react-native-haptic-feedback) instead of a hardcoded ?? chain; the first backend available at runtime provides the trigger. Pulsar is never imported: it is detected via its Turbo Module (RNPulsar) the same way the expo adapter reads the Expo module registry, so it adds no dependency and leaves bare and old-architecture builds untouched. When present (New Architecture, not Expo Go), its worklet-safe presets are fired directly on the UI thread, without a hop to JS.

Behavior is unchanged when Pulsar is absent: Expo Go keeps using expo-haptics and bare apps keep using react-native-haptic-feedback. Docs and README are updated to list the three supported libraries and their constraints.

Verified on the New Architecture iOS example with react-native-pulsar installed: the registry selects Pulsar and a drag (activate, reorder, drop) fires its presets without errors; with Pulsar absent the chain falls back as before.

@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
react-native-sortables-docs Ignored Ignored Preview Jun 27, 2026 3:19pm

@MatiPl01 MatiPl01 self-assigned this Jun 27, 2026
@github-actions github-actions Bot added documentation Improvements or additions to documentation feature test labels Jun 27, 2026
Remove comment about ReactNativeHapticFeedback being a terminal fallback.
@MatiPl01
MatiPl01 merged commit 642e734 into main Jun 27, 2026
11 checks passed
@MatiPl01
MatiPl01 deleted the feat/pulsar-haptics branch June 27, 2026 15:20
MatiPl01 pushed a commit that referenced this pull request Jul 23, 2026
# [1.10.0](v1.9.4...v1.10.0) (2026-07-23)

### Bug Fixes

* Add item zIndex preserving based on the order of items ([#534](#534)) ([fb0be4e](fb0be4e)), closes [#36877](https://github.com/MatiPl01/react-native-sortables/issues/36877)
* allow scrolling the ScrollView from draggable items on web ([#574](#574)) ([74879ed](74879ed)), closes [#545](#545)
* Balance onTouchesUp on Sortable.Touchable long press ([#594](#594)) ([f977567](f977567))
* Deduplicate expo example native modules for expo-doctor ([#590](#590)) ([e5af169](e5af169)), closes [#589](#589)
* disable dragging for fixed-order and non-draggable handles ([#598](#598)) ([8ed2e81](8ed2e81))
* dragging stops after a screen is detached and re-attached (gesture-handler v3) ([#573](#573)) ([c70a14f](c70a14f)), closes [#349](#349) [react-native-gesture-handler#3560](https://github.com/react-native-gesture-handler/issues/3560) [#349](#349) [#349](#349)
* Item can settle on another item's slot after a rapid re-order ([#591](#591)) ([9d63817](9d63817)), closes [#586](#586)
* Item position drift on slow web container resize ([#562](#562)) ([8973115](8973115))
* Keep npm version from walking yarn workspaces during release ([#609](#609)) ([0d8d869](0d8d869))
* Keep Sortable.Grid measurements when revealed after react-freeze ([#572](#572)) ([609c73c](609c73c)), closes [#519](#519) [#36877](https://github.com/MatiPl01/react-native-sortables/issues/36877)
* keep Sortable.Touchable onTouchesUp firing on web ([#596](#596)) ([8529fa8](8529fa8)), closes [#594](#594)
* Keep Sortable.Touchable tap and long press working on teleported items ([#602](#602)) ([3efb111](3efb111))
* Keep teleported item in sync with collapsed content ([#595](#595)) ([1fbcf9e](1fbcf9e))
* New-Arch grid mount crash in the example and unrunnable expo example ([#589](#589)) ([01aa1a8](01aa1a8))
* Respect Sortable.Flex alignItems before items are measured ([#560](#560)) ([5c84117](5c84117)), closes [#258](#258)
* Restore tap and long press on teleported items ([#599](#599)) ([e73117b](e73117b))
* Sortable.Touchable crash on gesture-handler v3 (onActivate not a worklet) ([#587](#587)) ([4b3007e](4b3007e))
* Support react-native-gesture-handler 3.x types ([#553](#553)) ([83754e0](83754e0))
* Support react-native-reanimated 4.5 / worklets 0.10 ([#566](#566)) ([828c6d6](828c6d6)), closes [/github.com//issues/552#issuecomment-4634261543](https://github.com//github.com/MatiPl01/react-native-sortables/issues/552/issues/issuecomment-4634261543) [#552](#552)

### Features

* Add react-native-pulsar as a top-priority haptics adapter ([#568](#568)) ([642e734](642e734))
* Auto-detect expo-haptics when available ([#558](#558)) ([a0d7602](a0d7602)), closes [#554](#554)
* Reverse items stacking order  ([#535](#535)) ([14c7d82](14c7d82)), closes [#36877](https://github.com/MatiPl01/react-native-sortables/issues/36877)

### Performance Improvements

* Drive active item position from a single reaction ([#586](#586)) ([c498091](c498091)), closes [#584](#584)
@MatiPl01

Copy link
Copy Markdown
Owner Author

馃帀 This PR is included in version 1.10.0 馃帀

The release is available on:

Your semantic-release bot 馃摝馃殌

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

Labels

documentation Improvements or additions to documentation feature released test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant