Skip to content

feat(devices): show discovered devices in a read-only side pane - #3670

Open
ShradhaGupta31 wants to merge 5 commits into
mainfrom
feat/discovered-device-pane
Open

ShradhaGupta31 wants to merge 5 commits into
mainfrom
feat/discovered-device-pane

Conversation

@ShradhaGupta31

@ShradhaGupta31 ShradhaGupta31 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Clicking a device on the Discovered tab opened the device page, which talks to Intel AMT over WS-MAN. A discovered device has been found by rpc-go and reported to console but never activated, so console has no credentials for it and that page could never work. Discovered rows now open a side pane instead; managed rows still open the device page.

The pane shows what rpc-go reported, straight from the deviceInfo console already returns with the device list, so no new API call is needed. The hostname heads the pane with the GUID beneath it. Details are grouped as platform (processor and adapters), Intel AMT (with a Unique Platform ID subsection and the trusted certificate hashes in a collapsible panel), operating system, and network (Intel AMT and OS interfaces as nested subsections). Fields that were not reported are left out.

The pane renders through the CDK overlay so the side nav cannot cover it, closes on Escape, returns focus to the row, follows the page direction for RTL languages, and respects reduced motion.

Rows are now keyboard-activatable, and the per-cell navigate handlers are collapsed into one row handler. DeviceInfo gains the optional fields console's DTO already sends. An empty friendlyName no longer renders as "()" next to the hostname.

fixes: #3612

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?

Anything the reviewer should know when reviewing this PR?

