BikeControl stops reliably sending shift commands when app goes to background / screen turns off (iOS, v4.4+)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
Research direction
Start by tracing how BikeControl handles Bluetooth shifting when the iOS app enters the background or the screen turns off, and compare that behavior with the change introduced in v4.4. Reproduce using an iPhone, Zwift Bike, and MyWhoosh as described; done means shift commands continue working reliably in the background and with the screen off. The issue has gone months without a response, so check for project updates before taking it on.
Written by the indexing model from the issue text.
Description
Since BikeControl version 4.4, I’m experiencing unreliable shifting when the app is no longer in the foreground or when the iPhone screen turns off.
BikeControl is being used to control virtual shifting in MyWhoosh, with a Zwift Bike as the hardware. Prior to v4.4, this setup worked perfectly even with the screen off.
Now, once the phone screen turns off or the app goes to the background, shift commands are no longer sent reliably.
Expected behavior
BikeControl should continue sending shift commands reliably while:
• The app is in the background, and/or
• The iPhone screen is turned off
(This was the behavior prior to v4.4.)
Actual behavior
When the app is not in the foreground:
• Shifts may work briefly, then stop
• Sometimes shifting up works but down does not
• Sometimes only a single shift is registered, then no further shifts
• Bringing BikeControl back into the foreground immediately restores correct shifting
Steps to reproduce
1. Open BikeControl on iPhone
2. Connect Zwift Bike and launch MyWhoosh
3. Verify shifting works normally while BikeControl is in the foreground
4. Turn off the iPhone screen or switch to another app
5. Attempt to shift gears
6. Observe unreliable or missing shift commands
7. Bring BikeControl back to the foreground → shifting works again
Environment
• BikeControl version: 4.4+ (worked correctly before this)
• iOS version: 26.2
• Device: iPhone 16
• Trainer/Bike: Zwift Bike
• Training app: MyWhoosh
- Dominant language
- Dart
- Stars
- 620
- Forks
- 75
- Avg merge
- 5h 2m
- Merged PRs (30d)
- 18
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OpenBikeControl/bikecontrol
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
OpenBikeControl/bikecontrol#404 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
OpenBikeControl/bikecontrol#401 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
OpenBikeControl/bikecontrol#402 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
OpenBikeControl/bikecontrol#399 · 3 comments ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
OpenBikeControl/bikecontrol#377 · 6 comments ·
Maintainers usually reply within 1 day
All issues in OpenBikeControl/bikecontrol
Similar issues
-
bug product: very_good_flutter_plugin
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
VeryGoodOpenSource/very_good_templates#654 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Maintainers usually reply within 1 day
-
Server never consumes the request body on early-error paths: _sinkIncoming does not resume the paused subscriptionMay be free again A pull request for this issue was closed without being merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
[BUG][All] VLESS URIs with flow=xtls-rprx-vision-udp443 are silently dropped on subscription importOpen
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
simonoppowa/OpenNutriTracker#1336 ·
Maintainers usually reply within 1 day