Bluetooth-related crash on GrapheneOS/Google Pixel devices

Got a new system update of GrapheneOS today, and updated Manyverse as well after booting into the new system. The app now crashes immediately upon launch.

Steps to reproduce the bug:

  • Launch the app

Crash reports from npm run psdr AOSP crash reporter:

type: crash
osVersion: google/bluejay/bluejay:13/TP1A.221105.002/2022113000:user/release-keys
package: se.manyver:140
process: se.manyver
processUptime: 133 + 182 ms

java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission for android.content.AttributionSource@90f07e33: getAddress
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3021)
	at android.os.Parcel.createException(Parcel.java:3005)
	at android.os.Parcel.readException(Parcel.java:2981)
	at android.os.Parcel.readException(Parcel.java:2923)
	at android.bluetooth.IBluetoothManager$Stub$Proxy.getAddress(IBluetoothManager.java:534)
	at android.bluetooth.BluetoothAdapter.getAddress(BluetoothAdapter.java:1557)
	at android.bluetooth.BluetoothSocket.<init>(BluetoothSocket.java:230)
	at android.bluetooth.BluetoothSocket.<init>(BluetoothSocket.java:184)
	at android.bluetooth.BluetoothServerSocket.<init>(BluetoothServerSocket.java:140)
	at android.bluetooth.BluetoothAdapter.createNewRfcommSocketAndRecord(BluetoothAdapter.java:3454)
	at android.bluetooth.BluetoothAdapter.listenUsingRfcommWithServiceRecord(BluetoothAdapter.java:3229)
	at com.scuttlebutt.bluetoothbridge.bluetooth.BluetoothIncomingController.startServer(BluetoothIncomingController.java:78)
	at com.scuttlebutt.bluetoothbridge.bluetooth.BluetoothIncomingController.start(BluetoothIncomingController.java:63)
	at com.scuttlebutt.bluetoothbridge.BluetoothSocketBridgeModule.init(BluetoothSocketBridgeModule.java:91)
	at com.scuttlebutt.bluetoothbridge.BluetoothSocketBridgeModule.<init>(BluetoothSocketBridgeModule.java:48)
	at com.scuttlebutt.bluetoothbridge.BluetoothSocketBridgePackage.createNativeModules(BluetoothSocketBridgePackage.java:26)
	at com.facebook.react.ReactPackageHelper.getNativeModuleIterator(ReactPackageHelper.java:42)
	at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.java:42)
	at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1425)
	at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1396)
	at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1287)
	at com.facebook.react.ReactInstanceManager.access$1100(ReactInstanceManager.java:136)
	at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:1065)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: android.os.RemoteException: Remote stack trace:
	at com.android.server.bluetooth.BluetoothManagerService.checkPermissionForDataDelivery(BluetoothManagerService.java:3112)
	at com.android.server.bluetooth.BluetoothManagerService.checkConnectPermissionForDataDelivery(BluetoothManagerService.java:3130)
	at com.android.server.bluetooth.BluetoothManagerService.getAddress(BluetoothManagerService.java:1809)
	at android.bluetooth.IBluetoothManager$Stub.onTransact(IBluetoothManager.java:246)
	at android.os.Binder.execTransactInternal(Binder.java:1302)
Assignee Loading
Time tracking Loading