If the there are associated PRs in other repositories, please link them here (i.e. device-management-toolkit/repo#365 )

rsdmike and others added 2 commits October 6, 2026 15:45
Clicking a device on the Discovered tab opened the device page, which
talks to Intel AMT over WS-MAN. A discovered device has been found by
rpc-go and reported to console but never activated, so console has no
credentials for it and that page could never work. Discovered rows now
open a side pane instead; managed rows still open the device page.

The pane shows what rpc-go reported, straight from the deviceInfo
console already returns with the device list, so no new API call is
needed. The hostname heads the pane with the GUID beneath it. Details
are grouped as platform (processor and adapters), Intel AMT (with a
Unique Platform ID subsection and the trusted certificate hashes in a
collapsible panel), operating system, and network (Intel AMT and OS
interfaces as nested subsections). Fields that were not reported are
left out.

The pane renders through the CDK overlay so the side nav cannot cover
it, closes on Escape, returns focus to the row, follows the page
direction for RTL languages, and respects reduced motion.

Rows are now keyboard-activatable, and the per-cell navigate handlers
are collapsed into one row handler. DeviceInfo gains the optional
fields console's DTO already sends. An empty friendlyName no longer
renders as "()" next to the hostname.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Mike Johanson <michael.johanson@intel.com>
Resolve conflicts in devices.component.html and devices.component.ts by
keeping main's versions and re-applying the discovered-device pane
changes (row click/keyboard handler, pane overlay template, openDevice,
closePane, pane refresh on reload and reset on tab change).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Reported fields can disappear, focus and direction handling need correction, and fixture-dependent tests are not restricted to isolated runs.

7 open issues
What changed in this PR

Adds a read-only discovery-details pane for Console devices, supporting #3612 without making Intel AMT requests that require management credentials.

Changes:

  • Opens discovered devices in an overlay pane while preserving managed-device navigation.
  • Displays grouped discovery details with localized labels, keyboard interaction, RTL styling, and reduced-motion support.
  • Extends discovery models and adds unit and end-to-end coverage.
File Description
src/​models/​models.ts Adds optional discovery fields and network interfaces.
src/​assets/​i18n/​sv.json Adds Swedish pane translations.
src/​assets/​i18n/​ru.json Adds Russian pane translations.
src/​assets/​i18n/​nl.json Adds Dutch pane translations.
src/​assets/​i18n/​ja.json Adds Japanese pane translations.
src/​assets/​i18n/​it.json Adds Italian pane translations.
src/​assets/​i18n/​he.json Adds Hebrew pane translations.
src/​assets/​i18n/​fr.json Adds French pane translations.
src/​assets/​i18n/​fi.json Adds Finnish pane translations.
src/​assets/​i18n/​es.json Adds Spanish pane translations.
src/​assets/​i18n/​en.json Adds English pane labels and explanations.
src/​assets/​i18n/​de.json Adds German pane translations.
src/​assets/​i18n/​ar.json Adds Arabic pane translations.
src/​app/​devices/​discovered-device-pane/​discovered-device-pane.component.ts Builds discovery sections and handles pane focus.
src/​app/​devices/​discovered-device-pane/​discovered-device-pane.component.spec.ts Tests detail rendering and pane interactions.
src/​app/​devices/​discovered-device-pane/​discovered-device-pane.component.scss Styles the responsive pane and animations.
src/​app/​devices/​discovered-device-pane/​discovered-device-pane.component.html Renders grouped details and certificate hashes.
src/​app/​devices/​devices.component.ts Integrates overlay lifecycle and device selection.
src/​app/​devices/​devices.component.spec.ts Tests navigation, refresh handling, and focus restoration.
src/​app/​devices/​devices.component.scss Adds row indicators and pane exit animation.
src/​app/​devices/​devices.component.html Adds row activation and pane bindings; hides empty friendly names.
cypress/​e2e/​integration/​device/​discovered-pane.spec.ts Covers pane opening, mobile layout, closing, and managed navigation.

Review effort: Balanced

Comment thread src/app/devices/devices.component.ts Resolved
Comment thread src/app/devices/devices.component.ts Resolved
Comment thread src/assets/i18n/en.json Resolved
@ShradhaGupta31
ShradhaGupta31 force-pushed the feat/discovered-device-pane branch from d05303e to d8df64a Compare October 28, 2026 08:48
- Show isElevated and heciAvailable, which console reports in
  deviceInfo since device-management-toolkit/console#1306
- Translate the fixed values rpc-go reports: control mode reuses the
  devices table labels, TLS mode reuses the profile tlsModes labels,
  and new labels cover TLS disabled, DHCP mode and link status
- Theme the pane and the row it opens from with Material 3 system
  tokens so they follow light/dark mode and the chosen palette
- Drop a redundant optional chain that triggered NG8107

Signed-off-by: ShradhaGupta31 <shradha.gupta@intel.com>
@ShradhaGupta31
ShradhaGupta31 marked this pull request as ready for review October 29, 2026 04:15
@sudhir-intc

Copy link
Copy Markdown
Contributor

@ShradhaGupta31 : Tried out this PR for the discovery part. Most of the functionality seems to be working good. Few Observations

  1. When viewing the discovered device information details, you need to refresh the page to always get the latest content. Consider this scenario
    1. Initial Sync: Device-1 has been synced at time ex: First discovered Oct 29, 2026, 10:11:32 AM & Last synced Oct 29, 2026, 10:11:32 AM
    1. Staying on the Discovered tabs page rpc-go does a sync 2 mins later. When you click to see the details it shows the same information as that of earlier
    1. Now do a refresh/go out of the Devices page to some other page and come back. When you click to see the details now it shows new information as First discovered Oct 29, 2026, 10:11:32 AM & Last synced Oct 29, 2026, 10:13:32 AM
  1. When you copy and paste the time from First Discovered / Last Synced we see a special character(?) replacing the space as here: Oct 29, 2026, 10:11:32?AM

@ShradhaGupta31

Copy link
Copy Markdown
Contributor Author

@ShradhaGupta31 : Tried out this PR for the discovery part. Most of the functionality seems to be working good. Few Observations

  1. When viewing the discovered device information details, you need to refresh the page to always get the latest content. Consider this scenario
    1. Initial Sync: Device-1 has been synced at time ex: First discovered Oct 29, 2026, 10:11:32 AM & Last synced Oct 29, 2026, 10:11:32 AM
    1. Staying on the Discovered tabs page rpc-go does a sync 2 mins later. When you click to see the details it shows the same information as that of earlier
    1. Now do a refresh/go out of the Devices page to some other page and come back. When you click to see the details now it shows new information as First discovered Oct 29, 2026, 10:11:32 AM & Last synced Oct 29, 2026, 10:13:32 AM
  1. When you copy and paste the time from First Discovered / Last Synced we see a special character(?) replacing the space as here: Oct 29, 2026, 10:11:32?AM

@sudhir-intc - Thanks for testing, I have fixed these issues in the latest commits. Pls check.

- fix the device data refresh issue

Signed-off-by: ShradhaGupta31 <shradha.gupta@intel.com>
@sudhir-intc

Copy link
Copy Markdown
Contributor

@ShradhaGupta31 : Tried out this PR for the discovery part. Most of the functionality seems to be working good. Few Observations

  1. When viewing the discovered device information details, you need to refresh the page to always get the latest content. Consider this scenario
    1. Initial Sync: Device-1 has been synced at time ex: First discovered Oct 29, 2026, 10:11:32 AM & Last synced Oct 29, 2026, 10:11:32 AM
    1. Staying on the Discovered tabs page rpc-go does a sync 2 mins later. When you click to see the details it shows the same information as that of earlier
    1. Now do a refresh/go out of the Devices page to some other page and come back. When you click to see the details now it shows new information as First discovered Oct 29, 2026, 10:11:32 AM & Last synced Oct 29, 2026, 10:13:32 AM
  1. When you copy and paste the time from First Discovered / Last Synced we see a special character(?) replacing the space as here: Oct 29, 2026, 10:11:32?AM

@sudhir-intc - Thanks for testing, I have fixed these issues in the latest commits. Pls check.

@ShradhaGupta31 : thanks for working on the observations I have reported.
Please get feedback from @madhavilosetty-intel / @rsdmike before merge.

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.

Show Discovered Device Details in Console UI

4 participants