Skip to content

Add WallClockScheduler#32

Merged
atdrendel merged 1 commit into
mainfrom
fix-again-at-scheduling
Jul 14, 2026
Merged

Add WallClockScheduler#32
atdrendel merged 1 commit into
mainfrom
fix-again-at-scheduling

Conversation

@atdrendel

Copy link
Copy Markdown
Contributor

Add WallClockScheduler to allow Publishers.AgainAt to fire at a "wall clock time" (i.e., time as it passes on Earth) instead of a system uptime time, which is how normal DispatchTime works.

Copilot AI review requested due to automatic review settings July 14, 2026 18:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new WallClockScheduler to support Publishers.AgainAt scheduling based on wall-clock time (i.e., Date-based time that continues to advance during system sleep), instead of uptime-based DispatchTime.

Changes:

  • Add WallClockScheduler implementation backed by a DispatchQueue and DispatchWallTime.
  • Add unit tests covering immediate, delayed, repeating, cancellation, and againAt behavior on the scheduler’s queue.
  • Document WallClockScheduler in the README scheduler list.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
Sources/CombineExtensions/WallClockScheduler.swift Adds the new wall-clock-based Scheduler implementation and its time/interval conversions.
Tests/CombineExtensionsTests/WallClockSchedulerTests.swift Adds coverage for the scheduler behavior and againAt integration.
README.md Adds WallClockScheduler to the list of provided schedulers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Tests/CombineExtensionsTests/WallClockSchedulerTests.swift
Comment thread Tests/CombineExtensionsTests/WallClockSchedulerTests.swift
Comment thread Sources/CombineExtensions/WallClockScheduler.swift
@atdrendel
atdrendel merged commit fc80f31 into main Jul 14, 2026
3 checks passed
@atdrendel
atdrendel deleted the fix-again-at-scheduling branch July 14, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants