From dfd44f5ba8cb45a016bb48cd6c5a60ee528e73c9 Mon Sep 17 00:00:00 2001 From: Allen Houchins <32207388+allenhouchins@users.noreply.github.com> Date: Tue, 3 Feb 2026 08:42:12 -0600 Subject: [PATCH] Change OS update deadline to 7PM local time (#38810) Updated documentation, backend, frontend, and tests to set the OS update enforcement deadline to 19:00 (7PM) local time instead of noon. This ensures consistency across user-facing text, API docs, configuration files, and the MDM payload. **Related issue:** Resolves #38834 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [x] Added/updated automated tests - [x] QA'd all new/changed functionality manually --------- Co-authored-by: Magnus Jensen --- changes/38834-update-apple-os-update-time | 1 + ee/server/service/mdm.go | 2 +- .../components/AppleOSTargetForm/AppleOSTargetForm.tsx | 2 +- server/service/integration_enterprise_test.go | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 changes/38834-update-apple-os-update-time diff --git a/changes/38834-update-apple-os-update-time b/changes/38834-update-apple-os-update-time new file mode 100644 index 0000000000..1f860dd7e6 --- /dev/null +++ b/changes/38834-update-apple-os-update-time @@ -0,0 +1 @@ +- Updated default macOS, iOS, and iPadOS update deadline time to 7PM (19:00) local time. \ No newline at end of file diff --git a/ee/server/service/mdm.go b/ee/server/service/mdm.go index a0516e50a8..dea13bb08c 100644 --- a/ee/server/service/mdm.go +++ b/ee/server/service/mdm.go @@ -1307,7 +1307,7 @@ func (svc *Service) mdmAppleEditedAppleOSUpdates(ctx context.Context, teamID *ui "Type": %q, "Payload": { "TargetOSVersion": %q, - "TargetLocalDateTime": "%sT12:00:00" + "TargetLocalDateTime": "%sT19:00:00" } }`, softwareUpdateIdentifier, softwareUpdateType, updates.MinimumVersion.Value, updates.Deadline.Value)) diff --git a/frontend/pages/ManageControlsPage/OSUpdates/components/AppleOSTargetForm/AppleOSTargetForm.tsx b/frontend/pages/ManageControlsPage/OSUpdates/components/AppleOSTargetForm/AppleOSTargetForm.tsx index a35a257542..3d62d197e1 100644 --- a/frontend/pages/ManageControlsPage/OSUpdates/components/AppleOSTargetForm/AppleOSTargetForm.tsx +++ b/frontend/pages/ManageControlsPage/OSUpdates/components/AppleOSTargetForm/AppleOSTargetForm.tsx @@ -212,7 +212,7 @@ const AppleOSTargetForm = ({ disabled={gitOpsModeEnabled} name="deadline" label="Deadline" - tooltip="The end user can't dismiss the OS update once they reach this deadline. Deadline is 12:00 (Noon), the host's local time." + tooltip="The end user can't dismiss the OS update once they reach this deadline. Deadline is 19:00 (7PM), the host's local time." helpText="YYYY-MM-DD format only (e.g., “2024-07-01”)." value={deadline} error={deadlineError} diff --git a/server/service/integration_enterprise_test.go b/server/service/integration_enterprise_test.go index 5249fc5140..09d404c363 100644 --- a/server/service/integration_enterprise_test.go +++ b/server/service/integration_enterprise_test.go @@ -3180,7 +3180,7 @@ func (s *integrationEnterpriseTestSuite) assertAppleOSUpdatesDeclaration(teamID require.NoError(t, err) require.Contains(t, string(decl.RawJSON), fmt.Sprintf(`"TargetOSVersion": "%s"`, expected.MinimumVersion.Value)) - require.Contains(t, string(decl.RawJSON), fmt.Sprintf(`"TargetLocalDateTime": "%sT12:00:00"`, expected.Deadline.Value)) + require.Contains(t, string(decl.RawJSON), fmt.Sprintf(`"TargetLocalDateTime": "%sT19:00:00"`, expected.Deadline.Value)) } func (s *integrationEnterpriseTestSuite) TestAppleOSUpdatesTeamConfig() {