← Все релизы EN  RU

Контроль изменений — пятница 4 сентября

v2.5.0

Ничто из перечисленного ниже пока не живое. Это релиз, который выходит в пятницу утром. Черновик написан в четверг намеренно — каждое «до» на этой странице можно измерить, только пока живой магазин это ещё отдаёт, и оно исчезает в момент выкатки. Там, где измерение снять не удалось, строка говорит об этом красным, а не показывает число.

Одна вещь, которую стоит вынести с этой страницы, если больше ничего не читать. Этот релиз не может выйти в текущем виде. На живом сервисе поиска не хватает одной настройки, и новый код поиска без неё отказывается стартовать. Система устроена так, чтобы падать безопасно, поэтому последствие — пятничный релиз не состоится, а не магазин сломается. Настройка ставится за минуту, и это первый пункт ниже. Решение, которое нужно от этой страницы, — кто её выставит и в каком порядке выходят две половины смены адресов; эти два ответа и отделяют релиз от пятничного утра.

Девяносто два изменения с релиза 28 августа: пятьдесят восемь на сайте магазина, двадцать четыре в поиске, десять в сервисах заказов и оплаты. Почти всё это — три работы. Первая — схема запчастей на телефоне: она перестаёт быть картинкой, с которой борешься, и становится местом, где можно купить. Вторая — у каждой страницы запчасти меняется адрес, и это требует, чтобы сайт магазина и поиск договорились между собой в одно утро. Третья доводит до конца работу двух прошлых релизов о том, какие страницы запчастей приглашены к прочтению Google.

В отличие от прошлого релиза, здесь почти ничего не спрятано за переключателем. Релиз 28 августа выехал с главной работой в выключенном виде и спрашивал, какие переключатели включать; те четыре настройки остались там же, и этот релиз их не трогает. То, что здесь, вступает в силу в пятницу — поэтому вопрос порядка во втором разделе важнее обычного.

Три по-настоящему новые вещи всё же выезжают выключенными: место, где покупатель хранит свои машины, магазин крепежа и виджет чата. Ни одно из них в субботу утром недостижимо. Каждое — отдельное решение для будущей недели, и каждое описано в своём разделе, а не закопано в списке.

Что пятница реально меняет на живом магазине — измерено в четверг, это не прогноз

Для покупателя: три вещи. Схема запчастей на телефоне становится пригодной — один палец двигает, два пальца масштабируют, выноски достаточно крупные, чтобы попасть большим пальцем, а нажатие на выноску кладёт запчасть в корзину, не уводя со схемы. Фотографии переезжают на наш собственный адрес — этого никто не должен заметить, и в этом смысл. И исправлены несколько давних неверных ответов в поиске и в корзине: фильтры, которые предлагались, но никогда не применялись; две машины с одинаковым названием, которые нельзя было различить; счётчик количества в корзине, который не всегда соответствовал соседней запчасти.

Для Google: у каждой страницы запчасти меняется адрес. Сейчас страница запчасти живёт по адресу /parts/ct-nhl-100016, а будет по /parts/100016-nhl-ct. Каждый старый адрес отвечает одним постоянным перенаправлением на новый — это та форма, которую Google умеет следовать и которая сохраняет позиции. Это единственное изменение на этой странице, которое должно выйти на сайте магазина и в поиске в правильном порядке, и это второй пункт следующего раздела.

Что не меняется: что Google разрешено читать. Четыре настройки из релиза 28 августа считаны с живого магазина в четверг: индексирование включено, ослабленное индексирование выключено, «только с ценой» включено, страницы схем и дерева техники придержаны. Пятница ни одну из них не меняет. Работа в этом релизе заставляет сайт согласиться с этими настройками в большем числе мест — она не меняет того, что они говорят.

Что нужно решить на созвоне — найдено в четверг, до выкатки

Релиз не может выйти, пока на живой сервис поиска не добавят одну настройку блокирует релизэтого никто не видитsearch#999, search#1000

Поиск искал адрес фотографии в шести разных местах собственного кода, и в каждом этот адрес был вписан как запасной вариант. Этот релиз заменяет все шесть одной настройкой и намеренно убирает запасной вариант: если настройки нет, сервис отказывается стартовать, а не отдаёт тихо старый адрес.

До — живой сервис поиска сегодняЕго настройки считаны с работающего сервиса в четверг. В списке девятнадцать записей, и новой среди них нет.

