Skip to content

fix(#136): add neverForLocation option to expo plugin - #137

Merged
mateogianolio merged 2 commits into
orbital-systems:masterfrom
q-bird:fix-136
Aug 18, 2026
Merged

mateogianolio merged 2 commits into
orbital-systems:masterfrom
q-bird:fix-136

Conversation

@q-bird

@q-bird q-bird commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Fixes #136.

Adds a neverForLocation prop to the Expo config plugin, so Expo apps can reach the native path added in #135 without writing their own manifest mod.

  • neverForLocation: false (default) - no change to the generated manifest.
  • neverForLocation: true - BLUETOOTH_SCAN is declared with android:usesPermissionFlags="neverForLocation".
  • neverForLocation: true and transport: "ble" - ACCESS_FINE_LOCATION is also capped at maxSdkVersion="30". It stays uncapped when SoftAP is in play, since Wi-Fi scanning does require location.

Also makes addPermission merge attributes onto an existing entry instead of returning early. It was add-only, so if another plugin declared BLUETOOTH_SCAN first (react-native-ble-plx does) the flag would silently never land, depending on plugin order in app.json. It only writes attributes it was asked to write.

README updated with the new prop. Verified against a real expo prebuild output for the ble/softap/both x neverForLocation matrix, not just unit-level logic.

@mateogianolio mateogianolio left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Fantastic! 💯

@mateogianolio
mateogianolio merged commit 695c30a into orbital-systems:master Aug 18, 2026
4 of 5 checks passed
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.

Expo plugin cannot declare BLUETOOTH_SCAN with neverForLocation

2 participants