гора.
i. хроника · обновляется по воскресеньям

Что делаю сейчас.

Лог разработки моих проектов. Что переписал, что починил, что вынес наружу. Кодовые имена вместо имён клиентских репо. Без счётчиков строк, без коммитов как таковых — только реальные изменения, которые увидел пользователь или которые внутри что-то поменяли.

rss.xml →

фильтр

  1. 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, табличные цифры, три колонки платежей вместо одной.
  2. 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 ордерам.
  3. 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.
  4. 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 клиентов.
  5. 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.
  6. XIX неделя

    · 4—10 мая 2026
    Atlas
    • При редактировании товаров в заказе сохраняется order_id. TypeORM перезагружал связанные товары и терял новые.
    • Featured Products на homepage подтягивает бестселлеры, если слотов не хватает. Было 4/8, теперь всегда 8/8.
    • OG-image переделан под 1200×630. Десатурированный крой hero-slide вместо статичной картинки.
  7. 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 исторических, новые отчёты в админ-панели.
  8. 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 для каждого района.
  9. 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-сабквери.
  10. XV неделя

    · 6—12 апреля 2026
    Atlas
    • Адреса заказов можно редактировать до назначения водителя. Добавлена геокодирование, синхронизация в админке и диспетчерском приложении.
    • Мобильная геолокация для заполнения адреса. GPS + Nominatim обратное геокодирование, автозаполнение улицы, города, ZIP.
    • Google OAuth вход/регистрация с верификацией через userinfo API. Авто-линковка существующих аккаунтов по авторитетным email.
  11. XIV неделя

    · 30 марта — 5 апреля 2026
    Atlas
    • Водители теперь выбирают машину при первом пикапе, не при go-online. Авто-релиз при доставке последнего заказа.
    • Админ может назначать водителей на машины через AssignDriverModal. В уведомлениях клиентам — только марка/цвет авто, без имени водителя.
    • Планы теперь ограничивают express-доставку по времени и зонам. Black Diamond и VIP Platinum могут обходить ограничения через bypass-флаги.
Хроника — лог разработки · hiregora.com