resolve promise when changes are canceled

fixes #1986