Optimistic UI reversion breaks when async actions overlap — per-action scoping fix | saasbrowser.ai