Waits until a condition is true.
public Task<bool> UntilAsync(Func<bool> condition, string? message = null, Action<TimeSpan>? onProgress = null)
The condition to wait for.
Optional message for timeout exception.
Optional callback with remaining time.