playgameservices / android-basic-samples

Google Play game services - Android samples
Apache License 2.0
972 stars 970 forks source link

TurnBasedMatch expiration does not work. #172

Open TroelsN opened 9 years ago

TroelsN commented 9 years ago

Scenario is a two player match where participant p_2 waits 3 weeks before taking turn. Before p_2 takes the turn, the match looks like this on the two devices:

Device 1:

Match status:           MATCH_STATUS_ACTIVE
Match turn status:      MATCH_TURN_STATUS_THEIR_TURN
Participant p_1 status: STATUS_JOINED
Participant p_2 status: STATUS_JOINED

Device 2:

Match status:           MATCH_STATUS_ACTIVE
Match turn status:      MATCH_TURN_STATUS_MY_TURN
Participant p_1 status: STATUS_JOINED
Participant p_2 status: STATUS_JOINED

So everything seems fine. Participant p_2 now takes turn on device 2:

Device 2: takeTurn returns the following UpdateMatchResult (and afterwards the match disappears from device 2):

Error code:             STATUS_MATCH_ERROR_OUT_OF_DATE_VERSION
Match status:           MATCH_STATUS_EXPIRED
Match turn status:      MATCH_TURN_STATUS_COMPLETE
Participant p_1 status: STATUS_JOINED
Participant p_2 status: STATUS_UNRESPONSIVE

Device 1: Nothing happens (not even after rebooting the device). It still looks like p_2 is having turn:

Match status:           MATCH_STATUS_ACTIVE
Match turn status:      MATCH_TURN_STATUS_THEIR_TURN
Participant p_1 status: STATUS_JOINED
Participant p_2 status: STATUS_JOINED
claywilkinson commented 9 years ago

Thanks for the detailed report. I'll pass it along.