Closed NeilRashbrook closed 3 years ago
The use case where I originally noticed this was with the Alarm dialog, which sets a custom property, and the current provider code was immediately deleting the property, causing the alarm to retrigger indefinitely.
The current provider code gives the extension a set of properties, and it then expects the extension to return those properties and it also expects to be able to recreate an identical clone of the item from the returned properties. This is not possible unless at some point all arbitrary properties of items are included in the object passed into the extension somehow. As such, it's important not to delete properties not supported by the conversion process. Additionally, this makes it easier on the extension, as it only has to return properties that it wants to change.