Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

BikeControl stops reliably sending shift commands when app goes to background / screen turns off (iOS, v4.4+)

Open
#279 8 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
30/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
dart, flutter, ios
Domain
mobile

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from OpenBikeControl/bikecontrol

All issues in OpenBikeControl/bikecontrol

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.