setRequiredFeatures:() never succeeds sometimes

Related app: Insights Capture (capture/stream app)

Issue Description:
After adding a retry to calling setRequiredMethod:(), it sometimes never succeeds, making the game events not work. This is causing auto-recording and the game events to not respond. setRequiredMethod usually succeeds within a few seconds.

This issue isn’t happening every time, but it does happen from time to time with our users.

Can you reproduce it (exact steps to reproduce):
No, but the steps the users took was:

  1. Start a match while Insights Capture was running
  2. Finish the match and noticed Insights Capture didn’t record.

Impact for my app: [e.g. x% of the users complained about it, it’s a show-stopper] High, if the setRequiredFeatures doesn’t succeed.

Do you currently have a workaround?
No, and restarting Insights Capture didn’t work for the user. However, restarting Overwolf fixed it for some users.

Please reproduce and attach a zip package of your OW client logs
Please take a look at the background.html.7.log where you’ll find setRequiredFeature failing every time.
OverwolfLogs_2022-01-19_14-03-06.zip (1.7 MB)

from looking at the logs, i can tell that LOL game ended at ‘2022-01-16 13:12:50,374’
and start new game at: ‘2022-01-16 14:34:24,066’

from ‘background.html.7.log’ it seems like you are trying to set setRequiredFeature,
when no actual game is running…

@jkorean Do you make sure that the relevant game is running before you try to setRequiredFeatures()?

Hey @itayG @EladBahar, so after further investigation, it seems that our app continues to retry setRequiredFeature even though the user exits the game.

This might be the reason why the user’s next game match didn’t auto record because the user was in an unending fail state of the setRequiredFeature since we don’t stop calling it even though the previous match ended.

We have a fix ready to be pushed and will reconnect with the user. If this fix doesn’t solve the issue for that user, I will update you guys here.