Проверка отправки с использованием электронной почты not userId, forward X-Forwarded-Host
Служба безопасности /регистрация / проверка отправки ожидает электронную почту в теле. не userId (который никогда не включает в себя ответ на ошибку входа). Так...
Add dao.repositories to JPA scan so EmailTemplateRepository is found
Same pattern as KamoInitializerService — explicit basePackages overrides default scanning and must include every package that has repositories.
Передайте тело ошибки upstream через прокси-сервер безопасности вместо общего сообщения
Ранее возвращенная ошибка: «Upstream error» на non-2xx, потеря реального Сообщение об ошибке от службы безопасности. Теперь пересылайте код состояния и тело нап...
Align registration field names and response shape with frontend contract
Frontend sends nameFirst/nameLast but controller read firstName/lastName, causing 400 "First name is required". Success response now returns {status, userId, al...
Предотвращение несвежего кэша AgeReqType от неправильной проверки возраста
Маршрут организации: уменьшить Redis TTL с 24 часов до 5 минут и добавить AgeReqTypeMember Несвоевременное обнаружение, чтобы поля безопасности оставались свежи...
Add SecurityService and dao.repositories to EnableJpaRepositories scan
UserPhoneLookupRepository in recovery package was not picked up because EnableJpaRepositories only listed dao.repos and commerce. Added the SecurityService base...
Настройте заголовок вкладки браузера на «Register - {org name}»
DynamicMetaLoader теперь вызывает использование ThemeConfig и обновляет документ. титул Зарегистрироваться - {org.title} после загрузки орга. Статический регрес...
Решите ошибки TS с шагов, используемых до объявления и кастинга стиля Capcha
**************************** Использование Памятки над использованием Эффекты, которые Зависит от них; импортируйте CSSVariables и используйте его для реквизита...
Add dao.repositories to EnableJpaRepositories scan
EmailTemplateRepository lives under dao.repositories.email, not dao.repos, so it was not picked up as a Spring bean.
Добавить ложное определение email verified column
Мигратор схемы Гибернате генерирует ПОЛЬЗОВАННУЮ ЗАПИСЬ без по умолчанию, на столах с существующими рядами. Обозначение заставляет его Включите ложную информаци...
Правильная очистка и сброс проверенного состояния слушателя Capcha на шаге выхода
Resolve duplicate emailTemplateServiceClient bean conflict
**************** and **************** were identical @Components with the same default bean name, causing **************** at startup. Delete the duplicate in r...
Bump kamo-shared-library to 1.4.0
Docker Stage 1 builds kamo-shared-library main (now 1.4.0) and installs it to the local .m2; the service pom still referenced 1.0.0 which Maven could not find, ...
Применять исправления правильности и качества реализации SP6
C1: использовать NEXT PUBLIC H*** SITE KEY Env var вместо жесткого заполнителя C2: изменить RegisterResponse.userId и все параметры API с номера на строку (Cock...
Address 4 code-review findings in registration and login paths
- Hide raw exception message in /register 500 path; log instead - Fail-closed (503) on email-verified DB check failure in login - verifyEmailToken throws if use...
Append Z to dateCommitted so JS parses it as UTC
LocalDateTime.toString() produces no timezone designator, causing JavaScript's new Date() to treat the UTC value as local time and display timestamps 7-8 hours ...
Convert PT midnight cutoff to UTC for today-count query
Commits are stored in UTC but the cutoff was a naive LocalDateTime in PT, causing yesterday-evening PT commits (00:00–06:59 UTC) to be counted as today.
Переименовать почтовый ящикId→id и providerStatus→status в ответе списка почтовых ящиков
Выравнивайте имена полей с внешними ожиданиями для списков почтовых ящиков участников.
Замените все экземпляры логотипа CSS-фильтра белым SVG
Навигация, SubNavigation, Footer, SubFooter и Preloader все используемые тот же разбитый фильтр яркости-0 инвертного рисунка. Заменить на Логотип полностью белы...
Используйте белый логотип SVG в нижнем колонтитуле вместо фильтра CSS
То же исправление, что и нав — CSS-фильтр на img внутри фонового фильтра ненадежен на iOS Safari.
Охрана цветовой схемы с !важным против темы CSS override
DynamicMetaLoader может вводить удаленный CSS, который выигрывает каскад. Добавить Важность обеспечивает цветовую схему: темнота никогда не может быть преодолен...
Исключите нижние колонтитулы и навигационные ссылки из TouchOptimized Min-Height
TouchOptimized установила minHeight:44px на всех элементах <a> короче 44px, включая нижние навигационные линии (~20px). Это происходило во время гидратации на ж...
Используйте белый логотип SVG вместо CSS-фильтра
Фильтр CSS на Img внутри фонового фильтра ненадежен на iOS Safari. Создайте логотип-full-white.svg со всеми заполнениями #ffffff и загрузите его напрямую — ни ф...
Вариант темного режима Lock Tailwind на основе класса, никогда не медиа-запрос ОС
Tailwind v4 по умолчанию темный: утилиты реагируют на цветовую схему предпочтений (предпочтение ОС). @variant override гарантирует темноту: классы активируются ...
Используйте стиль встроенного фильтра на ссылке логотипа для надежного белого рендеринга
Классы фильтров Tailwind на элементах img несовместимы в мобильных браузерах. Встроенный стиль на якорном элементе гарантирует яркость (0) инверт (1) применяетс...
Силовая темная цветовая схема, поэтому браузер никогда не применяет рендеринг в светлом режиме
Переход от «светлого только» к «темному» в globals.css, генерации Viewport html-стиль элементов — это останавливает браузер от рендеринга SVG и нативного пользо...
Предотвращение рендеринга логотипа за строкой nav на мобильных устройствах
Обертка div с фильтром CSS создала новый контекст стека, который противоречил с фоновым фильтром заголовка в мобильных браузерах, заставляя логотип рисовать На ...
Решите прокрутку и мобильную вырезку на JumpToBar и PreviewBanner
Добавить overflowY: скрытый во внутренний контейнер JumpToBar для предотвращения вертикальной прокрутки Разрешить контент PreviewBanner обернуть на мобильный те...
Заменить пространство-y-4 встроенным гибким зазором в списках ссылок нижнего колонтитула
Tailwind space-y-4 использует :where() (специфичность 0) Нагрузка на жесткое обновление вызывает несогласованное вертикальное расстояние. ряд Стили встроены в S...
Set Traefik externalTrafficPolicy=Local to preserve client IP
With the default "Cluster" policy, kube-proxy SNATs external traffic to the node IP before forwarding to Traefik. That caused Traefik to see the node IP as the ...
Добавить отсутствующий запрос Интеграция i18n ключа по всем локализациям
Кнопка «Отправить запрос» в разделе «Необходима пользовательская интеграция?» КТА на /интеграции возвращался к исходному ключу **************** Потому что ключ ...
Цель обратной ссылки на www.kamocrm.com (канонический хост)
Компонент PoweredByKamo отправлен с указанием на вершину https://kamocrm.com/ Но каноническим хостом камо-маркетинга является https://www.kamocrm.com/. Обновлен...
Clean up legacy analytics deployment on each CI run
Delete old analytics deployment, service, and ingressroute that conflict with the kamo-analytics deployment managed by its own CI/CD pipeline.
Strip X-Frame-Options header in iframe-compatible middleware
Set X-Frame-Options to empty string to remove the SAMEORIGIN value that was being inherited, allowing CSP frame-ancestors to control iframe embedding instead.
Иконка Analytics является только иконкой и позиционируется последней в наборе значков
Как вы видите судоходство?
Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.
