SynchroLabs / SynchroServer

The Synchro Server platform
https://synchro.io
1 stars 2 forks source link

Robustify client side of network transactions #10

Closed BobDickinson closed 10 years ago

BobDickinson commented 10 years ago

Need to handle client communications exceptions ("handle" in the sense of "catch them", and also "do something reasonable about them").

Need client timeout (short). If fails (after auto-retry), maybe give the user a "try again" or "keep trying" option and do again with much longer timeout.

Need client retry mechanism (based on exception or timeout).

Need mechanism to synchronize transactions (prevent new transaction until previous transaction completes). Tricky.

Communicate "waiting" state to user (hourglass type visual indicator, but probably only shown after 500ms+, so you don't typically see it, but you do if there is a "long" delay). Probably always show on an auto-retry.

Communicate comms failures to user - MessageBox: "Sorry, you're screwed and aren't doing anything now, click to retry".

BobDickinson commented 10 years ago

The only part not really addressed is the hourglass/forced retry on slow operations, which will be opened as a new issue.