В Firefox 7 наблюдается исчезновение дополнений. Пути решения проблемы с совместимостью дополнений

Разработчики Firefox сообщили об обнаружении проблемы с исчезновением дополнений, после обновления до Firefox 7. Если перед обновлением Firefox 7 в браузере присутствовали дополнения для которых уже было загружено обновление, но данное обновление не было активировано перезапуском, то такие дополнения в Firefox 7 становятся неактивными и исчезают из списка дополнений. При этом связанные с дополнениями данные и сам код дополнений остаётся на месте. До момента устранения проблемы распространение автоматического обновления с Firefox 7.0 приостановлено.

Работу автоматического распространения обновлений планируется возобновить после выхода корректирующего выпуска Firefox 7.0.1. Для пользователей, столкнувшихся с описанной проблемой, подготовлен специальный инструмент для восстановления работы пропавших дополнений. Кроме того, как уже было упомянуто в отчете о подверженности разных браузеров атаке против SSL/TLS, разработчики Firefox рассматривают возможность временного блокирования работы Java-плагина, по крайней мере до момента, когда компания Oracle выпустит обновление с исправлениями, препятствующими совершению атаки.

Как известно, основная критика сокращенного цикла подготовки релизов Firefox связана с проблемами с совместимостью дополнений, возникающими при обновлении до очередного значительного выпуска, которые теперь выходит раз в 6 недель. В апреле, еще до выхода Firefox 5, разработчики внедрили систему автоматизированной проверки распространяемых через addons.mozilla.org дополнений на совместимость с будущими выпусками. В процессе работы система автоматически корректирует минимальный номер поддерживаемой версии и отправляет уведомления разработчикам дополнений в случае выявления потенциальных проблем. Подобный подход позволил обеспечить к моменту релиза Firefox 6 совместимость 97% представленных в каталоге addons.mozilla.org дополнений, а к моменту выхода Firefox 7 довести этот показатель до 99% (т.е. с релизом Firefox 7 было совместимо 99% дополнений, работающих с Firefox 6).

Возник вопрос, если почти все дополнения из addons.mozilla.org совместимы с новым выпуском к моменту его релиза, то почему не прекращается волна жалоб на неработоспособность дополнений после очередного релиза. Для определения причины была задействована появившаяся в Firefox 4 функция анонимного сбора статистики о используемых дополнениях. Всего удалось собрать информацию о 600 миллионах находящихся в использовании дополнениях. Каково же было удивление разработчиков, когда 75% (450 млн) из этих дополнений не были представлены в каталоге addons.mozilla.org.

Разбираясь детально было определено, что эти дополнения навязаны пользователям с различными продуктами, например, подобные дополнения без спроса устанавливаются в Firefox с продуктами Microsoft, в комплекте со Skype, с Java, с различными медиа-плеерами и т.п. Так как для такие дополнения не адаптируются к новым версиям Firefox, при каждом значительном обновлении браузера пользователь сталкивается с предупреждениями о нарушении совместимости. Для решения данной проблемы начиная с Firefox 8 в браузер будет добавлено специальное средство для борьбы с установкой непрошеных дополнений, которое будет по умолчанию блокировать подобные дополнения. Включить их можно будет только при одобрении пользователем через специальную форму.

Следующим шагом станет изменение процесса определения пригодности дополнений. Начиная с Firefox 10 планируется упразднить проверку пригодности дополнений по номеру версии и по умолчанию признавать все дополнения совместимыми. Для блокирования несовместимых дополнений будет создан специальный черный список, куда будут помещены дополнения, не прошедшие автоматическое тестирование или в которых подтверждено наличие проблем. Список будет формироваться на этапе 18-недельного тестирования веток Nightly, Aurora и Beta, т.е. черный список будет сформирован ещё до релиза. Данное новшество не отразится на совместимости с дополнениями, содержащими бинарные вставки. Как и раньше все бинарные дополнения будут считаться несовместимыми с новыми версиями и требовать перекомпиляции.

Другим активно пропагандируемым решением проблемы является агитация перехода на использование Add-on SDK, который позволяет разработчикам не заботиться о совместимости с версиями Firefox. Add-on SDK даёт возможность создавать дополнения с использованием технологии Jetpack, которая в отличие от XUL не требует изучения особенностей внутреннего устройства браузера и базируется на стандартных web-технологий HTML, CSS и JavaScript. Кроме простоты разработки, достоинством Jetpack-расширений является возможность мгновенной активации дополнения, без перезагрузки браузера, и отсутствие требований к обеспечению совместимости с будущими версиями браузера.

©  OpenNet