«Яндекс.Навигатор» для Android записывал все окружающие звуки в файл

В результате череды ошибок сотрудников «Яндекса» приложение «Яндекс.Навигатор» для Android после запуска начинало записывать все окружающие звуки в файл. О том, как была допущена неисправность, представители компании рассказали в своём блоге на «Хабрахабре».

Проблемное обновление было доступно в Google Play всего несколько часов — ошибку оперативно исправили, однако за это время оно успело привлечь внимание многих пользователей и СМИ.

Мы выкатили версию «Яндекс.Навигатора» под Android с неприятной ошибкой: приложение постоянно держало включённым микрофон и записывало весь звук в локальный файл. В результате быстро забивалось место на устройстве, да и просто это выглядело подозрительно, хотя содержимое файла по сети никуда и никогда не передавалось.

из блога «Яндекса»

В новой версии «Навигатора» должна была появиться функция голосовой активации с помощью технологии распознавания SpeechKit. Раньше приложение понимало вербальные команды, но делало это только по нажатию кнопки.

Череда неудач с обновлением программы началась, когда разработчики обнаружили, что на одном из этапов вместо финальной версии взяли отладочную. Однако простая замена библиотеки не помогла: приложение стало падать.

Исправить ошибку было относительно легко, но времени на тестирование с новой версией не оставалось совсем, и мы решили откатиться на отладочную и запускаться с ней.

из блога «Яндекса»

Отладочная версия, по словам представителя «Яндекса», работала нормально, но отличалась от релизной тем, что составляла лог ошибок. В него входила и запись всех звуков, которые издаёт пользователь: таким образом в случае неисправностей можно было послушать, как произносились команды, чтобы понять, почему программа не смогла их выполнить.

В отладочной сборке, которая превратилась в релизную, этот механизм должен был быть отключён, однако разработчики пропустили заголовочный файл, «в котором этот макрос определялся».

Поскольку во время тестирования приложение не запускалось надолго, а звуковой файл после каждого запуска перезаписывался, изменения размера «Навигатора» на смартфоне были незначительными, и проблему не обнаружили. Однако после того, как обновление вышло, пользователи, включавшие программу на часы, заметили, как на их устройстве стремительно заканчивается свободное место.

В результате небольших по отдельности ошибок и допущений мы получили серьёзную проблему, из-за которой некоторые люди, увы, потеряли доверие к «Навигатору» и даже в целом к «Яндексу».

из блога «Яндекса»

В 2015 году это уже второй подобный скандал с участием «Яндекса». В феврале пользователи «Яндекс.Метро» для Android обратили внимание, что программа отсылает данные об их местоположении даже когда приложение выключено. Тогда представители компании назвали эту процедуру ошибкой.


Интересные материалы: