이메일을 사용하여 인증은 userId, forward X-Forwarded-Host
SecurityService /register/resend-verification는 몸에 이메일을 기대합니다. userId (그 로그인 오류 응답이 포함되지 않음). 현재 위치 X-Forwarded-Host 그래서 백엔드가 올바른 조직을 해결할 수 있습니다.
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.
대신 보안 프록시를 통해 업스트림 오류 몸 전달
너무 이른 반환 {error: "업스트림 오류"} 비-2xx, 잃는 실제 SecurityService의 오류 메시지. 이제 상태 코드와 몸을 직접 전달합니다.
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...
Stale ageReqType 캐시를 방지하십시오
- Org 노선: Redis TTL을 24시간에서 5분으로 줄이고, ageReqTypeMember를 추가합니다. to stale detection so security field stay 신선한 후 DB 변경 - RegisterFlow: default shouldIncludeAgeChe...
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는 이제 useThemeConfig 및 업데이트 문서를 호출합니다. 이름 * 'Register - {org.title}'을 한 번에 org 로드합니다. 정체되는 fallback에서 layout.tsx는 'Create Next App'에서 'Register'...
선언 및 Capcha 스타일 캐스트 전에 사용되는 단계의 TS 오류를 해결
이동 *********** useMemos 위 useEffects 그 그들에 따라; CSSVariables 유형을 가져오고 Capcha-widget 작풍 버팀대를 위해 그것을 사용하십시오.
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.
DEFAULT false를 이메일에 추가 verified 컬럼 정의
Hibernate의 schema migrator는 기본적으로 없는 ALTER TABLE를 생성합니다, 기존의 행으로 테이블에 실패. columnDefinition 힘에 DEFAULT false를 포함하므로 기존의 행은 올바르게 팝업됩니다.
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 hardcoded placeholder 대신 env var C2: Change RegisterResponse.userId 및 모든 API params from number to string (CockroachDB unique r...
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.
MailboxId→id와 공급자Status→status를 우편함 명부 응답에 지명하십시오
Align 필드 이름 회원 mailbox 목록에 대한 기대.
모든 CSS-filter 로고 인스턴스를 흰색 SVG로 교체하십시오
Navigation, SubNavigation, Footer, SubFooter 및 Preloader 모두 사용 동일한 깨진 필터 밝기 - 0 invert 패턴. 대체로 보드를 가로 질러 로고 풀 화이트.svg.
CSS 필터 대신 footer에서 White SVG 로고 사용
Nav와 같은 수정 - backdrop-filter 내부 img에 CSS 필터는 iOS Safari에서 신뢰할 수 없습니다.
Guard Color-scheme with ! 테마 CSS 오버라이드에 대한 임포트
DynamicMetaLoader는 원격 CSS를 삽입할 수 있습니다. 더 보기 ! 임포트란트는 색상-scheme을 보장합니다. 어두운 테마 스타일 시트에 의해 overridden 할 수 없습니다.
TouchOptimized min-height Conductment에서 Footer 및 nav 링크를 제외하십시오
TouchOptimized는 모든 <a> 요소에 minHeight:44px를 설정했습니다. 44px, footer nav 링크 포함 (~20px 키). 이 ran 동안 hydration 에 각 <li> 플렉스 아이템 44px를 키우고 생산합니다. footer 링크 컬럼에 있는 두 배 짜...
CSS 필터 대신 pre-rendered white SVG 로고 사용
Backdrop-filter 내부 img에 CSS 필터는 iOS Safari에서 신뢰할 수 있습니다. #ffffff에 설정된 모든 채우기로 로고 전체 흰색.svg 생성 및로드 직접 - 필터 없음, 브라우저 quirks 없음, 모든 장치에서 보장 된 흰색.
Lock Tailwind 어두운 모드 변형을 클래스 기반, 절대 OS 미디어 쿼리
Tailwind v4는 어둠을 기본으로 합니다. @variant override는 .dark 클래스가 될 때만 활성화합니다. DOM에서 존재하는 — OS는 어떤 장치든지에 결코 플립할 수 없습니다.
신뢰할 수있는 흰색 렌더링을위한 로고 링크에 인라인 필터 스타일 사용
Img 요소의 Tailwind 필터 클래스는 모바일 브라우저에서 일관성이 있습니다. 앵커 요소의 인라인 스타일은 밝기를 보장합니다(0) invert(1)는 어디에나 적용됩니다.
Force dark color-scheme 그래서 브라우저는 조명 모드 렌더링을 적용하지 않습니다
'light only'에서 globals.css, generateViewport, 그리고 'dark'로 변경 html 요소 스타일 - 이것은 SVGs 및 Native UI를 렌더링하는 브라우저를 중지합니다. 어둠의 배경에 대한 검은 색을 나타나는 로고를 일으키는 조명 모드에서.
모바일에서 nav 행 뒤에 렌더링에서 로고를 방지
CSS 필터로 div wrapper는 새로운 stacking context를 생성했습니다. 모바일 브라우저의 header의 backdrop-filter로 로고를 페인트하는 데 헤더 배경 뒤에. 이미지 요소에 필터 클래스를 직접 적용하십시오.
JumpToBar 및 PreviewBanner에서 스크롤 바 및 모바일 클립을 해결
- overflowY를 추가하십시오: JumpToBar 내부 콘테이너에 숨겨지은 수직 scrollbar를 방지하기 위하여 - PreviewBanner 콘텐츠를 허용하여 모바일을 감싸기 때문에 텍스트는 초상화 폰에 클립되지 않습니다
Footer 링크 목록에 인라인 플렉스 갭을 가진 space-y-4를 대체하십시오
Tailwind space-y-4 용도 : CSS를 가진 인종(특성 0) 단단한 상쾌한 수직 간격을 일으키는 원인이 되는에 적재. 제품정보 스타일은 SSR HTML에 내장되어 즉시 적용 외부 CSS 짐 순서.
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 ...
누락된 requestIntegration i18n 키 추가
"사용자 정의 통합"의 밑에 "요청"버튼을 대체합니까? 사이트맵 /integrations는 원시 키로 돌아 왔습니다. *********** 키가 어디에서 정의되지 않았기 때문에. 모든 22 로컬에서 키를 추가 그리고 또한 stale customCtaSubheading 사본을 아직도 청소...
Www.kamocrm.com에 백 링크 대상 (canonical host)
PoweredByKamo 구성 요소는 apex에서 지적을 배송 https://kamocrm.com/ 그러나 canonical kamo-marketing 호스트는 https://www.kamocrm.com/입니다. 모든 세 가지 변형 hrefs so inbound SEO 신호 축적 ape...
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.
