app icon indicating copy to clipboard operation
app copied to clipboard

Futher refinement of potential client/server configuration synchronization.

Open matthewblain opened this issue 5 years ago • 0 comments

Summary

After PR #1820 was merged, the race condition motivating issue #1524 should largely be moot.

However, it is possible that it will be triggered again, and fixing the issue also highlighted other areas for possible improvement:

  • Add a transaction to the server so an error will be reported on 'collision.'
  • Have the client retry on error somehow. Perhaps by recording a timestamp for last client side update and last server side sync, and occasionally validating that the two match.
  • Have the client report errors, e.g. add an event to who_service like widget.analytics.logEvent(name: 'WhoServicePutClientSettings', parameters: {'result': response.statusCode});

Reproduction Steps

Expected steps to reproduce the behavior. Note that this is possible to simulate, but likely to be rare in actual occurrence.

Trigger client settings changes (e.g. change country, change notification) while there are server or network issues causing slow or failed responses.

Result

Client changes may or may not be synchronized correctly to the server.

Expected Behavior

Client will eventually sync correct values to server.

System

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • App Version: [1.2.0+14]

Additional Context

Add any other context about the problem here.

Screenshots

Screenshots Add any relevant screenshots here

Checklist:

matthewblain avatar Dec 14 '20 05:12 matthewblain