Skip to content

feat(mobile-apps): support Expo haptics - #452

Open
Nikhil agrawal (nikhil5642) wants to merge 1 commit into
mainfrom
users/agrawaln/expo-haptics
Open

feat(mobile-apps): support Expo haptics#452
Nikhil agrawal (nikhil5642) wants to merge 1 commit into
mainfrom
users/agrawaln/expo-haptics

Conversation

@nikhil5642

@nikhil5642 Nikhil agrawal (nikhil5642) commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • ship expo-haptics@55.0.14 in the Expo SDK 55 mobile template
  • replace the previous haptics runtime ban with planning and screen-builder usage guidance
  • define a typed src/native/haptics.ts wrapper for impact, selection, and notification feedback
  • document /add-native haptics and require visible UI feedback alongside tactile feedback
  • add regression coverage proving the template-shipped dependency passes the native allowlist

Validation

  • mobile changed-file validation passed for all nine modified files
  • native dependency validator tests passed (9/9)
  • skill description validation passed (98 skills)
  • documented haptics wrapper type-checked against expo-haptics@55.0.14
  • Android ShrinkWrapDebug runtime test completed a haptic effect without blanking or crashing the screen; vibrator_manager recorded the effect from the app process

Release 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

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 AI lite review requested due to automatic review settings August 20, 2026 12:44
@nikhil5642
Nikhil agrawal (nikhil5642) requested a review from a team as a code owner August 20, 2026 12:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.14 to the mobile template dependencies.
  • Update /add-native, screen planning/building guidance, and references to route haptics through a typed src/native/haptics.ts wrapper and require visible UI feedback alongside tactile feedback.
  • Add a validator regression test asserting the template-shipped expo-haptics version 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.

Comment thread plugins/mobile-apps/skills/add-native/SKILL.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants