gora.
i. žurnalas · atnaujinama pirmadieniais

Ką darau dabar.

Savaitinis mano projektų žurnalas. Ką perrašiau, ką pataisiau, ką paleidau. Kodiniai pavadinimai vietoj klientų repų. Be commit'ų skaičiavimo — tik realūs pakeitimai, kuriuos vartotojai pamatė arba kurie pajudino kažką viduje.

rss.xml →

filtras

  1. XXXVII неделя

    · 7—13 сентября 2026
    Aperwind
    • GA4 тег теперь статический в HTML, а не после гидратации. Google видит его в исходнике.
    • Каталог: рекомендованные ЖК из админки, пять проектов сняты по запросу, ручной порядок карточек.
    • Описания лотов: даты в прошлом удалены, графики платежей таблицей, чужие типы скрыты, 69 переводов под git.
    Jusmila
    • Google Merchant feed: добавили product_type, identifier_exists, size, color, shipping. Structured data: VAT и company codes в Organization JSON-LD, product specs в additionalProperty.
    • Sitemap lastmod теперь берёт updatedAt вместо createdAt. Shipping rates на карточке товара — по реальному весу, не hardcoded 4.99€.
    • Montonio Shipping: idempotency journal для webhook eventIds. Enquiries в Telegram вместо Brevo. Rental tab с семью параметрами, пять локалей.
    Atlas
    • Крипто-платежи: окно оплаты 45 минут вместо 30, кнопка наличных в checkout, плашки о сети.
    • Сетка доступа диспетчеров к магазинам. Админ задаёт видимость и default store per человеку.
    • Индекс по driver_id + delivered_at в orders. Seq scan на каждом опросе экрана водителя исчез.
    Улей
    • Планировщик: суточный потолок пересчитан с трубки на персону; слот резервируется у самого тапа.
    Клиент (NDA)
    • Синхронизация каталога: диф, применение, замки, крон. По умолчанию выключена. Интерфейс управления в админке.
    • Корзина: лимит внешнего API оказался 10, а не 500 — пересчёт молча возвращал пустой список. Исправлен потолок запроса.
  2. XXXVI неделя

    · 31 августа — 6 сентября 2026
    Aperwind
    • Мобильная главная 9196px → 5200px, все тап-таргеты 44×44, фото на первом экране вместо текста.
    • Title в габарит выдачи (60 знаков), честные h1, русские падежи чисел, Golos Text вместо Inter.
    • Каталог: фильтры цена/спальни/сортировка, живые числа в гидах, соседние районы по курируемой сетке.
    Jusmila
    • Нотификация о 5xx теперь приходит в момент сбоя, не дожидаясь следующего запуска крона.
    • Каталог теперь грузит 1.9 MB вместо полной категории в RSC payload, /shop быстрее на 85%.
    • GA4 получил полную воронку: view_item, add_to_cart, begin_checkout, purchase с server-side отправкой.
    Atlas
    • Три отметки времени заказа до забора в S2. Бот теперь отвечает на вопрос «когда?» вместо молчания.
    • Крипто-платёж: привязка перевода и запись денег в одной транзакции. Разрыв между ними больше невидим.
    • Удалённый товар не воскресает в корзине. Чистка ковша слияния и сигнал о глухой записи.
    GoraGen
    • Запинили зависимости в requirements.txt. Было 23 строки через >=, vastai без версии. Buildx-кэш падал.
    • Переименовали comfyui-agent → goragen. Старые пути на симлинки. Worktree junior → goragen-junior.
    • Изолировали write-scope памяти у трёх агентов. CLAUDE.md переписан, удалили мёртвый раздел про Kling.
    GoraBot
    • Контракт S1: успешные коды 200 на обеих ручках. Тест на разбор обработчиков закрепил гарантию.
    • Канал водителя ловит 201 от аптеки. Стык врал оператору, разбирал только 200.
    • Аудит тестов и мерок: гейт групповых чатов в webhook_handler, шесть надписей лимба sending.
    Улей
    • Планировщик расширен: поиск как источник целей попал в наборы весов, чёрный список, крутелка 70/30.
    • Устойчивость: порт зеркала уводится конфигом, лаунчер отказывается стартовать без него.
    Клиент (NDA)
    • CI переведён на сборку в облаке и деплой через реестр на сервер. Локальная сборка для прода упразднена.
  3. XXXV неделя

    · 24—30 августа 2026
    Atlas
    • Состав заказа в S2: itemId, name, variant. Резолв по contact_phone.
    • Multistore: скоуп денежных записей, атрибуция входов, режим «все магазины» в статистике API.
    • Сателлит наследует промо-настройки хаба. Аффилиэйт работает по всей системе.
    Jusmila
    • Montonio теперь получает реальный UUID курьера вместо строки 'standard'. Omniva shipment creation перестал падать с ошибкой валидации.
    GoraBot
    • Обратная связь от стыка: восемь кодов вместо молчаливого списка. Гейт на снятие теперь валидирует значения.
    • Перевёл все сообщения бота на английский: алерты, топики, статусы. Обновил тесты на новые строки.
    Клиент (NDA)
    • Исправлена обработка неизвестных статусов. Цепочка условий теперь имеет финальный else, неузнанные значения не проходят дальше.
    • Расширена интеграция с внешним сервисом. Логирование запросов, отслеживание лимитов, передача идентификатора клиента в логах.
    • Улучшена точность уведомлений оператору. Сигнал теперь читается с заказа, а не с сообщения; задержка доставки определяется по временным меткам.
  4. XXXIV неделя

    · 17—23 августа 2026
    Atlas
    • Сателлит исполняет заказ сам, без передачи хабу. Честный список недостающих позиций вместо молчаливой передачи.
    • Резолвер магазина покупателя портирован в пакет. Витрина и мини-апп читают контракт из одного источника.
    • Диспетчер выбирает рабочую точку на сервере. Выбор живёт в users.active_store_id, не в localStorage.
    GoraBot
    • Показ кнопки водителю логируется. Раньше успех не записывался вовсе, неудача только в журнал службы.
    • Запрет сети: неузнанная форма адреса теперь отказ, а не пропуск. IPv6 проверен настоящим клиентом.
    • Канал к водителю включён. Приёмка по живому API аптеки прошла, ключ ограниченный, 403 на читающем маршруте.
    Клиент (NDA)
    • Диалоговая логика: бот больше не обещает действия, которые не может выполнить сам. Добавлена эскалация оператору при невозможности выполнить обещание.
    • Логирование: база знаний теперь различает два типа отказа — неизвестный вопрос и недостаточный контекст. Разные сценарии ремонта логики.
    • Сетевая безопасность: проверка локальных адресов теперь корректна для IPv6. Заблокирована исходящая сеть в тестах вместо полагания на дисциплину разработчиков.
  5. XXXIII неделя

    · 10—16 августа 2026
    Atlas
    • BOM: рецепт теперь список ингредиентов, OCC по отпечатку состава, множество материалов на вариант.
    • Hub-spoke: этапы 1–6 закрыты, 404 fail-closed, гейт корзины, SEO-герметичность, подтверждение смены магазина.
    • Боты и доставка: P0 захват аккаунта через пересланный контакт, гейт открывается при молчащем боте, водитель требует живую трансляцию.
    Клиент (NDA)
    • Расширена контекстная память диалога. Модель теперь читает до десяти предыдущих сообщений вместо одного.
    • Улучшена точность ответов на вопросы без явного контекста. Убрана зависимость от служебных слов в запросах.
    • Доработана система рецензирования. Добавлена страница с вердиктами и комментариями, изменения не влияют на бота.
  6. XXXII неделя

    · 3—9 августа 2026
    Atlas
    • Живая геопозиция водителя доходит до расчёта ETA. Три баги: канал молчал в aiogram, точка исчезала раньше срока, гейт спрашивал не ту систему.
    • Трансляция геолокации просит бессрочный режим вместо 8 часов. Смены часто длиннее, и обрыв посреди доставки убивал живое время прибытия.
    • SMS о подъезде и страница трекинга теперь показывают одно число. Было: случайный текст из 98 заготовок обещал 4–7 минут независимо от реальности.
    Jusmila
    • Session replay вернул в продакшн. Mousemove отключен, scroll throttled 150ms, checkpoints каждые 10s.
    • Donor discovery inbox: оператор может превратить продукт из ночной синхронизации в reviewed и published.
    • Wave-1 thresholds обнулили. Дефекты ушли из продакшна после backfill скриптов.
    GoraBot
    • Feed теперь уведомляет диспетчер о готовых черновиках. Раньше черновик сидел в топике клиента, а диспетчер смотрел очередь.
    • Webhook-обработчик возвращает 500 при ошибке вместо 200. Раньше падения на полу шли незамеченными.
    • Операторы видят, какие клиенты ждут ответа. Раньше среди 332 топиков было неясно, где новые сообщения.
    Клиент (NDA)
    • Расширена интеграция с внешним сервисом доставки: теперь бот получает ETA в реальном времени и отвечает на вопросы о статусе заказа вместо пересылки в поддержку.
    • Доработана классификация входящих сообщений: вместо анализа текста проверяется API поставщика, снизилось количество ложных срабатываний на 23 сообщения за неделю.
    • Переведена логика ответов на испанский язык и исправлены 6 фактических ошибок в базе знаний, которые продакшн выявил при проверке против живого трафика.
  7. XXXI неделя

    · 27 июля — 2 августа 2026
    Atlas
    • Display Order перестал откатывать перетаскивание. applySorting ставил sortBoost DESC перед cdo_sort.
    • Driver Report разделил наличные на две колонки: To wallet и Owner's cash вместо общей суммы.
    • Себестоимость лота теперь доходит до карточки товара. products.cost_price писал только оператор, склад не трогал.
    Jusmila
    • Синхронизация с поставщиками: волны 0–5. Транзакции, журнал, делистинг, цены вариантов, stock из бинарных статусов, адаптеры для новых донаров.
    • Возвраты через Montonio: запись уведомлений, UI в админке и TMA, атомарная доставка из вебхука перевозчика.
    • Статус-граф заказов в одном месте. Блокировка строк при перезаписи, доставка по webhooks, единый источник для админки и API.
    GoraBot
    • WhatsApp: per-contact Telegram topics, входящие и исходящие сообщения в одном треде, dedup echo.
    • AI drafts в Telegram без отправки клиенту, stub для включения позже.
    • WhatsApp reconnect с exponential backoff вместо permanent give-up, tmux paste Enter fix.
    Клиент (NDA)
    • Доработана автоматизация обработки медиа-контента. Исправлена регистрация версий и добавлена поддержка fallback-механизмов.
    • Расширена интеграция с внешними сервисами. Синхронизированы данные о продуктах и промо-акциях с актуальным состоянием.
    • Улучшена устойчивость системы к сбоям. Добавлены блокирующие тесты в CI, исправлены утечки данных и deadlock-сценарии.
  8. XXX неделя

    · 20—26 июля 2026
    Atlas
    • Корзина теперь снимает снимок товаров внутри очереди синка, а не до неё. Гостевой→аккаунт мёрж работает без потерь данных при повторах и разрывах сети.
    • Warehouse: рецепт привязал произведённое количество к потреблённому. Раньше оператор мог создать неограниченный готовый товар вручную.
    • Badges: REORDER теперь видна (порог 5/0.4), JUST IN перестала зависать на старых товарах. Delivery slots: убрал off-by-one при сдвиге часовых поясов.
    Jusmila
    • Картсумма не показывает бесплатную доставку, если перевозчик не настроен. Раньше fromFee был null.
    • Админ магазина видит только свои enquiry, не чужие. Убрал OR storeId IS NULL.
    • Outbox гарантирует at-least-once: переотправляет stale rows вместо drop при краше между commit и SMTP.
    • Facet cache key теперь включает все фильтры: fitment, brandId, weight, isCurrentDeals. Раньше пересчитывался в TTL.
    • Вариант-гард блокирует добавление в корзину без variantId для товаров с вариантами.
    • Fitment: честный три-статус (fits/not listed/unknown) вместо binary. Store-scoped query вместо cross-tenant leak.
    • Enquiry modal: реальная форма на /shop вместо mailto:. Outbox гарантирует доставку письма в магазин.
    • /products/facets: disjunctive counts (brand counts игнорят brand filter, category counts игнорят category filter).
    • Shipping quote: server-side расчёт вместо клиентского. Omniva-only, честные fees, locker gate.
    Клиент (NDA)
    • SEO: пагинация теперь через <Link>, не JS-router. Канонические теги по категориям. +15 локальных страниц с метаданными.
    • Интеграция платформы в планировщик с гейтами. Версионирование в БД, доработана автоматизация захвата данных.
    • Производительность хаба: код-сплит маршрутов, коллапс 4 полов в 1 эндпоинт, индекс на список задач.
  9. XXIX неделя

    · 13—19 июля 2026
    Atlas
    • Twilio в checkout-OTP как primary, WAHA fallback. SMS-верификация обязательна перед доставкой.
    • Крипто-платежи: durable ledger для shared ETH/TRON адресов, chain-check перед expiry, блокировка смены метода при partial payment.
    • Signup: CAPTCHA + geo-allowlist вместо blocklist префиксов, grandfather для существующих номеров.
    Jusmila
    • Montonio label URL теперь свежий при каждом открытии. S3 presigned URL истекает за минуты, раньше брали закэшированный.
    • Цены парсим целыми центами, не строками. toCents теперь отклоняет '1,299' вместо того чтобы превращать в 1.30 EUR.
    • Категории переведены на et/lv/en, variklio-dalys slug вернулся. GSC видит правильные titles вместо полупереводов.
    • Refresh с --shuffle и --delay для обхода WAF. mototex банит после 500 страниц, случайный порядок URL спасает хвост каталога.
    • Telegram отчёты о каждом refresh админам. Matched/price/stock/deactivated/reactivated/delisted счётчики + warnings.
    • Pushover alert на каждый новый заказ. Одна точка входа NotificationPublisherService.orderCreated().
    • Шрифты self-hosted с latin-baltic + cyrillic subsets. next/font/google → next/font/local, Inter opsz=14.
    • i18n payload на клиенте −85%. Root dictionary теперь только GLOBAL_MESSAGE_NAMESPACES вместо полных 108–150KB.
    • Шесть overlay компонент отложены из критического бандла. CartSidebar/MobileDrawer/QuickViewModal/CompareBar/Toaster/CartFlightHost.
    • PDP без 115KB-gzip tree fetch. browseSection теперь на product.category, ~0.5KB GET вместо второго await.
    • Дедупликация /categories/navigation. Header и MobileDrawer больше не стреляют два раза по 9.5KB.
    • Логотип и маскот правильно ресайзены. Header logo w=640→w=234, mascot w=1920→w=640.
    • Prefetch отключен для home/shop табов. Первый тап на −200–400ms.
    • Выше-fold H1 блоки видны сразу. Reveal opacity:0 в SSR HTML задерживал LCP на 5791ms.
    • Category page без 500-product brand scan. getCategoryBrands() 404'ился, LCP упал с 7.0s.
    • CSS семейств по роутам вместо глобально. 267KB combined → per-route, homepage экономит.
    • Nginx compression edge на vps14. brotli + gzip -6, upstreams не сжимают.
    • Категории и продукты: ru-translation slug-drift записан миграцией. 50 категорий, 1017 продуктов, dev vs prod ids.
    GoraGen
    • Community lifecycle endpoints с security policy и CAS. Offline тесты + real-PG, 41 pytest зелёные.
    • Deployment policy community_locked_v1. Legacy byte-neutral, manifests в ядре.
    Клиент (NDA)
    • Расширена интеграция с оператором: документация по диагностике, восстановлению и дневным операциям перенесена из памяти в репозиторий.
    • Улучшена устойчивость генерации: добавлены гарды против галлюцинаций (числа, даты, статистика) и расширены проверки на чувствительный контент.
    • Закрыты слепые уязвимости: предварительные проверки фокуса перед критичными действиями, восстановление после дрейфа экрана, SSRF-гарды на загрузках.
  10. XXVIII неделя

    · 6—12 июля 2026
    Atlas
    • Автозаполнение граммов сырья в производстве из веса товара. Оператор больше не вводит вручную.
    • Блокировка OTP для мошеннических номеров (KZ, UA, JM пулы) + глобальный circuit breaker на send-otp.
    • Nominatim fallback для автодополнения адресов при недоступности Google Maps.
    Jusmila
    • Локализация писем и уведомлений WhatsApp. Все трансакционные письма и статусы заказов были на английском независимо от локали покупателя.
    • Исправлены битые ссылки в каталоге: /shop/shop/{slug} → /shop/{category}/{slug}. Категория null падала на fallback "shop".
    • GA4 подключена. Measurement ID был в коде, но никогда не установлен.
    Клиент (NDA)
    • Расширена интеграция с четырьмя платформами. Добавлена автоматизация восстановления экранов, трёхуровневая классификация, моторная подпись на всех путях взаимодействия.
    • Улучшена устойчивость к детекции. Случайная фаза ротации, стагирование кроссплатформенных действий, чувствительность триггеров к регистру, hold-примитив для тапов.
    • Дополнена документация. Синхронизирована с кодом, добавлены карта процессов, индекс флагов, путь входа для новых агентов.
  11. XXVII неделя

    · 29 июня — 5 июля 2026
    Atlas
    • Крипто-платежи: привязал TRON и native-ETH к конкретной транзакции, закрыл double-credit на обоих.
    • Отменённый заказ больше не помечается оплаченным, инвойс истекает при отмене.
    • Чат customer↔driver в Telegram mini-app и на страницах checkout/tracking, без миграций БД.
    • Возрастная верификация теперь на всех маршрутах, не только на homepage.
    • Cashback и рефералы кредитятся при доставке, не при создании заказа — закрыл exploit на отмену.
    • Live Ops панель: real-time ошибки checkout/login/registration, заказы, посещения и health системы.
    • Флорида: mail/USPS доставка без курьера, платёжный цикл, snapshot реквизитов, гейт по store.settings.
    • Driver Report теперь показывает крипто-платежи в breakdown, не только в Sales.
    Jusmila
    • Montonio: hire purchase (Inbank) + real card payments (Adyen) вместо только bank-link.
    • Omniva parcel machines в checkout через Montonio Shipping API.
    • Hybrid v2 redesign: 31 экран light/dark/responsive + transparent product cutouts (.webp).
    GoraGen
    • Motion эффекты Pixverse теперь управляют движением. Убрал перезапись сегментов в ACTION, добавил knobs для mode и quality.
    • Длительность сегментов в кампаниях — выбор между auto/director или ручной ввод. Migration на reel_campaigns.requested_duration_sec.
    • Список прошлых кампаний под формой brief. Терминальные кампании больше не восстанавливаются на reload, судейски отклонённые клипы теперь видны.
    Клиент (NDA)
    • Доставка: честные сроки ~60 минут вместо ложных 15–25 минут по всему сайту.
    • Индексируемость: self-canonical на контентных страницах, динамический sitemap, локальные страницы.
    • Изоляция: убрали утечки стора и логотипы хаба из API, закрыли same-origin сокеты.
  12. XXVI неделя

    · 22—28 июня 2026
    Atlas
    • Диспетчер видит дату доставки рядом с временем слота. Запланированные заказы теперь показывают YYYY-MM-DD, а не только 10:00-11:00.
    • Deals категория теперь автоматическая: товар появляется при скидке, исчезает при её отмене. Вместо ручного флага is_current_deals.
    • Checkout: сохранённые адреса можно редактировать и удалять. PATCH/DELETE уже были на бэке, добавили в UI.
    • Скрытые варианты товаров на витрине. OOS фильтруются, не серятся. availableVariants / minAvailablePrice в variant-utils.ts.
    • Адрес доставки привязан к store-TZ как ключ. Убрали пересчёты из UTC и browser-local при каждом чтении.
    • Уведомление о пикапе показывает выбранный водителем транспорт, а не текущий глобальный.
    Jusmila
    • Gear: размеры из отдельных товаров свёл в варианты. Было 319 листингов, ~247 дубликатов по размерам.
    • Каталог: добавил OEM-номера, спеки с провенансом (источник + confidence) и фитмент по машинам.
    • Меню: двухпанельный flyout для глубоких каталогов (4 уровня), мобильный аккордеон, отключил prefetch.
    GoraGen
    • Reels director теперь видит reference image и строит план под конкретный subject, а не выдумывает свой.
    • Закрыли P1 + 2 P2: /history и /persona API работали без auth и фильтра по workspace.
    • i2i keyframe: reference + scene prompt → новая картинка, потом i2v или Reels. Заполнили gap между t2i и анимацией.
    Клиент (NDA)
    • Доработана автоматизация контента: переписаны описания товаров, обновлены изображения с локализацией по брендам.
    • Расширена интеграция с платежами и доставкой: добавлена поддержка гостевого чекаута, редактирование адресов, синхронизация сроков доставки.
    • Улучшена устойчивость отслеживания: восстановлено переподключение к realtime-комнате заказов после разрыва соединения.
  13. XXV неделя

    · 15—21 июня 2026
    Atlas
    • Подарки в корзине теперь показываются после подтверждения, не раньше. OoS варианты заменяются на доступные из той же категории.
    • Баннеры в админке теперь читаются из API, а не захардкожены. Карусель подтягивает GET /banners/active с фильтром по аудитории.
    • OTP можно выбрать: WhatsApp или SMS. Twilio Verify как альтернатива, за флагом TWILIO_VERIFY_ENABLED. SMS на offline-девайсах падают через 10 минут, не зависают.
    • Live-трекинг на /track теперь работает: сокет переподписывается при переподключении, статусы приходят в реал-тайм, не ждут poll-тика.
    • Координаты склада не уходят клиентам. Shared-юзер видит только заказы своего бренда в кабинете, не чужие.
    GoraGen
    • Reels Director: campaign→content-plan→per-segment I2V (5s, chained)→stitch+caption. Thin layer над /external Replicate.
    • Выбор длительности видео в Gate2 с поценовой тарификацией. duration_pricing из снапшота модели, NULL = flat rate.
    Улей
    • Добавлена ещё одна интеграция: полный цикл задач, двойной гейт, по умолчанию выключена.
    • Интерфейс управления переведён на новый стек: командный центр, очередь задач, единый диалог запуска.
    Клиент (NDA)
    • Краш на странице трекинга: карта теперь рендерится только при валидных геокоординатах и флаге с сервера.
  14. XXIV неделя

    · 8—14 июня 2026
    Atlas
    • Gift variant ID validation в freeze. Бэкенд требует giftVariantId для вариантных товаров, фронт теперь проверяет перед отправкой.
    • Wallet debit-gate: добавил store_id в scope-guard для legacy-данных. 52 клиента с несогласованным балансом теперь не падают.
    • Driver Report: shift-based cash view (3AM→3AM). Zebra striping, табличные цифры, три колонки платежей вместо одной.
    GoraGen
    • Prompt Orchestrator: Stage A–I полностью. LLM-диспетчер, PromptIR, renderer, persistence, refine-loop, dual-compile E2E, learnings v2.
    • Replicate funnel: видео-попытки теперь все видны в UI, не только первая. Failure reasons и recovery-пути персистятся.
    • 8 багов из адверсариального аудита исправлены. Motion-промпт не теряется, adherence-gate работает, refine улучшает промпт между попытками.
    Клиент (NDA)
    • Санитизация названий категорий перенесена на сервер, утечки в навигации и каталоге закрыты.
    • Доставка: добавлена отправка инструкций клиента и реального номера телефона в заказ.
    • API-контракт: удалены dateOfBirth и subscribePromo из регистрации, добавлена отправка storeId в корзину.
  15. XXIII неделя

    · 1—7 июня 2026
    Atlas
    • Express checkout без регистрации. Per-store флаг (по умолчанию OFF), E.164 phone input с валидацией по странам.
    • Sign in with Apple. RS256 верификация id_token против Apple JWKS, зеркало Google flow.
    • Ночной минимум заказа по зонам. effectiveMinOrder теперь учитывает deliveryType и scheduledDate, не применяется к next-day ордерам.
    GoraGen
    • Replicate как первый external provider: Stage 0–4B (scheduler split, webhook ingest, WS replay, admin UI, cancel/retry).
    • Workflow import pipeline: fetcher (GitHub/Reddit/Civitai), PNG extractor, graph validator, auto-resolve nodes через ComfyUI-Manager.
    • R2 mirror для моделей и нод: durable pins с sha256, provisioning fallback, health monitor (liveness/rotation detection).
    • Workflow Engineer (Claude): диагностика графа, оптимизация, рецепты с Gemini-вердиктом (good/acceptable/poor → действие).
    • WAN-orchestrator: Ollama sidecar, RTX VSR pre-flight, Stable Audio 3, deterministic provisioning pin per workflow.
    Клиент (NDA)
    • Отключение автоматизации через Redis флаг с идемпотентным управлением состоянием.
    • Расширена интеграция платёжных методов и исправлена логика минимальной суммы заказа.
    • Улучшена устойчивость навигации к профилю и поиску при скрытии панели управления.
  16. XXII неделя

    · 25—31 мая 2026
    Atlas
    • Blog и product pages на ISR вместо no-store. Cache-control теперь работает на динамических сегментах.
    • Auth pages исключены из индекса Google, delivery-areas/[area] возвращает 404 вместо 500 на неизвестных slug.
    • Storefront конфиг перенесён на типизированный слой: 50+ файлов теперь читают getStoreConfig() вместо raw env.
    • /llms.txt для AI-агентов, sitemap на ISR (revalidate=300), FAQ/blog/legal переведены на ru/es.
    • Inactive products доступны на detail endpoint (как out-of-stock), sitemap консолидирует ранжирование по canonical.
    Jusmila
    • Английские названия категорий в меню вернули. 113 инструментов отображались на литовском из-за NULL name_en.
    • Эстонский и латвийский UI перевели вручную: checkout, auth, основные поверхности каталога.
    • Литовский адрес без state и с 5-значным почтовым кодом. AddressModal больше не требует US-модель.
    GoraGen
    • Модели с одинаковым источником скачивания теперь детектируются на этапе деплоя.
    • Preset может пинить свой git-commit для shared custom-ноды без мутации базовой версии.
    • Три P0 в цепочке провижининга: утечка токенов в xtrace, блокирующий I/O под локами, неправильный учёт слотов.
    Клиент (NDA)
    • Доработана автоматизация проверки политик. Исправлены три источника данных, которые неправильно сообщали об отсутствии требований.
    • Расширена интеграция с диагностикой. Добавлен сбор версий и параметров устройств для отладки несоответствий между платформами.
    • Улучшена устойчивость планировщика. Добавлена автоматическая ротация расписания каждые 3 дня и обработка ошибок в результатах задач.
  17. XXI неделя

    · 18—24 мая 2026
    Atlas
    • Унифицировал контакт поддержки WhatsApp в уведомлениях. Единый источник номера для SMS, Telegram, WhatsApp, Email.
    • Закрыл Stage 2A: store_id на checkout_logs, otp_logs, session_recordings + JWT верификация на /events, tenant hardening на 7 админ-маршрутах.
    • Добавил contactPhone с маркером (unverified) в checkout auto-save и админ-панель для email-only клиентов.
    Jusmila
    • Storefront: упростил типы и сортировку каталога, добавил тёмную тему и валюту €.
    • Admin: полная i18n на use-intl — English по умолчанию, Lithuanian в переключателе с persist в localStorage.
    • Подчистил легаси-брендинг в активном коде, переименовал timezone-helper.
    GoraGen
    • Magic-byte валидация PNG/JPEG при загрузке. Content-Type + magic обязаны совпасть, иначе 400.
    • Multi-arch CI/CD (amd64+arm64) с docker-container driver. Раньше молча не деплоил на arm64.
    • Workflow pool scale — per-workflow инстансы через admin picker. Reconciler эмитит instance_requests, throttled по provisioning_max.
    Чат-бот
    • Telegram Login Widget заменил OIDC. Убрал мёртвый код SessionMiddleware и scaffolding.
    • App переехал с chatbot.hiregora.com на app.hiregora.com. Landing остался на chatbot.*.
    • SEO-аудит теперь нативный модуль в app. ProjectSeoAudit + server-to-server вызовы в SEO backend.
    • Dashboard локализован на en/ka/lt. Per-locale LABELS, useLocaleDict() для актуальной lang.
    • Двухуровневая навигация: 9 модулей (Overview/Site/SEO/Chatbot/Domain/Leads/Analytics/Automation/Settings).
    GoraBot
    • Telegram-команды теперь идут через tmux send-keys в живой TUI вместо orphan процессов.
    • Единый источник истины: JSONL логи самого TUI, без невидимых фоновых потоков.
    Клиент (NDA)
    • Настроена автоматизация развёртывания через self-hosted runner с сериализацией по конкурентности.
    • Расширена документация для новых разработчиков с явными указателями на материалы.
  18. XX неделя

    · 11—17 мая 2026
    Atlas
    • Fulfillment duration в Daily Orders с красной подсветкой при >60 мин для видимости SLA breaches.
    • Unified Places autocomplete + zone-check на 5 формах с Redis кешем и 6 структурированными колонками доставки в заказах.
    • WhatsApp sticky routing перенесён в Postgres, Redis теперь только read-through cache.
    GoraGen
    • Migration 055 + shadow tables (instance_requests, provision_attempts, provision_events). Dual-write hooks в 6 entry points. Plan-100 Stage 1.
    • Coordinator + Runner workers, OCC state machine, lease heartbeat. Stages 2–3 admission control + multi-source cutover. Flag-gated.
    • Stage 4–6: job_pressure source, provider_api_limiter, control_plane_metrics, emergency pause, alert thresholds. Postgres-only, Plan-100 complete.
    Auto-reply
    • Telethon обновлён до 1.43.2. Сессии на prod использовали schema v8, старая версия не читала.
    • AI-классификатор переведён на Haiku 4.5, temperature 0.5. Сомнительные сообщения теперь OK по умолчанию.
    • Модератор отправляет уведомление админам при OFFTOPIC, не удаляет.
    Клиент (NDA)
    • Доработана автоматизация навигации. Переход на идентификаторы вместо текстовых селекторов, кэш обновлён после запуска приложения.
    • Расширена интеграция с фермой тестирования. Актуализированы снимки иерархии для всех версий на девайсах, dump size вырос на 17–40%.
    • Улучшена устойчивость скроллинга. Таймауты и целевые селекторы переработаны, задержка валидации экрана перенесена после первого свайпа.
  19. XIX неделя

    · 4—10 мая 2026
    Atlas
    • При редактировании товаров в заказе сохраняется order_id. TypeORM перезагружал связанные товары и терял новые.
    • Featured Products на homepage подтягивает бестселлеры, если слотов не хватает. Было 4/8, теперь всегда 8/8.
    • OG-image переделан под 1200×630. Десатурированный крой hero-slide вместо статичной картинки.
    GoraGen
    • Claude Code terminal на Vast инстансах. WebSocket proxy обходит mixed content, auth ack блокирует bidirectional pipe.
    • Phase 15 auto-resolver: upload JSON → preview → apply с shadow preset. Заменяет ручные скрипты для каждого workflow.
    • LTX 2.3 fp8 + Gemma 3 text encoder. Официальный Comfy-Org bundle вместо community quant, filename совпадает с workflow.
    Клиент (NDA)
    • Расширена автоматизация навигации. Добавлены шаги для прокрутки и поиска элементов управления, обработка вариативности селекторов.
    • Внедрена валидация экранов перед выполнением задач. Guard-механизм с анализом иерархии UI, warn-only режим для критичных операций.
    • Запущена кросс-версионная разведка интерфейса. Сравнительный анализ resource-id и content-desc между сборками для выявления дрифта селекторов.
  20. XVIII неделя

    · 27 апреля — 3 мая 2026
    Atlas
    • SEO recovery: канибализация ключевиков убрана, 10 категорий потеряли "Miami" в title, homepage теперь money-keyword pillar.
    • Per-store risk scoring вместо single-IP detector. Новая таблица user_store_risk, multi-signal threshold=50, флаг не протекает между стором.
    • Delivery zone tracking на заказах. Добавлена delivery_zone_id FK, backfill исторических, новые отчёты в админ-панели.
    Jusmila
    • Миграция с delivery-fork на jusmila.lt. Admin SPA, Next.js storefront, NestJS API, scraper в одном репо.
    GoraGen
    • Job queue + scheduler вместо asyncio.create_task. Persistent queue для /generate-from-persona, /kling/generate, /storyboards/{id}/render.
    • Auto-provisioner на Vast: per-rule evaluator, instance_pool abstraction, admin alerts + audit. 34 smoke checks green.
    • Admin frontend: provisioning page, KPI, audit tab, users CRUD, queue console с boost/cancel, impersonation banner.
    Чат-бот
    • Telegram Login Widget вместо email magic-link. Users.email теперь nullable, добавлены telegram_id и telegram_username.
    • Полный редизайн под книжный стиль hiregora: IBM Plex Serif, палитра paper/ink/ochre, глассморфный header, Reveal-анимации.
    • WebSocket streaming чата (Preact widget) + KB ingestion pipeline с sitemap-first crawler, tiktoken chunker, pgvector HNSW.
    GoraBot
    • Tmux-bridge: SSH-tail Claude Code сессий в Telegram topics с синхронизацией файлов (upload/download через scp).
    • Динамический SSH-юзер и команды управления (/cancel, /p, /c, /s, /new) в tmux-bridge топиках.
    Клиент (NDA)
    • Расширена интеграция с платформой: добавлены схемы инвентаризации, state-driven селекторы, end-to-end сценарии действий.
    • Улучшена устойчивость: watchdog на зависающие вызовы, защита от блокировок экрана, коррекция жестов в границах компонентов.
    • Доработана автоматизация фермы: diversify персон на уровне профилей, jitter сессий, логирование диагностики при отклонениях.
  21. XVII неделя

    · 20—26 апреля 2026
    Atlas
    • Homepage: SEO-блоки переделаны на editorial trust stream с Google Reviews, CountUp рейтинга и TestimonialsSection.
    • Referral links теперь приземляются на homepage /?ref=X вместо /register, код сохраняется в localStorage на 30 дней.
    • 12 geo-landing pages для Miami neighborhoods с LocalBusiness schema, GeoCoordinates и BreadcrumbList для каждого района.
    BRUNO
    • /reels архив: 60 видео из Instagram на отдельной странице, восстановлены 27 рилсов по тегам меню и коктейльной карты.
    • Многостраничная архитектура: 17 индексируемых URL вместо one-pager, каждый с уникальным контентом и JSON-LD схемой.
    • AI pipeline для Instagram: 11 Python-скриптов обработали 1330 видео и 2904 фото, Gemini курирует контент для сайта.
    WedInGeorgia
    • Добавили 9 статей в блог (RU + EN) с таргетингом на гео-ниши (Израиль, Украина). Всего 6000+ слов переводов.
    • Развернули полный i18n: 27 страниц на английском, LocaleContext для всех 17 компонентов, /en/ routes.
    • Рефакторили SEO: hreflang на 11 русских подстраниц, JSON-LD, og:image, убрали дубли контента на homepage.
    GoraGen
    • История поколений видео в панели. Плеер, промпт, оценки от Gemini. Обновляется при завершении сессии.
    • Загрузка наборов референс-изображений на VPS12. Drag-drop UI, удаление, выбор набора в генераторе.
    • PiAPI Kling 3.0: парсинг output.video, cfg_scale как float, image_to_video при наличии референса.
    Клиент (NDA)
    • Оптимизация доставки: минификация JS/CSS в Docker, конвертация растра в современные форматы, GPU-композитинг анимаций.
    • Расширена интеграция потокового видео: добавлена поддержка нескольких плееров и предварительная проверка соединения перед инициализацией.
    • Доработана инфраструктура развёртывания: увеличены таймауты и добавлены повторные попытки при сетевых сбоях.
  22. XVI неделя

    · 13—19 апреля 2026
    Atlas
    • Психоделики перенесены под Edibles с сохранением SEO-слага. Убрали из топ-навбара, оставили в гридах с фильтром по parent_id.
    • COG Report переделан: таблица по продуктам, поиск, инвентарь по себестоимости. Фикс dateFilter (показывал вчера).
    • Крипто-платежи: допуск увеличен с 2% до 5% для покрытия комиссий обменников.
    • Снимок себестоимости сохраняется в order_items.cost_price при создании заказа для COGS-отчётов.
    • Аудит-логи продуктов: все изменения из админки (create/update/delete) с JSONB-диффами в product_audit_logs.
    • Dispatch-карта: realtime-трекинг водителей с фоллбеком на driver_locations таблицу при потере Redis-сессии.
    • OOS-товары скрыты из каталога по умолчанию. inStock-фильтр на уровне БД с EXISTS-сабквери.
    WedInGeorgia
    • Контактная модалка с WhatsApp-интеграцией. Золотая CTA после Hero, fullscreen с circle-clip анимацией, закрывается на Escape.
    • Галерея: ScaleReveal на фото, FadeIn на описаниях. Заголовки Reviews и FAQ на SplitText (word-by-word).
    GoraGen
    • SSH tunnel убрал, теперь прямой HTTP на Vast.ai. Было 4 падения подряд из-за туннеля.
    • Workflow-выбор по шаблонам в production-режиме, по БД в explore. Добавил explore_mode в VideoGenerateRequest.
    • Стабилизация pipeline: cfg/shift разделил (раньше оба из defaults["shift"]), добавил shift в VideoGenerateRequest и слайдеры.
  23. XV неделя

    · 6—12 апреля 2026
    Atlas
    • Адреса заказов можно редактировать до назначения водителя. Добавлена геокодирование, синхронизация в админке и диспетчерском приложении.
    • Мобильная геолокация для заполнения адреса. GPS + Nominatim обратное геокодирование, автозаполнение улицы, города, ZIP.
    • Google OAuth вход/регистрация с верификацией через userinfo API. Авто-линковка существующих аккаунтов по авторитетным email.
    GoraGen
    • Фронтенд с Vite + React вместо Next.js. Startup 120ms, hash routing, lucide-react иконки.
    • Claude как архитектор workflow. Live session с --resume, полный граф в контексте, JSON-only ответы.
    • SSH stability: ControlMaster, retry с backoff, asyncio.to_thread в _ssh_run_stream. Instance timeout 5min → 15min.
    Клиент (NDA)
    • Доработана обработка некорректных запросов. Бот теперь перенаправляет вместо случайного маппинга.
    • Расширена система подсказок. Унифицирована терминология в ответах.
  24. XIV неделя

    · 30 марта — 5 апреля 2026
    Atlas
    • Водители теперь выбирают машину при первом пикапе, не при go-online. Авто-релиз при доставке последнего заказа.
    • Админ может назначать водителей на машины через AssignDriverModal. В уведомлениях клиентам — только марка/цвет авто, без имени водителя.
    • Планы теперь ограничивают express-доставку по времени и зонам. Black Diamond и VIP Platinum могут обходить ограничения через bypass-флаги.
    GoraGen
    • SSH туннель с keepalive + проверка ComfyUI перед возвратом. Убил дублирование инстансов.
    • Langfuse трейсинг каждого шага оркестратора. Postgres+Redis+ClickHouse+MinIO в docker-compose.
    • WebSocket: бэк отправляет event, фронт читал type. 40+ сообщений молча падали. Исправил в use-video-session.ts.
    • WAN 2.2 dual sampler: high_noise (структура) + low_noise (детали). fp8 вместо bf16, быстрее и качественнее.
    • Workflow search в ChromaDB перед build from scratch. Обогатил индекс: теги, промпты, ноды вместо пустых описаний.
    • Claude Code в оркестратор: выбор модели, recovery ошибок, адаптация workflow. Логирует в tmux + /tmp/claude-orchestrator.log.
    Anthropic-news
    • Переписал фильтр анализатора: score 7-10 для реальных проектов, 4-6 для пресс-релизов. Фокус на том, что люди строят.
    • Digest теперь в одном посте вместо 20 спама. Убрал Claude API для форматирования, добавил даты к статьям.
    • Исправил model ID opus (404 на predictions), event chains с квалификацией колонок, split по строкам при >4096 chars.
    Клиент (NDA)
    • Расширена интеграция с системой тарификации. Динамические плейсхолдеры в промптах теперь учитывают план пользователя.
    • Доработана маршрутизация вебхуков. Фильтрация по типам источников, игнорируются неподходящие.
Žurnalas — dev žurnalas · hiregora.com