После — что сделала бы пятницаНовая версия стартует, не находит настройку и останавливается. Поскольку платформа направляет покупателей только на успешно стартовавшую версию, все запросы остаются на той, что работает сегодня. Результат — релиз, который не состоялся, а не магазин, который сломался.

Что нужноОдна настройка на живом сервисе поиска до выкатки. Это примерно минута, а её значение — тот адрес, с которого фотографии отдаются сегодня, так что для покупателя ничего не меняется.

КтоВова, до выкатки. Изнутри релиза это сделать нельзя — настройка живёт на работающем сервисе, а не в коде.

У смены адресов две половины, и они должны выйти в одном порядке нужно решитьэто видит Googlefront#4044, search#996

Сайт магазина должен принимать новый адрес страницы запчасти до того, как поиск начнёт его раздавать. Половина сайта магазина — это то, что отвечает на запрос; половина поиска — то, что вписывает адрес в карту сайта, товарный фид и ссылки внутри схем.

В правильном порядкеПервым идёт сайт магазина. В те несколько минут между половинами поиск ещё раздаёт старые адреса, а сайт магазина отвечает и на старые, и на новые. Ни в один момент ничего не сломано.

В неправильном порядкеПоиск раздаёт адреса, на которые сайт магазина ещё не отвечает. Каждая свежевыданная ссылка ведёт на мёртвую страницу до прихода второй половины, а товарный фид и карта сайта — как раз те два места, которые в этом окне вероятнее всего прочитает машина.

Почему это решение, а не просто шагПоловины выкатываются разными механизмами — сайт магазина слиянием, поиск подменой работающего образа, — поэтому порядок ничем не обеспечивается автоматически. Его должен удержать тот, кто выполняет выкатку.

Одно изменение стоит в очереди прямо в живую ветку, в обход релизного поезда нужно решитьэтого никто не видитfront#4020

front#4020 нацелен прямо в живую ветку, а не в интеграционную, через которую проходит всё остальное. Кроме того, это вторая копия работы, уже входящей в этот релиз: виджет чата приехал 27 августа и есть в списке ниже.

Почему это важноИзменение, идущее сразу в живую ветку, пропускает неделю интеграционных проверок, которую прошло всё остальное на этой странице, и это ровно та форма изменения, которую процесс написан предотвращать.

РешениеЗакрыть как уже покрытое или перенацелить в интеграционную ветку, чтобы оно поехало поездом. Любое подходит; оставить как есть — нет.

Пересинхронизация цен New Holland откладывалась четыре раза и теперь ждёт нас нужно решитьэто видит покупательhub#349

Открыто с 27 июля. Сто двадцать две тысячи пятьсот тридцать три запчасти держат цену, расходящуюся с источником. 28 августа шаг проверки перешёл к Вове, где и стоит с тех пор.

РешениеДа или нет на этой неделе. Это не заблокировано ничем в релизе — это заблокировано тем, что никто не прогнал проверку.

На тестовый сайт на этой неделе ничего не выкладывали, и у приёмки нет владельца процессэтого никто не видитбез задачи

В процессе есть четверговый шаг, который копирует кандидата на тестовый сайт, чтобы его проверили до пятницы. На этой неделе он не выполнялся — на тестовом сайте до сих пор то, что положили туда 21 августа. Релиз 28 августа тоже вышел без него.

Почему это повторяетсяЧеловек, отвечавший за тестирование, ушёл 20 августа, и роль не закрыли. У шага нет владельца, поэтому его некому пропустить и некому выполнить.

РешениеЛибо названный человек проверяет кандидата до пятницы, либо действует существующее правило и всё непроверенное — это «нет». Оба ответа рабочие; нерабочее — нынешнее состояние, где правило есть, а исполнения нет.

Одно изменение базы выезжает без учётной записи, ради которой писалось, — и это безопасно действий не требуетэтого никто не видитsearch#982

Записано здесь, чтобы это не спутали с первым пунктом. Релиз даёт тяжёлой ночной работе по индексированию собственную ограниченную учётную запись базы, чтобы она не конкурировала с поисками покупателей. На живом сервисе эта запись не создана.

Что происходит без неёРабота откатывается на общую учётную запись и пишет предупреждение при старте сервиса. Это ровно то, что происходит сегодня, поэтому хуже не становится — просто изоляция пока не получена. В отличие от первого пункта, релиз это не останавливает.

Схема запчастей на телефоне — самая крупная работа релиза, обращённая к покупателю

Схема запчастей — это способ найти нужную деталь, не зная её номера: разнесённый чертёж узла с пронумерованными выносками. На настольном экране это работает. На телефоне это была картинка, с которой борешься, — а открывают их чаще всего именно с телефона.

Один палец двигает схему, два масштабируют, и страница под ней перестаёт уезжать выходит в пятницуэто видит покупательfront#4026, front#4034

Обработка жестов была написана вручную и не отличала перетаскивание схемы от прокрутки страницы, поэтому попытка сдвинуть чертёж уводила страницу от него. Теперь этим занимается поддерживаемая библиотека, которую использует любая мобильная карта, с привычным правилом: один палец двигает, два масштабируют.

Нажатие на выноску кладёт запчасть в корзину, не уводя со схемы выходит в пятницуэто видит покупательfront#4028, front#4048

Раньше выноска только называла запчасть, и покупателю приходилось заново искать её в списке ниже, чтобы купить. Теперь выноска ведёт к покупке, а строка на панели под схемой — поверхность покупки, а не легенда: цена, наличие и кнопка добавления прямо в строке.

Плавающая метка, закрывавшая схему, убрана, а выноски стали достаточно крупными выходит в пятницуэто видит покупательfront#4058, front#4057, front#4061

Над чертежом висела метка, показывавшая выбранную выноску, и на телефоне она садилась поверх того, что описывала. Обе её задачи переехали на панель. Выноски и элементы масштабирования были меньше размера, в который надёжно попадает большой палец, — увеличены. Шторка, закрывающая нижнюю половину экрана, теперь закрывается смахиванием вниз, а не поиском маленького крестика.

У каждой страницы запчасти меняется адрес — изменение с зависимостью по порядку

Номер запчасти переезжает в начало адреса выходит в пятницуэто видит Googlefront#4044, search#996, search#994

До — живой магазин сегодня/parts/ct-nhl-100016 отвечает 200. /parts/100016-nhl-ct отвечает «не найдено». Адрес, набранный заглавными, один раз перенаправляется на строчную форму.

ПослеЭти два меняются местами, и каждый старый адрес отвечает одним постоянным перенаправлением на новый. Один переход, никогда не два, — именно это сохраняет уже заработанные позиции страницы.

Зачем вообщеНомер запчасти — то, что покупатель узнаёт и что он ищет. Вынос его вперёд делает адрес читаемым и ставит опознавательный признак туда, где его ищут и человек, и поисковая система.

ПорядокСм. второй пункт в решениях выше. Это то изменение, у которого две половины должны выйти последовательно.

Две мелкие правки адресов, которые едут вместе с этим выходит в пятницуэто видит Googlefront#3991, front#3990

Все сегменты оставшихся семейств адресов теперь строчные, поэтому одну и ту же страницу нельзя открыть двумя написаниями. И снятая с производства запчасть больше не перенаправляет на замену, которая сама снята с производства, — цепочку, заканчивавшуюся мёртвой страницей.

Что Google разрешено читать — завершение работы двух прошлых релизов

Само решение принято и выехало 28 августа: какие страницы запчастей стоит предлагать Google. Этот релиз это решение не меняет. Он заставляет ему подчиниться остальную часть сайта — те шестнадцать мест, которые отвечали по своим более старым правилам.

Ссылка на придержанную запчасть больше вообще не пишется в страницу выходит в пятницуэто видит Googlefront#4047

Придержанные запчасти не попадали в карту сайта, но на них по-прежнему вели ссылки из списков и схем, поэтому Google находил их по ссылкам. Теперь ссылки отказывают в закрытую: если запчасть не предлагается, кликабельная ссылка на неё не пишется — ни на страницах запчастей, ни на страницах подбора.

Замечание для тех, кто проверяет живой магазин сегодняПроверка, находящая мёртвые ссылки в разделе подбора, находит ровно ту проблему, которую это изменение чинит, а не новую. На интеграционной ветке оно с 3 сентября, на живой магазин попадает в пятницу.

