device-management-toolkit / device-management-toolkit/sample-web-ui

Persist provisioning progress so UI can show activation stage during in-flight provisioning

Open
#3,472 0 comments 0 reactions 1 assignee View on GitHub

@nbmaiti is already working on this.

Since Jul 27, 2026.

user-experience
Dominant language
TypeScript
Stars
13
Forks
19
Avg merge
1d 1h
Merged PRs (30d)
49

Description

Summary

During device activation, stage updates are sent in real time but are not reliably persisted for UI consumption while provisioning is still in progress. If the UI refreshes or reconnects mid-activation, users can lose visibility into the current provisioning stage.

Problem

The activation pipeline emits progress labels (for example, stage-by-stage status), but those labels are transient unless the final status is written. This causes a gap where the UI cannot consistently display the latest in-progress stage for already-registered devices.

User Impact

  • Users may see stale or missing progress after page reload/reconnect.
  • Support/debug workflows become harder because in-flight stage context is lost.
  • Provisioning appears “stuck” even when progress is advancing.

Expected Behavior

  • The latest provisioning progress label should be persisted while activation is in progress.
  • Persisted progress should be included in device status payloads consumed by UI.
  • Progress should be cleared once activation reaches a terminal state (success or failure), so stale stage text is not shown afterward.

Proposed Fix

  • Add a transient provisioning progress field to the device/client runtime model.
  • Update this field when progress events are emitted.
  • Persist progress to MPS during in-progress updates for devices already registered in MPS.
  • Include the progress field in persisted device info payloads.
  • Reset/clear progress on terminal completion paths.

Acceptance Criteria

  • UI can recover and display the latest provisioning stage after refresh during activation.
  • Persisted device info contains the latest in-progress stage label when activation is active.
  • Progress label is cleared after terminal activation result.
  • Existing structured component status remains unchanged and backward compatible.
  • Unit tests cover persistence and payload propagation of provisioning progress.

Notes

This issue tracks persistence of in-progress provisioning stage for better UI continuity and observability, without changing final activation semantics.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.