make history sync explicit instead of a flag
endless recursion bug