Веб-браузеры приблизились к «проблеме 100-ой версии»: что это значит и чем грозит пользователям интернета Статьи редакции
Версии Chrome, Edge и Firefox скоро достигнут трёхзначного числа, что может нарушить работу сайтов и онлайн-сервисов — среди них Slack, HBO Go и Yahoo.
Новые версии Chrome и Edge должны выйти в марте, а в мае обновление ждёт Firefox. Переход на версию 100 в ближайшие недели способен привести к ошибкам или проблемам совместимости на некоторых веб-сайтах, которые не готовы читать трёхзначные строки пользовательского агента, пишет The Verge.
При посещении веб-страницы браузер передаёт ей User Agent — строку с информацией о своей версии, используемом движке, а также названии и версии операционной системы. Это позволяет владельцам сайта собирать данные, и предоставлять версию, адаптированную для конкретного браузера. Часть сервисов используют User Agent, чтобы предупреждать пользователей о возможной несовместимости или блокировать доступ.
Но иногда это приводит к искусственной несовместимости — например, так было в случае с Google Docs после перехода браузера Edge на Chromium.
Сейчас Google, Mozilla и Microsoft пытаются предотвратить серьезные проблемы. В частности, Mozilla и Google проводят эксперименты по тестированию веб-сайтов и сообщают о сбоях. Сейчас список проблем включает в себя всего 22 пункта, но некоторые из них имеют статус «критических». Наиболее заметными затронутыми сайтами являются Slack, HBO Go, Bethesda и Yahoo.
С похожими проблемами индустрия уже сталкивалась раньше — в 2000 и 2010 годах. В конце 90-х специалисты ожидали массового отказа информационных систем из-за «проблемы 2000 года» — для некоторых компьютеров он был неотличим от 1900 года.
Когда немногим более 12 лет назад браузеры впервые достигли версии 10, было обнаружено много проблем с библиотеками синтаксического анализа User-Agent, поскольку основной номер версии изменился с одной цифры на две.
Компании уже разрабатывают планы на случай массовых проблем. Mozilla заявляет, что будет оперативно исправлять неработающие веб-сайты или вовсе временно заморозит основную версию Firefox на уровне 99, если поломки станут массовыми и неуправляемыми.
У Google также есть планы на случай, если выпуск стабильной 100-ой версии повредит работе с сайтами больше, чем предполагалось. В разрабатываемых версиях обоих браузеров уже появилась функция отображения сотой версии, чтобы пользователи и тестировщики могли помочь в исправлении проблем.
2k problem. Проходили уже ...
Даже не так.
Айти проблемы раньше: в 2000м году возможны сбои из-за того, что формат даты в некоторых случаях не поддерживается или будет переполнен.
Айти проблемы сегодня: что, версия вашего ПО трехзначная? КАРАУЛ, МЫ ВСЕ УМРЕМ!!!
Комментарий недоступен
Комментарий недоступен
В 2038 еще и timestamp кончится
ну и ССЗБ если используют int для хранения времени
Только сегодня отгрузил продукт со словами до 38 успеем исправить
Комментарий недоступен
Рекомендую.
тебе привели в пример ряд сайтов, которые (в текущей реализации) вернут отказ доступа или ошибки.
пользователи об этом и не узнали быих аудитория измеряется сонями миллионов.
ну разве что о конкретной причине проблем. )
Мне кажется или это высосано из пальца. Потому что если открыть версию браузера, то там давно не двухзначные числа. Там после точки еще +100500 номер версии.
Комментарий недоступен
Я полагаю дело в том, что "100" < "99" и все сравнения версий без приведения типов поломаются
99.101.4988.0
Парсер ожидает двухзначное число на первом месте, а не трехзначное. Вот и проблема.
Проблема не в том, что версия больше не двухзначная, а в том как парсят номер версии браузера на вебсайтах.
Это семантическое версионирование
пример: x.x.x
Мажорная версия, когда сделаны обратно несовместимые изменения API.
Минораная версия, когда вы добавляете новую функциональность, не нарушая обратной совместимости.
Патч-версия, когда вы делаете обратно совместимые исправления.
Еще могут добавить билд.
Тогда версия будет x.x.x.x
Комментарий недоступен
А какой там следующий «проблемный» год? 2037 или 38, если не ошибаюсь
А нехрен было отказываться от нормального SemVer с major.minor.patch и менять мажорную версию после каждого чиха
Это все психология человека и ее активно эксплуатируют.
Условно в один месяц вышли бы браузеры Firefox 8 и Chrome 75. У хрома версия смотри как далеко продувинулась, намного больше! Значит берем хром!
Щас с блендером такая же фигня происходит. Он долго долго шел до версии 2.7, потом гигантский скачек до 2.8! Новый интерфейс, новые фишки! А щас уже штампуют версии 3, 3.1, 3.2 и изменения не особо то и сильные.
А нечего было гнаться за большими числами. Эх, помню времена, когда новый мажорный релиз означал реальные изменения...
Ну ты че, люди добавили целую одну новую кнопку, срочно повысить версию!
Комментарий недоступен
Комментарий недоступен
В том, что ты в конец запутаешь наименование версий и сломаешь кучу сайтов, которые проверяют версию браузера?
Не припомню что бы были проблемы в 2000-ом. В 2010 тем более.
Потому что сисадмины сайтов (и разработчики по), которые ты посещаешь, просекли эту тему и своевременно обновились. Неназванные герои.
Так же будет и в этот раз.
Комментарий недоступен
Комментарий недоступен
Отличная работа, теперь будет еще больше ошибок.
Как же я без Yaho проживу…
Ееее новый Y2K
Ну весь то интернет наверное не сломается.
А жаль.
дтф выживет!
...наверное
Комментарий недоступен
опера на хромиуме лол
Комментарий недоступен
Де-факто движок Blink и стал таким стандартом
Все браузеры кроме Gecko и Webkit на одном движке и работают одинаково
Оно так и работает, все штуки по спеке пилят
https://www.w3.org/standards/
Вот например хтмл спека https://html.spec.whatwg.org/multipage/
Тут можно глянуть что работает и в каком браузере https://caniuse.com/
Да они и так вроде. Наверное есть какие то супер крутые разработчики которые используют новые фишки браузеров по максимуму, включая экспериментальные функции. Но в основном кнопки красятся на всех браузерах одинаково, и в принципе никаких проблем с этим нет. Как то разрабатываем, тестим на последнем хроме, Мозилле и Сафари и хватит
Просто переведите нумерацию версий в 16ричную систему счисления, а когда и в ней дойдут до аналогичной проблемы, то скорее всего все уже пофиксят.
Наверное.
Перейдут на 32-ричную систему.
кто неиронично пользуется этими сайтами, при живых дискорде и гугле?
Комментарий недоступен
Комментарий недоступен
она на хромиуме
да сделайте 99.1 и нет проблем)
только потом будут версии 99.99.99.1
A0
Ты только что python.
Была версия 99.хх, а станет 01.99.хх
Это как когда-то наступил 2000 год и тоже поломались все даты в компьютерах.
Создавать браузер 2 разумеется
Убийства, голод, преступность — все это не волнует меня. А волнуют меня знаменитости и скандалы, ютуб, где 100000000 каналов, чье имя на бирке моих трусов, невозможность it'ишникам с зарплатами в тысячи долларов прописать возможность вписывать три символа в строку, чтобы интернет не сломался
А кто их учил при изменении размера одной иконки менять номер версии браузера на +3?
Комментарий недоступен
Пользуюсь Opera уже 11 лет и не зря
Жаль, что опера тоже на хромиуме
Проблема была в 2000ых, 2010ых и теперь. Чо за 20 лет незя было выделить несколько символов для наименования версий? Пздц. Это же такой маразм.
Причем здесь выделение символов? Проблема в том, как горепрограммисты на сайтах писали парсинг номера версии.
"Это позволяет владельцам сайта собирать данные, и предоставлять версию, адаптированную для конкретного браузера."
Ага, нечего мне делать. Под мобилочки, под планшетик и под десктоп адаптирую, причем чисто по ширине экрана и хватит. Знает кто, зачем нужно адаптировать веб сайт конкретно под версию браузера, а то я что то не могу придумать, а сайтов уже как то порядочно наделал.
В зависимости от версии можно отдавать разные сборки фронтенда (или его частей). Запрос от браузера с версией ниже X? Отдаём код с полифиллами или стили с префиксами. Версия равна или выше X? Отдаём код без полифиллов/префиксов.
Но такое конечно мало кому надо. На тред от фронтендера Амазона недавно натыкался, там что-то подобное было.
В одних версиях поддерживают веб-сокеты, в других. нет.
если идет проверка версии по двум первым цифрам, то 100-ая версия будет восприниматься как 10-ая, то естьв ерсия без вебсокетов
Упс.
99.999999
(͡° ͜ʖ ͡°)
"Индуский код" нас убьёт.
Было.
Быдло кодеры хардкодят магические цифры, ничего нового
Комментарий недоступен
Ну справедливости ради ipv4 адреса раздавали как попало и кому попало, и теперь немалая часть не доступна к использованию из-за прав на эти адреса
Блять а нельзя сразу на будущее сделать так, чтобы агент мог считывать хоть 10-ти значные строки? В чем проблема?
в ресурсах
Почему после 99ой версии нельзя просто заново с 1 начать отчёт?
Сижу на dev-ветке хрома, так-то отвалившиеся сайты достаточно оперативно в норму приходят
Если бы программисты строили дома, то первый же дятел разрушил бы цивилизацию.
Канарейка уже 100 версии
Выпускайте Chrome 2, Edge 2 с версиями 0.0.1 да и всё ( ͡° ͜ʖ ͡°)
Совсем мудаки что ли? Чем парсинг инта отличается от специальных случаев одной или двух цифр?
А не судьба вместо сотой версии написать версия 1а? Или там все сложнее?
Ничем и никому. TJ иди ты уже нахуй с дтф.
Бред для дибилов
Кто на Опере тем пох ))