feat(mobile-apps): support Expo haptics - #452
Open
Nikhil agrawal (nikhil5642) wants to merge 1 commit into
Open
Conversation
Ship the SDK-compatible Expo haptics module in the mobile template and replace the prior runtime ban with typed wrapper, planning, and screen usage guidance. Add regression coverage for the native dependency allowlist and document the required base-binary rebuild when the template dependency changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: abc336d1-3089-441a-88de-50bc7140e2a9
Copilot started reviewing on behalf of
Nikhil agrawal (nikhil5642)
August 20, 2026 12:52
View session
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the mobile-apps plugin’s Expo SDK 55 template and agent/skill guidance to support haptic feedback via expo-haptics, including a regression test to ensure the newly template-shipped native dependency is accepted by the native dependency allowlist.
Changes:
- Add
expo-haptics@55.0.14to the mobile template dependencies. - Update
/add-native, screen planning/building guidance, and references to route haptics through a typedsrc/native/haptics.tswrapper and require visible UI feedback alongside tactile feedback. - Add a validator regression test asserting the template-shipped
expo-hapticsversion is permitted.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| plugins/mobile-apps/template/package.json | Ships expo-haptics@55.0.14 in the Expo SDK 55 template. |
| plugins/mobile-apps/skills/add-native/SKILL.md | Adds /add-native haptics routing plus the typed wrapper contract and usage guidance. |
| plugins/mobile-apps/shared/references/screen-templates.md | Replaces the prior “banned” note with haptics usage guidance via src/native/haptics.ts. |
| plugins/mobile-apps/scripts/tests/validate-package-deps.test.js | Adds a regression test confirming template-shipped expo-haptics passes validation. |
| plugins/mobile-apps/README.md | Documents /add-native haptics as a supported template-shipped native capability. |
| plugins/mobile-apps/agents/screen-planner.md | Requires haptics to be explicitly planned with the wrapper call + visible feedback. |
| plugins/mobile-apps/agents/screen-builder.md | Updates the builder contract to use the src/native/haptics wrapper and adds usage rules. |
| plugins/mobile-apps/agents/native-app-planner.md | Adds haptics to the capability-to-package mapping and planning rules. |
| plugins/mobile-apps/AGENTS.md | Updates repo-level guidance to treat expo-haptics as template-shipped and wrapper-gated. |
Suppressed comments (1)
plugins/mobile-apps/skills/add-native/SKILL.md:174
- This section introduces the term "runtime gate", while earlier parts of the doc still use "runtime-banned". To avoid ambiguity, consider either defining what the runtime gate encompasses here (e.g., allowlist + any explicit runtime blocks) or using one consistent term throughout the skill.
**Missing or gated packages:** `package.json` plus the runtime gate is authoritative. If the relevant package/control is absent, stop with a transparency note.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Akshay Maloo (akshaymaloo)
approved these changes
Aug 21, 2026
Pritesh (pritesh-iOS)
approved these changes
Aug 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
expo-haptics@55.0.14in the Expo SDK 55 mobile templatesrc/native/haptics.tswrapper for impact, selection, and notification feedback/add-native hapticsand require visible UI feedback alongside tactile feedbackValidation
expo-haptics@55.0.14ShrinkWrapDebugruntime test completed a haptic effect without blanking or crashing the screen;vibrator_managerrecorded the effect from the app processRelease requirement
The Android and iOS rewrap base binaries must be rebuilt and published from the updated template so Expo autolinking includes
expo-haptics. Existing binaries do not gain native modules from a JavaScript package update alone.https://msazure.visualstudio.com/OneAgile/_workitems/edit/39380241