Амперсанд сломал голосовые сообщения на iPhone

Читать в полной версии

В приложении «Сообщения» из комплекта Apple iOS обнаружилась проблема, не позволяющая отправлять голосовые сообщения, в которых содержится спецсимвол амперсанд («&»). Это значит, в аудиосообщениях нельзя, например, упоминать названия таких брендов как Dave & Buster's, H&M и Tiffany & Co.

Источник изображения: rambo.codes

Ошибку обнаружили авторы подкаста Search Engine, после чего её изучил разработчик приложений Гильерме Рамбо (Guilherme Rambo). Когда пользователь пытается отправить голосовое сообщение, в котором упоминается, например, название сети заведений общепита Dave & Buster's, адресат в своём приложении видит индикатор в виде трёх точек, указывающий, что сообщение набирается. Но через несколько секунд записанное голосовое сообщение исчезает, так и не появившись у того, кому отправлялось.

Проблема, как выяснилось, не в аудиосообщениях, а в сопровождающих их текстовых расшифровках. Механизм расшифровок обучен распознавать названия брендов, таких как H&M или Dave & Buster's — при их выводе подставляется амперсанд. Но этот символ некорректно отображается в XHTML, что приводит к ошибке анализа на устройстве адресата. Из-за ошибки запускается функция Apple BlastDoor Messages, предназначенная для защиты пользователей от эксплуатации вероятных уязвимостей в механизме анализа голосовых сообщений, которые в итоге не отправляются. Гильерме Рамбо подробно описал корни проблемы в публикации своего блога.