Списки, фильтры и счётчики теперь согласны с одним и тем же правилом выходит в пятницуэто видит Googlefront#3945, #3953, #3956, #3957, #3959, #3960, #3969, #3973, #3975, #3977, #3979, #3987, #3989, #3995search#944, #952, #956, #959, #961, #965, #980, #983

Двадцать два изменения одной формы: отфильтрованный список, счётчик фасета, страница бренда или автоматическая проверка применяли правило в одном месте и не применяли в другом, поэтому показанное число и показанные строки расходились. Теперь правило одно и в одном месте. Видимый эффект — счётчик совпадает с тем, что на странице.

Одно из них — решение, а не исправлениеОткрытие бренда для Google теперь записанное решение, а не то, что происходило автоматически, как только у бренда набиралось достаточно строк. Бренд, которому нечего предложить, прячется, а не публикует список страниц, отвечающих «не найдено».

Одно — про свежестьОпубликована ли запчасть, теперь читается вживую, а не из снимка, пересобираемого ночью, поэтому появившаяся в продаже запчасть предлагается в тот же день, а не на следующий.

Каждый фильтр, который предлагает боковая панель, теперь действительно сужает выдачу выходит в пятницуэто видит покупательsearch#967, #971, #973, #975, #977, #978

Шесть изменений с одной причиной. Боковая панель и сетка строились разными путями кода, и панель рекламировала отсечения — по цене, по лидерам продаж и другие, — которые сетка никогда не выполняла. Покупатель ставил галочку, и результаты не менялись. Два фильтра, никогда и нигде не применявшиеся, удалены, а не починены, потому что за ними ничего не стояло.

Поиск перестаёт выдавать то, что нельзя купить или открыть выходит в пятницуэто видит покупательsearch#946, #949, #995front#3958

Навесное оборудование и комплекты возвращались как запчасти, что вело на адреса, отвечающие «не найдено». А когда сайт не может понять, какую запчасть имел в виду поиск, он теперь показывает страницу результатов, а не угадывает адрес страницы запчасти, которого может не быть.

Две правки поиска уже на живом магазине как аварийные уже живоеэто видит покупательfront#3963, front#3999

Записано, чтобы список сходился, а не как новость. Поиск, совпадающий ровно с одной запчастью, отвечал ошибкой вместо того, чтобы её показать, — та самая проблема, отмеченная на странице 28 августа как нерешённая. Исправлено и выкачено отдельно 29 августа. Отдельно: когда поиску тяжело, сайт теперь ненадолго запоминает отказ, вместо того чтобы упорно повторять запросы и делать хуже; это выехало 1 сентября. Оба входят в этот релиз штатно.

Корзина, оформление и аналитика — четыре мелких исправления

Счётчик количества в корзине теперь принадлежит правильной запчасти выходит в пятницуэто видит покупательfront#4045

Когда запчасть появляется внутри списка деталей узла, соседний счётчик опирался на значение, которое могли делить две разные строки, поэтому изменение количества в одной могло менять его в другой. Теперь он опирается на идентификатор, уникальный для строки.

Просмотры товаров снова считаются выходит в пятницуэтого никто не видитfront#4008

Событие, фиксирующее просмотр запчасти, перестало срабатывать, поэтому аналитика по просмотрам была занижена. Оно снова срабатывает и передаёт тот же идентификатор, что и остальной сайт, поэтому цифры можно связать между собой.

Две правки доставки уже на живом магазине и одна страховка оплаты уже живоеэто видит покупательfront#3983, front#3985, ps#715

Корзина показывала оценку перевозчика, а не то, что списывает оформление, и эта оценка описывала выдачу на стойке как доставку. Обе выкачены 30 августа. Отдельно: оплаченный заказ, не сумевший себя записать, помечался как обработанный, из-за чего его никто не повторял; теперь он не помечается обработанным без заказа. Это выехало 29 августа.

Фотографии переезжают на наш собственный адрес — незаметно, если сделано верно, и на весь сайт, если нет

Сейчас фотографии отдаются с отдельного адреса на нашем небольшом сервисе. Этот релиз переводит их на собственный адрес магазина, что убирает этот сервис из пути, по которому идёт браузер покупателя. Покупатель видит те же фотографии.

Почему эта половина должна выйти до того, как старый сервис можно выключить выходит в пятницуэто видит покупательfront#4051, front#4052, search#1000, ps#729

