В веб-интерфейсе функция request при получении от сервера ответа с сообщением об ошибке
теперь выполняет deferred.reject() не в момент получения ответа и создания окна
с сообщением об ошибке, а в момент закрытия окна пользователем.
Кроме этого, перед deferred.reject() или deferred.resolve() вызывается deferred.notify(100),
чем сигнализируется завершение собственно запроса к серверу. Это позволяет использовать
конструкцию .progress(function(x){x < 100 || ctrl.remove();})
для убирания спиннера.
See #211, #212.