client: on progress function