Skip to content

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

Draft
nmgaston wants to merge 1 commit intomainfrom
remotePlatformErase
Draft

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

Conversation

@nmgaston
Copy link
Copy Markdown
Contributor

@nmgaston nmgaston commented Mar 18, 2026

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 platformEraseEnabled 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 rpeCaps
    • 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 enableRPEplatformEraseEnabled in the AMT features request body to align with the updated MPS API (see associated PRs)
  • 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 — including the CSME exclusivity message — 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
Comment thread src/assets/i18n/ar.json
@rsdmike
Copy link
Copy Markdown
Member

rsdmike commented Apr 17, 2026

Thanks for doing this! Few things i see:

  1. There are some errors showig on the device detail page:
_effect-chunk2.mjs:2601 ERROR Error: Cannot find control with name: 'enablePlatformErase'
    at _throwError (forms.mjs:1658:9)
    at setUpControl (forms.mjs:1524:19)
  ...
  1. Remote Platform Erase is allowing me to click it device details page, but my device doesnt support it.
  2. icon on menu should probably be computer cancel instead of mobile cancel
  3. I think since the checkbox is already on amt device info, if its enabled no need to show the checkbox here:
image I think need to move this: image in to one box, hidden until the feature is enabled. If its enabled, then should show this capabilites to select. the call to action button (initiate) should be up in the top right of the RPE box to follow the design pattern of KVM, SOL, Audit Log, etc...

@nmgaston nmgaston force-pushed the remotePlatformErase branch 2 times, most recently from 9fd21a6 to 72e2143 Compare April 18, 2026 02:29
- Add RPE component with feature-enable checkbox, capabilities
  checklist, and Initiate Erase button in toolbar
- Checkbox always starts unchecked on page load regardless of
  device state; user must explicitly enable before erasing
- Hide capabilities card when feature is disabled
- Fix amtFeatures corruption on toggle (API returns {status},
  not full features object)
- Nav icon set to cancel_presentation
- Reset all state (checkbox, caps, count) after successful erase
- Add unit tests and e2e tests for all RPE interactions
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.

Add support for Remote Platform Erase in Console Add support for Remote Platform Erase in MPS

2 participants