Can't U-Turn [October 2021] [1.18.0]

I applaud the Zwift Community working together and sharing information and experiences to deal with unfortunate issues like this one. It certainly sounds like @James_Bridges has a specific workaround above for L’Alpe du Zwift.

At the same time, some in the community are making (perhaps deservedly) cheeky remarks about “U-Turning being disabled as a feature” to fix an exploit, which is not accurate and a misinterpretation of my remarks in the October Update thread.

In an effort to help Zwifters navigate this issue, I would like to share an update of what I know so far.

[Update: My post was intended to provide an update to the issue, information about the issue and a possible workaround. However, it was not coordinated with the internal teams that work together to address and resolve issues. In hindsight, it would have been better for me to leave the communication to those who do this for a living, and to keep my personal theories to myself. Please consider this post as what it really is: the thoughts of a lone developer at Zwift and not an official response or guide from Zwift.]

This issue has been assigned to a team for investigation and resolution. I’m not on that team, so I can’t give more information beyond that, but I’ve passed my findings on to that team, and I’m sharing below what I’ve gleaned from my investigation this past weekend.

Normal U-Turn Behavior:
Whenever a Zwifter performs a U-Turn, the bike must be slowed down to a speed that makes sense. For example, if one were to perform a U-Turn while riding downhill in a tuck at 67 mph, you would not expect to safely complete a U-Turn at that speed. Neither would we, so as part of any U-Turn the bike is slowed down to a more sensible speed of 24 kph (15 mph). Once at a reasonable speed, the U-Turn begins and it completes once the avatar is lined up in the opposite traffic lane with the proper direction/alignment.

Left and Right turns don’t make any sense in the middle of a U-Turn, so intersection decisions are not processed during this action. Likewise, it doesn’t make sense to make a U-Turn in the middle of a U-Turn, so any U-Turn action is ignored until the current U-Turn has completed.

“Stuck” U-Turn Behavior:
The speeds mentioned above may sound familiar to those affected by this issue. This is because after the Zwifter has “actioned” the U-Turn, the bike “max speed limit” has been set to drop to the appropriate speed, but due to new conditions introduced in release 1.18.0, (and in only one verified situation so far – more on that below), the U-Turn does not actually proceed, so we end up stuck in a perpetual condition where the app thinks the Zwifter is in the midst of a U-turn, but other logic does not proceed with the U-Turn. This behavior is completely unintentional, simply a bug, and will be addressed.

Being stuck in a U-Turn also explains all three behaviors (the low max speed, inability to choose routes at intersections, and inability to request a new U-Turn). It’s really just one bug that unfortunately makes a mess of things.

Triggering the Issue:
Now let’s talk about the trigger for this issue. I’ve spent many hours over the weekend trying to reproduce this issue. So far, the only times I have successfully triggered this issue is by attempting a U-turn exactly at the finish line (Arch) when completing a route.

When I time it just right and trigger the issue, I get the exact symptoms and behavior already mentioned. However, if instead, I just wait about 5-10 seconds after completing a route (as I did on other, separate test rides), I find the U-Turn functions normally and there is no issue. This suggests we have a workaround for the issue when completing a route.

Possible Workaround (when completing a route):
When completing a route, I suggest waiting 5-10 seconds after crossing the finish line/arch before attempting a U-Turn.

[Update: It looks like this workaround has, within minutes, been verified as maybe not so helpful. I won’t be able to update this post in the hours ahead (bad planning on my part), so please also look at what others are saying about whether this workaround is helpful or not. On my end, I will try to focus on L’Alpe du Zwift later as I have time.]

Other U-Turn cases:
“But I was just riding around, and only went 1 km before this happened to me.” you may say. I don’t doubt that. But I would ask if this was just after launching the app, or if it was perhaps after performing an earlier activity.

If this issue occurs, it remains active until Zwift is shutdown (desktop) or force-closed (mobile/Apple TV). So if the issue was somehow triggered in a previous activity, the Zwifter may not notice until some point in the next activity.

Cases where U-Turns are intentionally disabled In Zwift
Wait! Are there some cases where Zwift has in fact, intentionally disables U-Turns? Yes. But before you freak out, these cases have been around for more than a year. Let’s look at these cases and Zwift’s reasoning.

During Tutorial – While new Zwifters are in the Riding Basics course, the tutorial calls out landmarks during the ride. This doesn’t work well if a snarky Zwifter immediately performs a U-turn and starts riding in the opposite direction. Also note: new Zwifters can verify for themselves that after completing the Riding Basics course, U-Turn functionality is re-enabled.

During Group Event/Race or Meetup or Mission – I’m not an expert on all of these systems, but from what I’ve gleaned, U-Turning is disabled during some group rides to prevent Zwifters from accidentally performing a U-Turn and breaking from the group. Likewise, I don’t think any racer would appreciate accidentally clicking the U-Turn action on the action bar during a race. After completing said event, U-Turns are once again enabled, which can also be verified by any Zwifter.

I’ve mentioned these just so we don’t waste time/posts dealing with U-Turns that are intentionally disabled/re-enabled by design.

While I have verified the Tutorial behavior working as intended, I have not yet found time to participate in Group Events/Races, Missions or Meetups. It is possible there could be issues with U-Turns remaining disabled after completion, but there is currently no evidence to suggest this.

Even in the cases where U-Turns were mistakenly left disabled after a mission/meetup/group ride/ group race, it would simply mean U-Turns can’t be “actioned” and therefore such a bug still wouldn’t result in getting stuck at the start of a U-Turn like this issue. It would therefore not restrict the ability to turn right or left at intersections or limit the avatar bike speed as described above. This leads me to suggest the main triggering event for this behavior is simply turning around at the arch/finish line when completing a route.

What You Can Do
You can prove me wrong if you like! I simply want to help resolve this issue, and if I’m wrong, I’m happy to hear it. If you can post steps that trigger the issue in other scenarios than I’ve described above, feel free to post them. You can also prove me right, by trying my suggested workaround and see if it helps, and reporting back if it does. You also have my permission to re-post this content in a TL;DR version for those who are not interested in all these cases and details.

More importantly, you hopefully now understand the bizarre behavior (max speed limit, non-working intersections, inability to action a U-Turn) is a bug that causes the avatar to get stuck in a U-Turn, at least one scenario that can cause this issue, what can be done to avoid that scenario, and that Zwift is working on a resolution.

So please digest what I’ve shared, enjoy your activities, and if you encounter the issue, please feel free to continue passing on any helpful information about it for the benefit of Zwift and others in the community.

17 Likes