Неделю назад возникла проблема, из-за которой российские пользователи Google Chrome, Chromium (и других сборок на его основе с гугловской синхронизацией) не могли авторизоваться в браузере. Хотите узнать причины ее возникновения, хронологию и способ исправления?
Первые упоминания проблемы появились 11 числа в субботу на форуме поддержки пользователей. Коснулась эта беда пользователей с русской локализацией браузера (ru_RU, ru_UA). Почти сразу же был найден чудотворный способ лечения проблемы через английскую локализацию браузера, который мы и опубликовали.
В понедельник 13 числа был создан багрепорт в проекте Chromium и началась работа. Источник всего этого безобразия был найден достаточно быстро. Хром с русской локалью при успешном "Входе" должен вести себя следующим образом:
1. Загружается страница www.google.com/intl/ru/chrome/blank.html.
2. После загрузки браузер редиректит на обычную новую вкладку.
3. Начинается синхронизация.
Но проблема возникла из-за того, что искомая страница из п.1 отдавала ошибку 302 с автоматическим редиректом на www.google.ru/intl/ru/chrome/blank.html. Браузер ждал вовсе не эту страницу, поэтому дальше ничего не делал. Т.е. собственно до синхронизации дело просто не доходило. Откуда взялась ошибка и редирект? Возможно из-за недавних изменений в серверном фреймворке.
Во вторник 14 числа в 10:47 (MSK) редирект поправили специальным серверным хаком для русской локали.
The current fix is a bit of a hack in that it is a special case excluding our own landing page for RU.
А чтобы в будущем по этой же причине не отвалилась синхронизация где-нибудь еще, в ночь на пятницу 17 в Chromium 34 добавили вот это. Причем, если все будет хорошо, то исправление обещают встроить и в Хром 33.
Вот так.