Skip to content

Patching Walkthrough Deadline

Gil Burns edited this page Jun 7, 2026 · 1 revision

Patching Walkthrough: Deadline-Based Mode

Deadline-based patching is the default mode (MonthlyPatchingCadenceEnabled = false). The apply phase runs once per day whenever staged updates are waiting. Users can defer each prompt, but two escalating deadlines — a Focus deadline and a hard deadline — ensure updates are eventually installed regardless of deferral choices.

See also: Patching Walkthrough: Monthly Cadence Mode


Default Settings for This Mode

Preference Key Default What It Controls
CheckIntervalHours 4 hours How often the version check runs
StageIntervalHours 4 hours How often staged downloads are refreshed
ApplyIntervalHours 24 hours Minimum time between apply attempts
DeferralCountdownSeconds 300 (5 min) Timer on the deferral prompt before auto-action
DeferralAutomaticAction defer What happens when the timer expires unattended
DeferralTimerDefault 1440 min (24 hrs) Default deferral duration when timer expires
DeferralTimerMenu 5, 30, 60, 120, 480, 1440 Minutes available in the Defer dropdown
DeferralTimerFocus 60 min (1 hr) Auto-defer duration when Focus/DND is active
DeadlineDaysFocus 4 days Days pending before Focus/DND is ignored
DeadlineDaysHard 14 days Days pending before deferral is no longer allowed
BlockingProcessAction prompt What happens when a required app is running
BlockingProcessCountdownSeconds 120 (2 min) Timer on the blocking-process prompt

Example Scenario

Situation: Two third-party apps — Google Chrome and Zoom — have updates available. The user is an active Mac user who sometimes defers updates but eventually complies.

All times below are based on defaults with no time-window restrictions.


Background Activity (User Sees Nothing)

The scheduler daemon runs silently every 10 minutes. These background steps happen without any user interaction:

When What Happens
Day 1, 9:00 AM Scheduler wakes; check detects Chrome and Zoom are out of date
Day 1, 9:05 AM stage downloads both installers to the local cache
Day 1, 9:05 AM firstPendingDate recorded — deadline clock starts from this moment

Day 1 — First Prompt (User Defers)

Approximately 4 hours after staging, apply runs for the first time.

What the user sees:

A dialog appears in the center of the screen:

Third Party Patcher

You have 2 software updates that are ready to be installed. These updates have been pending for 0 days.

(Infobox: Days Pending: 0 · Times Deferred: 0)

[Defer ▾]    [Continue]

Timer: 5:00 counting down

User choices and outcomes:

Action Result
Clicks Continue Proceeds immediately to installation (see Installation)
Selects a duration and clicks Defer Update postponed for chosen duration; prompt disappears
Does nothing (timer reaches 0:00) Automatically deferred 24 hours (the DeferralTimerDefault); prompt dismisses itself

In this example: The user selects Defer — 24 hours from the dropdown and clicks Defer. The dialog closes. No installation occurs.


Day 2 — Second Prompt (User Defers Again)

24 hours later, the deferral expires. On the next scheduler wake after expiry, apply runs again.

What the user sees: The same dialog, with updated infobox:

(Infobox: Days Pending: 1 · Times Deferred: 1)

In this example: The user is busy and clicks Defer — 8 hours.

8 hours later the deferral expires. Apply runs again. The user clicks Defer — 24 hours.


Day 3 — Focus / Do Not Disturb Active

The user has enabled Focus mode for a meeting. When apply runs and Focus is detected:

  • No prompt is shown to the user.
  • The update is automatically deferred 60 minutes (DeferralTimerFocus).
  • This does not increment the deferral count — it is system-initiated, not user-initiated.
  • After 60 minutes the cycle repeats until Focus clears.

Once Focus clears, the normal deferral prompt appears. The user defers 24 hours.


Day 4 — Focus Deadline Reached

At Day 4, DeadlineDaysFocus (4 days) is reached. From this point:

  • Focus/DND is ignored. Apply runs and shows the prompt even if the user has Focus active.
  • The user can still click Defer — the hard deadline has not been reached yet.

What the user sees: The prompt is the same, but it will appear even during Focus or DND.

In this example: The user sees the prompt mid-afternoon and defers 24 hours.


Days 5–13 — Continued Deferrals

The user continues to defer once per day. Each time the prompt appears with the updated count:

Day Infobox Shown User Action
Day 5 Days Pending: 4 · Times Deferred: 4 Defers 24 hrs
Day 8 Days Pending: 7 · Times Deferred: 7 Defers 24 hrs
Day 11 Days Pending: 10 · Times Deferred: 10 Defers 24 hrs
Day 13 Days Pending: 12 · Times Deferred: 12 Defers 24 hrs

Day 14 — Hard Deadline

At Day 14, DeadlineDaysHard (14 days) is reached. The user can no longer defer.

What the user sees:

Third Party Patcher

You have 2 software updates that are ready to be installed.

Installation is required — the maximum deferral deadline has been reached.

(Infobox: Days Pending: 14 · Times Deferred: 13)

[Continue]

The Defer button is gone. The user must click Continue — or the 5-minute countdown will expire and installation will begin automatically.


What Installation Looks Like

When the user clicks Continue (or the hard deadline fires), the progress window appears:

Third Party Patcher

There are 2 updates waiting.

The following updates are being applied:

App Status
🌐 Google Chrome ⟳ Installing…
📹 Zoom ⏳ Waiting

Progress: [██████░░░░] Installing [1/2] Google Chrome…

[Running…] (button disabled during install)

After both apps complete:

App Status
🌐 Google Chrome ✅ → 125.0.6422.78
📹 Zoom ✅ → 6.3.0

Complete — 2 updates applied successfully

[Done]

The user clicks Done (or the window auto-closes after 60 seconds). The deferral count resets to zero. The firstPendingDate is cleared.


Blocking Process: App Is Running During Install

If Chrome is running when the installer tries to update it, a separate prompt appears:

Google Chrome Update Paused

Google Chrome needs to be updated, but Google Chrome is currently running.

Please save your work and quit Google Chrome before the timer expires, or click Skip to postpone this update.

Timer: 2:00 counting down

[Skip Update]    [Quit Google Chrome]

Action Result
Clicks Quit Google Chrome Chrome is force-quit; installation proceeds immediately
Clicks Skip Update Chrome update skipped this cycle; Zoom still installs
Timer reaches 0:00 Chrome is force-quit automatically; installation proceeds

A skipped item will be retried on the next apply cycle (the following day, assuming defaults).


Summary: Deadline-Based Timeline at a Glance

Day  1  ─── Updates found and staged ──────────────────────── [First prompt: user defers]
Day  2  ─────────────────────────────────────────────────────── [Prompt: user defers]
Day  3  ─────────────────────────── Focus active ──────────── [Auto-deferred, then user defers]
Day  4  ─── Focus deadline ──────────────────────────────────── [Prompt shown despite Focus: user defers]
          ...
Day 14  ─── Hard deadline ──────────────────────────────────── [Defer button gone: install required]

Administrator note: The deferral count in patcherreport deferrals gives you a per-label record of every prompt the user was shown, what they did, and when. If a user claims they never saw a notification, this log is your source of truth.

Clone this wiki locally