Skip to content

[Bug]: QueueType global and perDevice degradation on Apple #271

Description

@raphael-bmec-co

Library version

2.1.0

Reproducible with the example app

Not tested

OS

macOS

OS version

macOS 26.5.1; iOS 26.5.2

Device connecting to

ESP32

BLE version of connecting device

No response

What happened?

I'm not sure if this is expected behaviour or a bug but when using QueueType.global or QueueType.perDevice on macOS, iOS or even chrome on mac we see successive messages take longer and longer so ~starting at 300us for 512 MTU and then growing by 50-100 ms per message until 1500 ms + eventually causing timeouts. We also cannot connect to more than one device at a time.

This does not occur on Windows/Android. Although Android shows issues with none and perDevice- which I believe is expected. Especially with multiple connections. Whereas on windows there is an issue with none.

Apologies in advance, this is challenging to produce sample code etc.

Perhaps this is just a documentation issue - in which case a table of what works where would be a nice addition? Perhaps there is a bug of sorts.

Dev env App none global perDevice
Windows Android (physical device) ❌ 1 ❌ 1
Windows Chrome ⚠️ 2 ⚠️ 2
Windows Windows ❌ 1
Mac Chrome ❌ 3 ❌ 3
Mac macOS ❌ 4 ❌ 4
Mac iOS (physical device) ❌ 4 ❌ 4
  1. Cannot transmit to multiple devices.
  2. Degraded throughput
  3. Cannot connect to multiple devices
  4. Performance (on at least one device) degrades with each transmission.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions