- it's no longer possible to trigger an internal error when trying create a milestone with a name already in use (fix #3652)
- this error and others are instead presented as warnings, and the milestone editor is shown with the previous content. This is in order to avoid problems like #4100, but for milestones.
I also noticed that the data model classes `.exists` property is a bit confusing as this won't actually check if the object exists in the database. Improvements in this area are still needed (this is related to #4130).