At the moment, pruneChanges will delete changes older than a fixed time. If for some reason clients get lagged very much, changes may get pruned before they get a changes to be dispatched. If this happens, the changes can not be dispatched on the client.
To avoid this, the pruneChanges script should never prune any change that has not yet been dispatched.
Even so, changes may get pruned between being dispatched and being processed by the client's job queue. pruneChanges may add a grace period to mitigate this issue.