━━ День разработки 253 · 8 августа 2026 ━━
📦 Сделал
— Регистрация теперь одна дверь. Раньше режим (открытая / по инвайту / закрытая) можно было обойти через разные точки входа. Свёл всё в один серверный чек: signupmode проверяется на входе, до создания юзера, и клиент это больше не решает.
— Политика регистрации стала рантайм-настройкой. Отдельный эндпоинт отдаёт текущий режим, резолвер тянет его на лету — правишь в Settings, форма логина/регистрации подстраивается сама, без пересборки и без деплоя.
— Убрал хардкод. Овнер-гейт раньше держался на «пространство №11» прямо в коде. Теперь ключуется по роли. Звучит мелко, но базы у нас форкнуты — KZ живёт своим мастером, id пространств там свои; магическое число форк не переживает, роль — переживает.
— Инвайты и рефералка: промо/реферальные настройки вынес в отдельный раздел, регистрация по коду.
— Миграции: добавил from-empty guards в knex-цепочку. Одна миграция теперь одинаково доводит до схемы и пустую базу, и живую — идемпотентно, накатывается повторно без падений. При двух форкнутых мастерах это и нужно: обе стороны должны независимо сходиться к одной схеме.
⏱ Сколько ушло
Собрал за пару вечеров — политика, эндпоинт, форма и миграции легли одним заходом. К утру уже крутилось на стейджинге.
Спасибо что читаете. До завтра.
━━ Конец дня 253 ━━
August 8, 2026 9