До — измерено в четвергФотография, запрошенная с собственного адреса магазина, отвечает 200 как изображение, с кэшем на неделю. Но этот запрос сейчас пробрасывается на тот самый сервис, который мы выводим. Поэтому сравнение, снятое на живом магазине сегодня, сравнивает этот сервис с самим собой и ничего не доказывает — записано так, а не подано как измерение.

ПослеМагазин читает фотографию из хранилища напрямую. Только тогда промежуточный сервис можно выключить, и это работа будущей недели.

Смежная правкаКак только магазин начал доверять собственному адресу для изображений, один внутренний запрос стал ходить сам к себе, — а на защищённых тестовых окружениях это возвращает страницу входа, которая затем кэшировалась как картинка. Теперь он читает из хранилища. Найдено до того, как дошло до живого магазина.

НастройкаЭто та половина, которой нужна недостающая настройка из первого решения. Её значение намеренно разное в разных окружениях, поэтому единое фиксированное значение выглядело бы верным на живом магазине и обнулило бы все фотографии на тестовом.

Три новые вещи, все выключены — ничего из этого в субботу недостижимо

Место, где покупатель хранит свои машины выключеноэтого пока никто не видитfront#4021, ps#710

Покупатель может записать принадлежащие ему машины и хранить по каждой фотографии, PDF-инструкции и ссылки, чтобы нужные запчасти находились от его собственной машины, а не поиском по каталогу. Половина хранения — в сервисах заказов, половина страниц — на сайте магазина за настройкой, которой на живом магазине нет.

Порядок, если это когда-нибудь включатСначала должна быть живой половина сервисов. Этот релиз её несёт, поэтому после пятницы переключатель становится возможным — он не становится включённым.

Магазин крепежа, выключенный вторым переключателем намеренно выключеноэтого пока никто не видитfront#4022, front#4046

Складской крепёж — болты, метизы и подобное — отдельным разделом. Выезжает выключенным и должен таким остаться по конкретной измеренной причине: из 629 номеров крепежа 585 вообще отсутствуют в каталоге, а 44 сталкиваются с запчастью New Holland под тем же номером. Отдельный выключатель добавлен уже после того, как раздел был построен, чтобы его можно было остановить, не отзывая релиз.

Решение, для будущей неделиНе включать ли его, а что делать с 44 номерами, означающими две разные запчасти.

Виджет чата, выключенный потому, что его нечем настроить выключеноэтого пока никто не видитfront#4004, front#4005

Виджет читает настройку, которой на живом магазине нет, поэтому не загружается. Подтверждено чтением настроек живого магазина в четверг, а не предположением. См. третье решение выше о дублирующей копии этой работы.

Одно, что выглядит выключенным, но таковым не является выходит в пятницу, включённымэто видит покупательsearch#988, search#989

Запчасти со ступенчатой ценой, но без простой, становятся покупаемыми — за настройкой. Эта настройка считана с живого сервиса поиска в четверг, и она уже включена. То есть это вступает в силу сразу при выкатке — оно указано здесь, потому что отнести его к выключенной работе было бы неверно.

Каталог и страницы брендов — три изменения

Две машины с одинаковым названием можно различить выходит в пятницуэто видит покупательfront#3970

Там, где две модели делят название, страница теперь называет то, что их различает, и заполняет колонку с тем, к чему подходит каждая запчасть. Более ранняя попытка была закрыта, так и не выехав, поэтому для живого магазина это по-настоящему новое, а не повтор.

Заголовок страницы бренда перестаёт прыгать при загрузке, и семь мёртвых ссылок убраны выходит в пятницуэто видит покупательfront#3951, front#4049

Место под вторую строку заголовка теперь зарезервировано, поэтому переключатель вида под ним не уезжает из-под курсора, пока страница устаканивается. Семь адресов брендового раздела, никуда не ведущих, удалены.

Уборка — снаружи ничего не видно

Двадцать восемь изменений: обновления безопасности стороннего кода, удаление двух выведенных сервисов, исправление сборочных проверок и документация. Два стоит назвать. Сборочная проверка сообщала о критической находке безопасности на каждой сборке, хотя её не было, — а это приучает людей игнорировать проверку; исправлено. И два сервиса, месяцы назад убранные с серверов, всё ещё существовали в коде; теперь они удалены, и это разница между «выключено» и «нет».

Всё в этом релизе — 92 изменения, у каждого строка описания

