
Разбор · Подготовили 07.10.2026
Избранные товары на сайте сохраняют до входа, а агенты проверяют объединение списков
Гостевой список, объединение без дублей и проверка сбоев: что заказать магазину и что принять у разработчика.
Текст подготовлен машиной агентов под надзором инженера vibecoding.ru · факты проверены 7 октября 2026
Посетитель должен сохранить избранные товары на сайте до входа, а после входа увидеть их вместе с прежним выбором аккаунта.
Разберём правила приёмки и задачи для агентов на документации и опыте нашей машины: собственного клиентского кейса избранного у нас нет.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
1. Выбор сохраняют до входа, а между устройствами переносят через аккаунт.
Нужно ли просить регистрацию при первом нажатии на сердечко? Если задача состоит в сохранении выбора на этом устройстве, список можно держать в браузере без входа. Посетитель отмечает товар и продолжает смотреть каталог.
Список в браузере не равен списку в аккаунте. MDN, проверка 7 октября 2026: localStorage сохраняет данные между сессиями, но очистка данных сайта удаляет локальную копию, а приватный режим не даёт обещания долгого хранения. На другом устройстве эта копия сама не появится.
Поэтому надпись «сохранено» должна соответствовать месту хранения. До входа: «Сохранено в этом браузере». Для возвращения с другого устройства можно предложить вход, сохранив уже сделанный выбор. Требовать регистрацию до первого добавления для этого не нужно.
Место хранения определяет обещание посетителю.
Свойства браузерного хранения по MDN; обещания интерфейса являются рекомендациями редакции. Проверено 07.10.2026.
2. После входа списки объединяют без повторов и перезаписи.
Что делать, если человек уже сохранял товары в аккаунте? Заменить старый список гостевым означает потерять прежний выбор. Склеить списки подряд означает получить повтор одного товара. Нужен общий список, в котором каждый выбранный товар встречается один раз.
Учебный сценарий: у гостя чашка и лампа, в аккаунте лампа и стул. После входа должны остаться чашка, лампа и стул. Лампа не размножается, стул не исчезает. Это ожидаемый результат для теста, а не история нашего клиента.
До разработки договоритесь, что считать одинаковым: товар целиком или конкретный размер и цвет. Название для сравнения не подходит, оно может измениться. В постановку задачи агенту внесите ключ товара и ожидаемый результат объединения.
Объединение сохраняет оба выбора, лампа остаётся одна.
Условные данные редакционного сценария приёмки, 07.10.2026. Проверять нужно и экран, и сохранённый список.
3. Сбой сети не должен стирать гостевой список.
Что если человек вошёл, но ответ о сохранении не пришёл? Сервер мог не получить запрос. А мог записать список, после чего связь оборвалась. Эти ситуации выглядят одинаково на экране, но требуют разных проверок.
Гостевой выбор нельзя считать обработанным до подтверждения серверной записи. Повтор той же операции должен вернуть тот же результат без дублей. После подтверждения использованную гостевую копию нужно отметить обработанной, чтобы следующий вход не вернул удалённый позже товар.
Есть и параллельные действия: другая вкладка добавляет товар, пока первая объединяет списки. WHATWG, проверка 7 октября 2026, предостерегает от расчёта на блокировку браузерного хранилища между контекстами. Инженер выбирает способ согласования, а правила для агентов фиксируют требование не терять новый выбор.
Повтор безопасен только при подтверждении и учёте уже обработанного выбора.
Рекомендации редакции; риск параллельной записи описан в HTML Standard WHATWG. Проверено 07.10.2026.
4. Агенты проверяют переходы между состояниями.
Что отдать агенту кроме кнопки? Набор сценариев, который начинается с чистого гостевого браузера и заранее известного списка аккаунта. Проверка на рабочем профиле разработчика может случайно использовать уже сохранённые данные и пропустить поломку первого входа.
Официальная документация Playwright, проверка 7 октября 2026, описывает изолированные браузерные контексты и вмешательство в сеть. Это средства для автоматизации сценариев. Готовую функцию магазина мы ими здесь не проверяли.
Агент пишет проверки и готовит протокол. Инженер сверяет, что тест проверяет сохранённый результат, а не только красное сердечко. Ответственность за ошибки остаётся у исполнителя, который сдаёт работу заказчику.
Приёмка проверяет вход, повтор и выход, а не только кнопку.
Предложенная матрица приёмки редакции, 07.10.2026. Потерю ответа после записи проверяют отдельно от запроса, прерванного до записи.
На vibecoding.ru инженер ведёт машину агентов. Своя авторизация показывает лишь переход к состоянию пользователя и не доказывает работу товарного избранного. Наш переносимый опыт здесь состоит в проверке передачи данных и результата работы агента.
Проверка, которая вызывает только удобный для неё путь, не доказывает работу остальных. Для избранного это означает: вход должен проходить так же, как у посетителя, а сохранённые товары нужно прочитать тем способом, которым их получает сайт.
Обе истории закончились проверками конкретного несоответствия. Поэтому в заказе нужно назвать, какие данные читаются после сохранения и кто смотрит результат. Фраза «тесты зелёные» без этого не говорит, что выбор посетителя пережил вход.
Наши поломки научили проверять передачу данных и форму ответа.
31.07
Описание сцены для обложки новости терялось на части путей записи. Передачу полей свели в общее место и добавили проверку против обхода этого правила.
24.09
Ответ сервера содержал поле, которого не было в проверке ответа, и страницы новостей падали. Добавили тест соответствия реальных полей и проверки ответа.
Записи журналов vibecoding.ru сверены 07.10.2026. Это наши новости, не клиентский кейс избранного.
5. Функцию принимают по сценариям, а эффект меряют отдельно.
Можно ли принять работу по демонстрации? Только если она воспроизводит согласованные сценарии и оставляет протокол результата. Вместе с кодом исполнитель передаёт правила хранения, объединения, повтора, выхода и способ повторить проверки.
После выпуска нужны сигналы: ошибки сохранения, неудачные объединения, возвраты к избранному и переходы из него в корзину. Сердечки сами по себе не доказывают рост продаж. Сравнивать покупки следует по заранее выбранному способу измерения, а не приписывать функции любую прибавку выручки.
Наблюдения замыкают работу: заметили потерю при входе, воспроизвели сценарий, добавили проверку, приняли исправление. Заказчик получает основание для следующей задачи, а инженер сохраняет проверку от повторной поломки.
Приёмку кода отделяют от наблюдения за покупками.
Предлагаемая схема приёмки и обратной связи редакции, 07.10.2026. Результатов измерения магазина у нас нет.
6. Готового блока хватает для списка, подписка нужна для очереди доработок.
Когда заказывать разработку? Сначала проверьте готовую опцию вашей платформы. Справка конструктора может подтверждать сохранение выбора в браузере, но не отвечать на вопросы объединения, повторов и смены аккаунта. Проверять эти свойства нужно у выбранного решения, а не по наличию сердечка.
Если доработка одна, запросите оценку именно её по сценариям приёмки. Срок разработки функции зависит от существующего входа, каталога и способа хранения. Обещать срок только по названию «избранное» нельзя.
Для постоянной очереди изменений у нас есть подписка «Один проект»: 250 000 ₽ в месяц на 7 октября 2026. Гостевой список и объединение можно сформулировать как задачу такого потока. Цена подписки не является оценкой отдельной функции; начать выбор формата поможет тест для руководителя.
Что и как мы проверяли
| Факт | Что известно | Проверено |
|---|---|---|
| Хранение гостя | MDN: localStorage сохраняет данные между сессиями; приватный режим и запрет хранения ограничивают обещание. Это документация браузера, а не результат теста магазина | 2026-10-07 |
| Параллельные вкладки | HTML Standard WHATWG: нельзя рассчитывать на блокировку общего браузерного хранилища между независимыми контекстами. Способ согласования выбирает инженер | 2026-10-07 |
| Средства проверки | Playwright: отдельные контексты и вмешательство в сеть. Матрица в статье является предложением для приёмки; готовое избранное магазина здесь не тестировалось | 2026-10-07 |
| Свой опыт | Записи журналов 31 июля и 24 сентября 2026 сверены непосредственно. Это поломки новостей vibecoding.ru. Собственного клиентского кейса и товарного избранного у нас нет | 2026-10-07 |
| Условия подписки | Живая страница /services, срез 7 октября 2026: «Один проект», один поток работы, 250 000 ₽ в месяц. Это цена подписки, не оценка отдельной функции | 2026-10-07 |
7. Частые вопросы
8. Частые вопросы
Чем избранное отличается от корзины?+
Избранное хранит намерение вернуться к товару. Оно не должно обещать оформленный заказ, резерв остатка или зафиксированную цену. Такие обещания требуют отдельного правила магазина.
Что показывать, если цена изменилась?+
Хранить ссылку на товар, а актуальные цену и наличие получать из каталога. Если товар недоступен, показывать это в списке и давать удалить позицию. Это рекомендация для задания, а не универсальное свойство готовых платформ.
Сохранять товар или его размер и цвет?+
Это решение магазина. Если посетитель выбирает конкретный вариант, ключ объединения должен включать вариант. Иначе разные размеры могут схлопнуться в одну позицию.
Что происходит после очистки браузера?+
Локальный гостевой список теряется. Уже подтверждённый список аккаунта должен оставаться на сервере и открываться после входа. Поэтому интерфейс должен различать место сохранения.
Источники
- Избранное в интернет-магазине, справка Тильды — официальная справка
- Window: localStorage, MDN — документация браузера
- Web storage, HTML Standard WHATWG — стандарт
- Browser contexts, Playwright — официальная документация
- Network, Playwright — официальная документация
- Наша машина агентов, vibecoding.ru/open — наш проект
- «Один проект», услуги vibecoding.ru — наш оффер
Запомнить
1. Разрешите сохранять выбор до входа и назовите, где он хранится.
2. Запишите ожидаемое объединение гостевого и прежнего списка аккаунта по ключу товара или варианта.
3. Принимайте повторы, сетевые сбои и смену аккаунта по воспроизводимым сценариям, сверяя сохранённые данные.
4. После выпуска превращайте найденные потери в проверки; эффект для продаж измеряйте отдельно.