DTLS error в Firefox 154: как отделить transport failure от ICE. Практический people-first разбор: безопасный baseline, один обратимый тест, матрица результата и явная стоп-линия без лишних данных.
Как не перепутать соседние причины
Здесь разбирается одна отдельная пользовательская боль: WebRTC-сеанс доходит до ICE connected, но затем падает, и ошибку DTLS смешивают с сетевой. Проверяемый вопрос сформулирован узко: как обработать RTCDtlsTransport error в Firefox 154. Сходство по времени с обновлением не является доказательством причины. Сначала запишите наблюдаемый результат, точную версию и один ожидаемый результат; соседние сбои сети, профиля, расширений или устройства не включайте автоматически. Цель материала — получить хронология «ICE state × DTLS state × error name × connection outcome», а не объявить версию виновной по одному совпадению. Граница здесь проводится по ожидаемому пользовательскому результату, а не по похожему названию настройки или события. Для CSS и WebRTC наблюдение привязывается к одному API-выходу или computed value.
Что следует из первичных документов
В открытых первичных документах подтверждено следующее: Firefox 154 добавил error event для RTCDtlsTransport. Это утверждение относится к Firefox 154 и не доказывает частоту симптома, долю затронутых устройств, популярность запроса или универсальность поведения. Контролируемый rollout, политика и поддержка API проверяются на конкретной установке отдельно. Источники ниже служат для границы технического факта; форумные и поисковые упоминания не использованы как доказательство причины. Первичный документ подтверждает возможность поведения, но не утверждает, что она включена у каждого профиля. Спецификация задаёт семантику, а release notes — границу доступности реализации.
Что записать до опыта
До изменения соберите минимальный baseline: ICE state, DTLS state до/после event, error.name, timestamp, certificate algorithm без самого сертификата и browser build. Не добавляйте полный профиль, историю просмотра, токены, IP-адреса или персональные данные, если они не меняют воспроизводимость. Для неизвестного значения оставьте unknown вместо догадки. Запишите версию, время и ожидаемый результат до опыта. Такой baseline позволяет отличить конфигурацию от версии и делает последующий откат проверяемым, не расширяя доступ к рабочей среде. Каждый вход записывается отдельной строкой; смешанный снимок нескольких устройств для сравнения непригоден. Минимальная fixture должна воспроизводиться без стороннего сервера и пользовательского контента.
Контроль с возвратом
Выполните ровно один обратимый контроль: на локальном тестовом peer connection подписаться на error, сопоставить его с state timeline и снять listener. Сохраните порядок A → контролируемое изменение B → возврат к A. Между шагами записывайте только наблюдаемое состояние из baseline; не обновляйте одновременно браузер, драйвер, ОС и тестовый код. Если возврат к A не восстанавливает исходный результат, причинная связь не подтверждена и эксперимент следует остановить, а не добавлять новые вмешательства. Перед B формулируется ожидаемое отличие: без этого любое изменение после действия будет post-hoc догадкой. Listener, временный стиль или тестовый peer удаляется в конце шага.
Матрица решения
Сведите наблюдения в хронология «ICE state × DTLS state × error name × connection outcome». Для каждого ряда укажите один из статусов: reproduced, not reproduced, stopped или unknown. Reproduced означает только локальную воспроизводимость в записанном окружении; оно не переносится на все версии и устройства. Not reproduced не опровергает официальный факт, а показывает, что выбранный контроль не повторил боль. Unknown сохраняется, если отсутствует обязательный вход или rollback не завершён. Результат читается по одной переменной; необычный побочный эффект переносится в новый диагностический вопрос. Разница движков отмечается как interoperability observation, а не как вина одного браузера.
Когда прекратить диагностику
Критерий остановки: не форсировать слабые cipher suites, не публиковать fingerprint и не испортить рабочий звонок ради воспроизведения. Для обращения достаточно обезличить версию, короткий expected/actual, три шага, статус возврата и хронология «ICE state × DTLS state × error name × connection outcome». Удалите имена, пути, адреса, cookies, токены, содержимое медиа и полные дампы. Если вложение нельзя очистить, не отправляйте его. Не выдавайте локальный результат за массовый эффект и не обещайте исправление: материал формирует воспроизводимый вопрос для владельца продукта или теста. Для эскалации сохраняются дата документа и точная сборка, чтобы ответ не зависел от меняющегося интерфейса. В технический issue попадает сокращённая таблица, но не сетевой дамп и не реальный медиапоток.
Материал подготовлен редакцией VOne с помощью ИИ; технические утверждения, источники и границы вывода постатейно сверены с указанными первичными документами 28 августа 2026 года.
Источники и проверка
- Firefox 154: official release notes проверено 2026-08-28
- WebRTC 1.0 specification проверено 2026-08-28
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.