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 사본을 아직도 청소...
Use pg Pool options instead of connection string for geo DB
CockroachDB rejects insecure connections and node-pg can't verify self-signed certs via connection string alone. Parse the URL into Pool options and pass ssl:{r...
Www.kamocrm.com에 백 링크 대상 (canonical host)
PoweredByKamo 구성 요소는 apex에서 지적을 배송 https://kamocrm.com/ 그러나 canonical kamo-marketing 호스트는 https://www.kamocrm.com/입니다. 모든 세 가지 변형 hrefs so inbound SEO 신호 축적 ape...
*** session check, loading spinner, rebrand analytics to Kamo Analytics
Use redis get instead of exists for more reliable *** validation on logout. Replace "Authenticating..." text with an animated spinner on the OTK auth page. Rena...
Copy GeoLite2 database to production image for country detection
The /geo/ directory containing GeoLite2-City.mmdb was built during the builder stage but never copied to the runner stage, so all country/region lookups returne...
Move CSP to proxy.ts instead of middleware.ts to avoid build conflict
Next.js 16 doesn't allow both middleware.ts and proxy.ts. The Docker build copies proxy.ts as the middleware, so add CSP frame-ancestors header there instead. T...
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.
Use Next.js middleware for CSP so frame-ancestors works at runtime
The standalone build bakes next.config.ts headers at build time, so ALLOWED_FRAME_URLS was always empty. Move CSP to a Next.js middleware that reads the env var...
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.
Read ALLOWED_FRAME_URLS at runtime so CSP frame-ancestors works in standalone mode
The env var was being read at module scope during build, baking an empty value into the standalone server. Move CSP and all header construction into functions c...
Reset document.title in rebrand() when React overwrites it
React re-applies RSC payload after hydration, resetting the title to "analytics". Add a title check inside the MutationObserver callback so it gets corrected ev...