[fix] only run on refresh