Description
On Android, Vesper can discover a Flipper over Bluetooth but then remain stuck on Connecting instead of reaching a usable connected state.
During repro, the BLE link came up and service discovery completed, but transport readiness never finished. The Flipper serial service was found, yet notification setup did not complete and the app stayed in the connecting state.
This does not appear to be a Momentum firmware incompatibility. The failure occurs after scan and service discovery and appears to be caused by Android-side BLE setup sequencing.
Steps to Reproduce
- Open Vesper on Android.
- Go to the
Device screen.
- Scan for nearby Flipper devices.
- Select a discovered Flipper running Momentum firmware.
- Observe that the UI stays on
Connecting.
Expected Behavior
After selecting the discovered Flipper, Vesper should complete BLE setup, enable the serial notifications, and transition to a connected/transport-ready state.
Actual Behavior
The Flipper is discovered successfully, but the connect flow can hang indefinitely on Connecting.
Screenshots / Logs
Observed during local debugging:
- BLE
onConnectionStateChange(... state=CONNECTED) succeeds
- service discovery succeeds
- the Flipper serial service is found
- notification setup does not complete, leaving the app stuck in
Connecting
A local fix that serialized requestMtu -> discoverServices -> enable notifications and added MTU / notification timeouts resolved the problem on the affected device.
Environment
- Android version: Samsung Android device (exact release not captured during session)
- Phone model: SM-G781V
- Flipper firmware: Momentum firmware (user-reported)
- Vesper version/commit:
main at 8195199
- AI model used: N/A
Additional Context
The issue reproduced while the Flipper was visible in scan results but failed to complete transport setup. USB OTG connectivity worked, which helped isolate this to the BLE connection flow rather than general device compatibility.
Description
On Android, Vesper can discover a Flipper over Bluetooth but then remain stuck on
Connectinginstead of reaching a usable connected state.During repro, the BLE link came up and service discovery completed, but transport readiness never finished. The Flipper serial service was found, yet notification setup did not complete and the app stayed in the connecting state.
This does not appear to be a Momentum firmware incompatibility. The failure occurs after scan and service discovery and appears to be caused by Android-side BLE setup sequencing.
Steps to Reproduce
Devicescreen.Connecting.Expected Behavior
After selecting the discovered Flipper, Vesper should complete BLE setup, enable the serial notifications, and transition to a connected/transport-ready state.
Actual Behavior
The Flipper is discovered successfully, but the connect flow can hang indefinitely on
Connecting.Screenshots / Logs
Observed during local debugging:
onConnectionStateChange(... state=CONNECTED)succeedsConnectingA local fix that serialized
requestMtu -> discoverServices -> enable notificationsand added MTU / notification timeouts resolved the problem on the affected device.Environment
mainat8195199Additional Context
The issue reproduced while the Flipper was visible in scan results but failed to complete transport setup. USB OTG connectivity worked, which helped isolate this to the BLE connection flow rather than general device compatibility.