Skip to content

BleManager.start() hangs instead of rejecting when called a second time (iOS/Android) #1411

@mavenovaxylo

Description

@mavenovaxylo

I am submitting this issue to report a severe stability problem when BleManager.start() is called multiple times in a single session.

Describe the bug
My Use Case (The Trap): I was using BleManager.start({ showAlert: true }) not just for initialization, but as a way to re-trigger the native "Turn on Bluetooth" prompt on iOS when the user manually turned off Bluetooth. I mistakenly assumed calling start() again would simply re-show the alert or be a harmless no-op.

The Problem: Instead of harmlessly ignoring the call or showing the alert, the library enters a broken state:

The native bridge seems to re-initialize or lose reference to the original delegate.

Result: All subsequent calls to connect() (Promise never resolves).

No Feedback: The app does not crash, nor does it throw a warning saying "Manager already started." It simply freezes the BLE logic.

To Reproduce
Call BleManager.start() multiple times and then try to connect to a device.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions