check for DEP capable migration before showing automatic preview (#41274)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #39252 I couldn't find any other code path that would resolve to automatic other than the device not being MDM enrolled, and we naively assumed 3 lines for manual migration, so I added the new IsDEPCapable method which checks if the first line returned by profiles status is No or Yes, to check if the device was enrolled via ABM/DEP, if not and not MDM enrolled then show the manual. # 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 ## fleetd/orbit/Fleet Desktop - [x] Verified compatibility with the latest released version of Fleet (see [Must rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md)) - [x] If the change applies to only one platform, confirmed that `runtime.GOOS` is used as needed to isolate changes - [x] Verified that fleetd runs on macOS, Linux and Windows - [x] Verified auto-update works from the released version of component to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))
This commit is contained in:
@@ -406,7 +406,7 @@ func (m *swiftDialogMDMMigrator) waitForUnenrollment(isADEMigration bool) error
|
||||
|
||||
func (m *swiftDialogMDMMigrator) renderMigration() error {
|
||||
log.Debug().Msg("checking current enrollment status")
|
||||
isCurrentlyManuallyEnrolled, err := profiles.IsManuallyEnrolledInMDM()
|
||||
enrolledViaDEP, err := profiles.ParseMDMEnrollmentStatus()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -418,10 +418,10 @@ func (m *swiftDialogMDMMigrator) renderMigration() error {
|
||||
return fmt.Errorf("getting migration type: %w", err)
|
||||
}
|
||||
|
||||
isManualMigration := isCurrentlyManuallyEnrolled || previousMigrationType == constant.MDMMigrationTypeManual
|
||||
isManualMigration := !enrolledViaDEP || previousMigrationType == constant.MDMMigrationTypeManual
|
||||
isADEMigration := previousMigrationType == constant.MDMMigrationTypeADE
|
||||
|
||||
log.Debug().Bool("isManualMigration", isManualMigration).Bool("isADEMigration", isADEMigration).Bool("isCurrentlyManuallyEnrolled", isCurrentlyManuallyEnrolled).Str("previousMigrationType", previousMigrationType).Msg("props after assigning")
|
||||
log.Debug().Bool("isManualMigration", isManualMigration).Bool("isADEMigration", isADEMigration).Bool("enrolledViaDEP", enrolledViaDEP).Str("previousMigrationType", previousMigrationType).Msg("props after assigning")
|
||||
|
||||
vers, err := m.getMacOSMajorVersion()
|
||||
if err != nil {
|
||||
@@ -465,7 +465,7 @@ func (m *swiftDialogMDMMigrator) renderMigration() error {
|
||||
|
||||
if !m.props.IsUnmanaged {
|
||||
// show the loading spinner
|
||||
m.renderLoadingSpinner(isPreSonoma, isCurrentlyManuallyEnrolled)
|
||||
m.renderLoadingSpinner(isPreSonoma, isManualMigration)
|
||||
|
||||
// send the API call
|
||||
if notifyErr := m.handler.NotifyRemote(); notifyErr != nil {
|
||||
@@ -498,7 +498,7 @@ func (m *swiftDialogMDMMigrator) renderMigration() error {
|
||||
switch {
|
||||
case isPreSonoma:
|
||||
if err := m.mrw.SetMigrationFile(constant.MDMMigrationTypePreSonoma); err != nil {
|
||||
log.Error().Str("migration_type", constant.MDMMigrationTypeADE).Err(err).Msg("set migration file")
|
||||
log.Error().Str("migration_type", constant.MDMMigrationTypePreSonoma).Err(err).Msg("set migration file")
|
||||
}
|
||||
|
||||
log.Info().Msg("showing instructions after pre-sonoma unenrollment")
|
||||
|
||||
Reference in New Issue
Block a user