pub async fn run_with_spinner<F, T>(task: F, spinner_message: &str) -> Result<T>where F: Future<Output = Result<T>>,