Сайт магазина58 изменений 37 заметны покупателю или Google
ИзменениеЧто этоЧто сдвинулосьСделал
front#4068Панель запчастей несла мёртвое состояние и две строки, описывавшие поведение, которого у неё уже не было.мёртвое состояние и комментарии убраныВова
front#4063Несколько написаний одного и того же адреса фотографии сведены к одному пути на своём домене.единый путь для медиаВова
front#4067Проверка доступности аудировала страницу «не найдено» и проходила её.проверка смотрит на реальный маршрут поискаВова
front#4061Мобильная шторка запчастей закрывается смахиванием, а не крестиком.жест закрытия шторкиВова
front#4055Три комментария обещали поведение, которое сборка опровергает.комментарии исправленыВова
front#4058Плавающая метка закрывала схему, которую описывала; её задачи переехали на панель.плавающая метка удаленаВова
front#4057Выноски схемы и элементы масштабирования были слишком мелкими для пальца.области нажатия увеличеныВова
front#4047До придержанной запчасти всё ещё можно было дойти по ссылке, в том числе через страницы подбора.ссылки отказывают в закрытуюВова
front#4054Защитная проверка сообщала о критической находке безопасности на каждой сборке, хотя её не было.ложное срабатывание убраноВова
front#4051Оптимизатор изображений читает хранилище напрямую, чтобы ни одна страница не называла выводимый адрес медиа.оптимизатор смотрит в хранилищеВова
front#4048Строка под схемой — поверхность покупки, а не легенда.в строке цена и добавлениеВова
front#4053Проверка цветов ругалась на одну запись цвета, пропуская две идентичные.запись цвета нормализуетсяВова
front#4035Аудитор индексного правила знал две из трёх выданных ему форм адреса.аудитор покрывает все три формыВова
front#4046Отдельный выключатель раздела крепежа, чтобы его можно было остановить, не отзывая релиз.переключатель, по умолчанию выключенВова
front#4049Семь адресов брендового раздела, никуда не ведущих.мёртвые адреса удаленыВова
front#4044Номер запчасти переезжает в начало адреса каждой страницы; старые адреса перенаправляют один раз.адрес начинается с номераВова
front#4040Бесполезный фрагмент кода делал проверку стиля на интеграционной ветке красной.фрагмент убранВова
front#4021Место, где покупатель записывает свои машины с фотографиями, инструкциями и ссылками. Выезжает выключенным.«Мой ангар» за переключателемДжон
front#4045Счётчик количества у запчасти внутри узла мог менять не ту строку.счётчик привязан к уникальному идентификаторуВова
front#4034Один палец двигает схему, два масштабируют, страница под ней больше не уезжает.жесты панорамы и масштабаВова
front#4022Раздел складского крепежа. Выезжает выключенным.магазин крепежа за флагомДжон
front#4028Нажатие на выноску схемы кладёт запчасть в корзину, не уводя со схемы.добавление из выноскиВова
front#4026Самописная обработка жестов заменена поддерживаемой библиотекой.библиотека вместо самописного хукаВова
front#4027Сторонний код с уязвимостями, опубликованными в тот же день.зависимость поднятаВова
front#4008Событие, считающее просмотр запчасти, перестало срабатывать, занижая цифры.событие просмотра восстановленоВова
front#4014Устаревшие библиотеки браузерных данных и идентификаторов.зависимости обновленыВова
front#4005Тест виджета загружал настоящий сторонний скрипт во время прогона.скрипт подменён заглушкойВова
front#4003Сырые значения цветов, о которых всё ещё сообщал аудит токенов.литералы названыВова
front#3999Когда поиску тяжело, сайт упорно повторял запросы и делал хуже; теперь он ненадолго запоминает отказ. Уже живое.вердикт отказа кэшируетсяВова
front#3995Модификация модели становилась недостижимой, когда карточка обрезала текст.полная модификация достижимаВова
front#3993Автоматическое заведение задач использовало несуществующие метки.указаны действующие семейства метокВова
front#3992Дымовой тест проходил, если не сгнили все эталонные запчасти сразу.падает на любой сгнившейВова
front#3986Эталонные запчасти прод-прогонов указывали на запчасти без страниц.эталоны перенаправленыВова
front#3991Одну и ту же страницу можно было открыть двумя написаниями адреса.все сегменты строчныеВова
front#3990Снятая с производства запчасть перенаправляла на замену, снятую с производства.нет перенаправления на снятуюВова
front#3989Сетка всех категорий теряла собственный тип техники каждой модели.тип техники сохраняетсяВова
front#3987Открытие бренда для Google происходило автоматически по числу строк; теперь это записанное решение.открытие бренда — решениеВова
front#3985Корзина показывала оценку перевозчика, а не списываемую сумму. Уже живое.корзина называет списываемую суммуВова
front#3983Оценка доставки описывала выдачу на стойке как доставку. Уже живое.оценка считает доставкуВова
front#3979Модификация модели отсутствовала на карточке, которую реально рисует сетка.модификация на отрисованной карточкеВова
front#3977Боковая панель считала строки, которые сетка показать не может.счётчик совпадает с сеткойВова
front#3975Сетка бренда теряла индексное правило при словесном поиске.правило соблюдается при словесном поискеВова
front#3973Поиск по сайту не находил придержанные запчасти.придержанные находятсяВова
front#3970Две модели с одинаковым названием было не различить, а колонка «подходит к» пустовала.различающий признак названВова
front#3969Сетка словесного поиска показывала строки, исключённые индексным правилом.сетка подчинена правилуВова
front#3965Проверка дублирования сравнивала не с той базой.сравнение с собственной базой измененияВова
front#3963Поиск, совпадающий ровно с одной запчастью, отвечал ошибкой. Уже живое.единственное точное совпадение рисуетсяВова
front#3962Реестровая половина товарного фида живая, а масштаб класса вчетверо больше заявленного.документация исправленаВова
front#3950Сжатый блок документации по прокси, перенесённый с живой ветки.обратный перенос документацииВова
front#3960Строка списка деталей без страницы оценивалась не по тому полю.оценка по несущему коду поставщикаВова
front#3959Проверка карты сайта вычитала одни и те же придержанные строки дважды.двойное вычитание убраноВова
front#3958Когда сайт не может разобрать поиск, он показывает результаты, а не угадывает адрес.промах ведёт на результатыВова
front#3957Долг комментариев вокруг придержанных брендов и прогон, игнорировавший правило.комментарии подчищеныВова
front#3956Оболочка навигации считала бренд открытым, когда не знала.пессимистичный запасной вариантВова
front#3953Бренд без предлагаемых запчастей публиковал список страниц «не найдено».пустой бренд прячетсяВова
front#3945Проверки тестового сайта следовали лишь одной половине индексного правила.обе половины правилаВова
front#3951Вторая строка заголовка бренда сдвигала переключатель вида при загрузке.место под вторую строку зарезервированоВова
front#3871Витрина техники писала «1 совпадений».строка счётчика согласованаВова
Поиск24 изменения 17 заметны покупателю или Google
ИзменениеЧто этоЧто сдвинулосьСделал
search#1000Адрес фотографий был вписан в код в шести местах; теперь одна настройка, и без неё сервис не стартует.настройка обязательна, запасного варианта нетВова
search#998Вызов автоматизации был закреплён на устаревшей версии.версия поднятаВова
search#996Карта сайта, товарный фид, списки деталей и канонические ссылки выдают новый адрес страницы запчасти.выдаётся адрес с номером впередиВова
search#995Навесное оборудование выдавалось так, будто это запчасти.такие адреса не выдаютсяВова
search#994Строчный номер запчасти не отвечал на пути узлов.регистронезависимый поиск узловВова
search#991Тестовые образцы ответов разошлись с реальными.образцы обновленыВова
search#982Тяжёлая ночная работа по индексированию делила учётную запись базы с покупателями.отдельный пул, безопасный откатВова
search#989Настройка ступенчатых цен включена на тестовом сервисе.флаг включён на devВова
search#988Запчасти со ступенчатой ценой становятся покупаемыми. Настройка на проде уже включена.ступенчатые цены продаютсяВова
search#987Опубликованность запчасти читалась из ночного снимка.читается вживуюВова
search#985Индексное правило вычислялось из ночного представления, а не из реестра, который его решает.правило берётся из реестраАлекс
search#984Шаблоны задач ссылались на несуществующие метки.шаблоны исправленыВова
search#983Залоговая позиция опережала покупаемую запчасть в выдаче.покупаемая строка вышеВова
search#980Счётчик результатов включал строки, которые сетка не может показать.счётчик совпадает с сеткойВова
search#978Негейтованная сетка игнорировала принятые фильтры боковой панели.каждое принятое отсечение выполняетсяВова
search#977Гейтованная сетка игнорировала принятый фильтр лидеров продаж.отсечение выполняетсяВова
search#975Фильтр цены принимался и не применялся к сетке.отсечение по цене выполняетсяВова
search#973Лента результатов рекламировала фильтры, которые её сетка выполнить не могла.предлагаются только выполнимыеВова
search#971Фильтр лидеров продаж ничего не делал, а два фильтра не применялись нигде.два фильтра удаленыВова
search#969Проверка здоровья при выкатке гонялась с холодным стартом и роняла хороший деплой.проверка повторяетсяВова
search#967Часть счётчиков фильтров игнорировала отсечение по цене.цена учитывается вездеВова
search#965Список придержанного бренда игнорировал введённый запрос.запрос сохраняетсяВова
search#961Счётчики фильтров игнорировали индексное правило.правило учитывается в фасетахВова
search#959Основная лента результатов игнорировала индексное правило.правило учитывается в выдачеВова
Сервисы заказов и оплаты10 изменений 2 заметны покупателю
ИзменениеЧто этоЧто сдвинулосьСделал
ps#729Адрес фотографий был вписан в код без возможности переопределить.база читается из окруженияВова
ps#726Пакеты полагались на зависимости, которых не объявляли.импорты объявленыВова
ps#710Фотографии, PDF-инструкции и ссылки по каждой машине покупателя. Выезжает неиспользуемым.вложения к техникеВова
ps#724Вызов автоматизации был закреплён на устаревшей версии.версия поднятаВова
ps#722Шаг сборки использовал плавающую версию действия кэша.версия закрепленаВова
ps#721Корневые зависимости объявлялись так, будто едут в продакшен.объявлены как для разработкиВова
ps#720Описание DNS-инфраструктуры, не используемое с момента смены провайдера.мёртвое описание удаленоВова
ps#718Два сервиса, уже отсутствующие на серверах, всё ещё существовали в коде.два сервиса удаленыВова
ps#715Оплаченный заказ, не сумевший себя записать, помечался обработанным. Уже живое.без заказа не помечаетсяВова
ps#714Шаблон бага ссылался на несуществующую метку.шаблон исправленВова

