TimelineView
-

SwiftUI Timer: How to Repeat Without RunLoop Bugs
Replace Timer and RunLoop with TimelineView, Task.sleep, AsyncTimerSequence or Timer.publish — and stop timers that keep firing after a view disappears.

Replace Timer and RunLoop with TimelineView, Task.sleep, AsyncTimerSequence or Timer.publish — and stop timers that keep firing after a view disappears.