Skip to content

feat(devices): add remote platform erase support#3206

Draft
nmgaston wants to merge 3 commits intomainfrom
remotePlatformErase
Draft

feat(devices): add remote platform erase support#3206
nmgaston wants to merge 3 commits intomainfrom
remotePlatformErase

Conversation

@nmgaston
Copy link
Contributor

@nmgaston nmgaston commented Mar 18, 2026

NOTE: Needs to be tested on real HW. Currently don't have an AMT 16+ device that supports RPE.

PR Checklist

  • Unit Tests have been added for new changes
  • API tests have been updated if applicable
  • All commented code has been removed
  • If you've added a dependency, you've ensured license is compatible with Apache 2.0 and clearly outlined the added dependency.

What are you changing?

Adds a Remote Platform Erase feature to the device detail view, allowing users to remotely wipe a managed AMT device.

  • New RemotePlatformEraseComponent (src/app/devices/remote-platform-erase/) with:
    • Detection and display of whether the device supports remote platform erase
    • Checkbox to enable/disable the enablePlatformErase AMT feature via the existing AMT features API
    • Per-capability checkboxes (ME region, storage drives, EC storage, secure erase) driven by a bitmask parsed from platformEraseCaps
    • Confirmation dialog (reusing AreYouSureDialogComponent) before initiating an erase
    • Warning banners and error snackbar notifications for destructive/failed operations
    • Loading state via mat-progress-bar
  • DevicesService: adds sendRemotePlatformErase(deviceId, eraseMask) calling POST /api/v1/amt/remoteErase/:deviceId; renames remoteEraseenablePlatformErase in the AMT features request body to align with the updated MPS API (see associated PR)
  • DeviceDetailComponent: adds "Remote Platform Erase" nav item (phonelink_erase icon) and routes to the new component
  • models.ts: updates AMTFeaturesResponse/AMTFeaturesRequest types to reflect the renamed field and new response properties
  • i18n: adds translation keys for all UI strings across all 12 supported locales
  • Cypress E2E tests covering: not-supported state, feature enabled/disabled states, toggle on/off with API assertion, confirm/cancel erase dialog, and error snackbar on API failure

Anything the reviewer should know when reviewing this PR?

Associated PRs

@nmgaston nmgaston force-pushed the remotePlatformErase branch from c7091b5 to cf0fa97 Compare March 18, 2026 00:17
@nmgaston nmgaston force-pushed the remotePlatformErase branch 12 times, most recently from 58e08ae to 9afb33d Compare March 23, 2026 18:39
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.

1 participant