optimize button status sync