Голосовые системы

Страница скачивания Chat Agent

Опубликовано: https://chat-agent.gis-master.ru/downloads/

Файлы: - https://chat-agent.gis-master.ru/downloads/chat-agent-chrome-2.5.2.zip - https://chat-agent.gis-master.ru/downloads/chat-agent-flow-diagrams.md

MR !65 и !66 merged; main 81583cfa3ea44c96d1db6171e12527aba0644c45. Изолированный checkout: локальный источник Пользовательская основная копия и исходные локальные файлы не менялись.

Реализация и проверка

Статическая страница в src_front/public/downloads, без новых API и зависимостей. Nginx возвращает Content-Disposition: attachment для ZIP/Markdown и 404 для отсутствующих файлов. Оба файла сохранены побайтово. Существующая OAuth-защита сохраняется.

Локально: TypeScript/Vite build; nginx -t и полный nginx-routes.test.sh в отдельном контейнере; проверены прежние маршруты, раздача двух файлов, байты, заголовки и отсутствующие пути. Внешний вид проверен в Chrome; local-page.png и production-page.png.

Все пять обязательных checks прошли в pipeline main 5785. В адресном pipeline 5786 тот же SHA используется для принудительной сборки только frontend; незатронутые тестовые группы штатно пропущены, их skip не считается повторным прогоном тестов. Build 30482, preflight 30485, refresh 30511 — success.

Выявленные препятствия

Первый build 30375 завершился ошибкой: общий .dockerignore исключал ZIP. HTTP-проверка архива остановила сборку до поставки. MR !66 добавил исключение только для нужного файла; локальный Docker build context с COPY архива проверен.

Обычный build 30432 был success без публикации: native selector не считает одиночное изменение .dockerignore изменением компонента. Refresh 30461 остановлен защитой unexpected image revision до deploy/drain. Использован существующий CI_FORCE_BUILD=1 с CI_COMPONENT=frontend; root CI и инфраструктура не менялись.

Фактический результат

Front: 1.0.1194, source 81583cfa, 1/1 running. Digest 49cdc0f3e64c863c4406f05faf8fdce9091c526a560392c6a3fb651acfae1dd6 совпал в штатном image verification и свежем Insight после reload. Прежний digest — before.json. Адресная job проверяет завершение rollout, фактическую идентичность образа и восстановление допуска.

Страница открыта через HTTPS в существующей авторизованной Chrome-сессии. ZIP скачан кликом; файл 7 559 066 байт, CRC/manifest 2.5.2 и SHA-256 проверены. Markdown скачан через поддерживаемый downloadMedia, 39 054 байта; SHA-256 проверен. Оба совпадают с исходными файлами; точные хеши — download-verification.json. Ожидание download event инструмента один раз завершилось timeout, хотя ZIP фактически скачался; это не было принято за ошибку сайта или повод менять код. Последующий ZIP downloadMedia также получил timeout; итог подтверждён фактическим файлом, его временем скачивания и SHA-256.

Локальный preview server остановлен. Ни микрофон, ни установленное расширение не переключались.

Исходник

Скачать Markdown · К материалам исследования