Что живое сейчас и чем пятница это заменит — точная точка возврата

Левая часть каждой пары считана с работающих систем в четверг 3 сентября. Правая — то, что положила бы туда выкатка. Вернуться означает вернуться к левой.

Магазин28a3ec001 → 3a0e72f26Считано с живого адреса, а не с новейшей сборки, — это не всегда одно и то же. Левая часть уже включает три аварийные правки, выкаченные с 29 августа по 1 сентября; все три штатно входят в этот релиз, поэтому возврат к ней ничего не теряет. Vercel хранит предыдущую сборку, так что возврат — одна кнопка.
Поискcrop-search:97ac9eb4 → crop-search:1184c465Поиск выкатывается подменой работающего образа, а не слиянием. Это та половина, которая не стартует без недостающей настройки — см. первое решение.
Имя для отката поискаsearch-api-00026-zl2Версия, на которую вернуть трафик. Она достижима по имени, пока не удалена, поэтому безопасный откат вообще не трогает образы.
Сервисыa5bfb9b7 → 0c3a3f07Каталог, пользователи и доставка работают на левой версии. Оплата работает на 4e34a766 — она дальше, потому что несёт аварийную правку от 29 августа; эта правка входит и в релиз.
Тестовый сайтна этой неделе не выкладывалиНа тестовом сайте по-прежнему выкладка от 21 августа. Ничто из этого релиза через него не проходило — см. пятое решение.
Базабез измененийС этим релизом миграции не выполняются.
Четыре индексных переключателябез измененийИндексирование включено, ослабленное выключено, «только с ценой» включено, схемы и дерево техники придержаны. Считано с живого магазина в четверг. Выкатка их не меняет.
Три новых переключателяотсутствуют → отсутствуютНи у раздела машин, ни у раздела крепежа, ни у виджета чата нет настройки на живом магазине, и выкатка её не создаёт. Именно это делает их выключенными, а не просто нерекламируемыми.