Remove old node only when provisioning succeeds #579
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR changes behavior of the
ProvisioingManager
in case an Unprovisioned Device with the same UUID as one of the Nodes in the network is being provisioned.Before
The
provision
method was throwingMeshNetworkError.nodeAlreadyExist
error. The Node had to be removed prior to provisioning. This was OK but could lead to some issues with reprovisioning. The app would have to store the old Node until the device was reprovisioned in order to copy its configuration. But if the provisioning pf the new Node would fail, e.g. due to OOB failure, the Node was already removed.After
The
ProvisioningManager
allows duplicate UUID and will remove the overwritten Node automatically when provisioning is successful.