Search Engine: Амперсанд сломал голосовые сообщения на iPhone
В приложении «Сообщения», которое входит в комплект Apple iOS, обнаружена проблема, из-за которой невозможно отправлять голосовые сообщения, содержащие специальный символ амперсанд (&). Это означает, что в аудиосообщениях нельзя упоминать такие бренды, как Dave & Buster’s, H&M и Tiffany & Co.
Об этой проблеме стало известно благодаря подкасту Search Engine. Разработчик приложений Гильерме Рамбо (Guilherme Rambo) провёл исследование и выяснил причину.
Когда пользователь пытается отправить голосовое сообщение с упоминанием, например, сети ресторанов Dave & Buster’s, на экране получателя появляется индикатор в виде трёх точек, указывающий, что сообщение набирается. Однако через несколько секунд записанное голосовое сообщение исчезает, так и не дойдя до адресата.
Проблема заключается не в аудиосообщениях, а в текстовых расшифровках, которые их сопровождают. Механизм расшифровки распознаёт названия брендов, таких как H&M или Dave & Buster’s, и заменяет их на амперсанд. Однако этот символ некорректно отображается в XHTML, что приводит к ошибке анализа на устройстве получателя.
Из-за этой ошибки запускается функция Apple BlastDoor Messages, которая защищает пользователей от возможных уязвимостей в механизме анализа голосовых сообщений. В результате сообщения не отправляются.
Гильерме Рамбо подробно описал причины проблемы в своей публикации в блоге.