KamoCRM

비밀번호

모든 기능, 수정 및 개선, 그것은 배로 게시. 출시를 위해 다시 열지 않습니다.

17,495
총 변경
5,983
제품 설명
5,283
수정 사항
30
프로젝트
프로젝트
모든 프로젝트17,495AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices738MCPGatewayService249MediaService602RAGService79SecurityService1,846TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
필터 유형
모든 유형Build16CI523Chore773Docs3,254Feature5,983Fix5,283Other994Performance165Refactor278Revert23Style42Test160Upgrade1
April 19, 2026
FixEmailService

Update EMAIL_VERIFICATION sample vars to match current template

Use expiryText instead of expiryMinutes (renamed variable), and update verifyLink to point to the register subdomain (correct send path).

Kamo·6mo ago
Fixkamo-internal

블록 디자이너에 있는 Full-document bodyHtml의 double-wrapping

BodyBlocks가 null이고 bodyHtml는 전체 <!DOCTYPE html> 문서입니다. (예 : canonical Seeded Templates), 단일 블록으로 가져 오기 serializeFullEmailHtml는 두번째 <!DOCTYPE html> 포탄에서 그것을 감싸기 ...

kamo·6mo ago
FeatureSecurityService

Pass human-readable expiry time to email verification template

Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template ...

Kamo·6mo ago
Featurekamo-shared-library

이메일 검증 템플릿 개선 — URL fallback, expiry text, subject

- Copy-paste fallback로 버튼 아래의 일반 텍스트 검증 링크 추가 - {{expiryMinutes}}에서 {{expiryText}}으로의 폭발 변수를 전환하십시오. 인간 읽기 쉬운 체재 (예를들면 "1440 분 대신 1 일") - "당신의 {{orgName}} 계정과 관...

Kamo·6mo ago
Fixkamo-register

검색 결과를 찾을 수 없음 한국어 사전에

MUI Box는 수치 폭/높이 값 0–1을 비율로 해석하므로 width:1 숨겨진 입력 커버 전체 카드. 0으로 변경 입력은 보이지 않지만 레이아웃을 방해하지 않습니다.

Kamo·6mo ago
April 18, 2026
FixEmailService

Preserve DB domain case in NoReply from address

Removed toLowerCase() — the domain already comes from resolvePrimaryDomain which reads org_domains from the database, so case is canonical from DB.

Kamo·6mo ago
Featurekamo-internal

템플릿에 외부 프레임이있는 전체 이메일 HTML을 직렬화

- serializeFullEmailHtml는 상표가 붙은 외부 구조에 있는 안 구획을 포장합니다 (헤드 로고, 제목/제목, 내용 영역, footer 로고 + org 이름) 절대 URL을 사용하므로 이메일 클라이언트는 이미지를 fetch 할 수 있습니다. - 외부 프레임 설정 (로고 옵...

kamo·6mo ago
Stylekamo-shared-library

이메일 검증 canonical 템플릿에 브랜드 외부 프레임 추가

적당한 이메일 포탄을 가진 안 내용 포장: org 이름을 가진 우두머리, 패딩된 내용 영역 및 발기. 식별자로 {{orgName}}을 사용합니다.

Kamo·6mo ago
FeatureSecurityService

Add code-based email verification path to /verify-email endpoint

The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches ag...

Kamo·6mo ago
Fixkamo-register

토큰 링크 자동 검증 및 로그인으로 리디렉션; 코드 초점 표시 추가

- /verification?token=xxx 지금 호출 확인EmailByToken 마운트 및 성공에 로그인하는 리디렉션; 실패에 대한 코드 입력으로 돌아갑니다 - Active code box는 파란색 링을 보여주기 때문에 사용자가 입력한 위치를 알고 있습니다. - InitialErro...

Kamo·6mo ago
Fixkamo-register

Lift *** 위젯 위 click-to-focus 오버레이 (z-index)

오버레이 (위치:absolute, z-index:0)는 Capcha를 덮었습니다. 나중에 DOM 순서에 나타나기 때문에 위젯. z-index를 추가: *** 콘테이너는 포인터 사건이 그것을 도달합니다.

Kamo·6mo ago
FixKlusterServices

Remove nonexistent postfix-lmdb package, install lmdb library instead

postfix-lmdb is not a valid Alpine package; lmdb support is built into the base postfix package. The pod was CrashLoopBackOff due to apk failure.

Kamo·6mo ago
FeatureKlusterServices

Add weekly image prune and journal vacuum CronJob for k1m1

CronJob runs every Sunday 3am, privileged, pinned to k1m1. - crictl rmi --prune removes unused container images - nsenter journal vacuum enforces 500MB cap - CI...

Kamo·6mo ago
FeatureKlusterServices

Add Docs deploy step to workflow

Kamo·6mo ago
FixKlusterServices

Fix Docs image registry, add Recreate strategy to coturn/postfix, increase qdrant memory

- Docs: fix wrong image registry (redis.kamo.svc... → **************** add Recreate strategy - coturn: add Recreate strategy to prevent rolling update port conf...

Kamo·6mo ago
Refactorkamo-internal

컴팩트 편집기 헤더 - 큰 제목 / 탭을 제거, nav 행에 작업을 이동

끈끈한 우두머리 카드를 제거하십시오 (제목, 부제, 저장/암호/Preview 이메일TemplateEdit에서 버튼, 편집/검토 탭 바) ~200px 편집기 위의 수직 공간. 액션 버튼은 지금 바로 정렬 EmailTemplateManager의 기존 백 버튼/breadcrumb nav 행에...

kamo·6mo ago
Featurekamo-register

Require *** 각 인증/수출 시도 전에 검증 페이지에

***는 각 활동 (교육 또는 실패) 후에 재시동합니다 그래서 신선한 해결은 각 후속 시도에 필요합니다.

Kamo·6mo ago
FixKlusterServices

Switch Postfix sasl_passwd from hash to lmdb format

Alpine postfix build does not include hash support — postmap and smtp_sasl_password_maps were silently failing, deferring every outbound relay attempt through s...

Kamo·6mo ago
Fixkamo-register

렌더링 인라인 대신 등록 후 /verification로 이동합니다

URL을 정확하게 유지 - 브라우저는 /verification /member를 보여줍니다.

Kamo·6mo ago
FixEmailService

Resolve root domain for NoReply from-address instead of bare subdomain

resolvePrimaryDomain() was returning the first domain entry (e.g. "www") which produced NoReply@www. Now prefers root domains (parent == null) so transactional ...

Kamo·6mo ago
FixSecurityService

Populate all EMAIL_VERIFICATION template variables

Was sending only {token, code} — template also needs orgName, firstName, verifyLink, and expiryMinutes. Load org and user to build the full vars map, and resolv...

Kamo·6mo ago
Featurekamo-register

/resend-verification 페이지로 이동

Kamo·6mo ago
FixEmailService

Add internal.auth.secret to EmailService configmap

InternalAuthFilter was rejecting all service-to-service calls (send, seed-org) with 503 because internal.auth.secret was unconfigured. Matches the same INTERNAL...

Kamo·6mo ago
Refactorkamo-login

Redirect EMAIL NOT VERIFIED 에 등록/수신

로그인 페이지와 관련된 인라인 EmailVerifyCard 제거 상태/callbacks. EMAIL NOT VERIFIED에서, 사용자는 이제까지 전달됩니다 *********** 여기서 기존 PostCompletionScreen 핸들 resend 및 코드 입력.

Kamo·6mo ago
Featurekamo-register

로그인을 위한 /resend-verification 페이지 추가

?email을 허용하는 독립 /resend-verification 경로 생성 ?userId 쿼리 params, reusing PostCompletionScreen 일관된 이메일 검증 UX. RegisterResponse.alias를 선택해 주세요. 페이지는 등록 별칭 없이 작동합니다.

Kamo·6mo ago
FixEmailService

Allow transactional send on port-25 relay and auto-seed missing templates

Port-25 SMTP (postfix) requires no auth — transactionalCredentials() was throwing ProviderUnavailableException when user/pass were unconfigured, blocking all ve...

Kamo·6mo ago
FixSecurityService

Use subdomain-aware SQL to match findByDomain JPQL logic

Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...

Kamo·6mo ago
Fixkamo-login

Host/X-Forwarded-Host를 설정하면 APIService가 올바른 org를 해결합니다

APIService overwrites X-Forwarded-Host with request.getServerName(), 이는 읽기 호스트 헤더에서. 명시된 호스트 헤더 없이 K8s 내부 서비스 hostname은 SecurityService에 전달되었습니다. org는 아무것도 돌려보내...

Kamo·6mo ago
FixSecurityService

Correct EmailService URL port in configmap (4203 -> 80)

EmailService K8s service exposes port 80, not 4203. Verification emails were timing out on every registration attempt.

Kamo·6mo ago
Featurekamo-register

Redesign 이메일 검증 화면 + 수정 이메일 버그 수정

- PostCompletionScreen : 애니메이션 org 배경으로 전체 페이지 레이아웃, glassmorphism 카드, 로고, 시각적인 6 손가락 부호 상자, 성공/verified 국가 - resendVerification: 요청 본문에 이메일 전달 (backend는 그것을 요구...

Kamo·6mo ago
FixSecurityService

Bypass JPA org lookup to avoid Hibernate cascade flush error

**************** triggers **************** which causes a Hibernate auto-flush. That flush fails because Organization.features was previously replaced with a pl...

Kamo·6mo ago
Refactorkamo-shared-library

GetOrganizationByDomain에서 eager 기능 로드 제거

특징은이 방법의 대부분의 통화자와 관련이 없습니다. (예: 등록, 로그인 도메인 해상도). setFeatures()를 통해 강제 로드 Hibernate-tracked 컬렉션을 대체하여 Cascade orphanRemoval 오류를 발생시킵니다. JPA를 통해 자연스럽게 게으른 로드를 제...

Kamo·6mo ago
Fixkamo-shared-library

Cascade orphanRemoval 오류를 피하기 위해 in-place를 수집합니다

Org.setFeatures(newList) 호출은 Hibernate-tracked persistent를 대체합니다. 수집, JpaSystemException 어떤 쿼리 트리거 자동-플래시 열린 EntityManager 세션에서 (OpenEntityManagerInView). 관련 기사...

Kamo·6mo ago
FixSecurityService

Use getReferenceById to avoid cascade orphanRemoval flush error on registration

Loading Organization via findById inside @Transactional caused Hibernate to detect the features collection was de-referenced during auto-flush, throwing JpaSyst...

Kamo·6mo ago
Fixkamo-login

이메일을 사용하여 인증은 userId, forward X-Forwarded-Host

SecurityService /register/resend-verification는 몸에 이메일을 기대합니다. userId (그 로그인 오류 응답이 포함되지 않음). 현재 위치 X-Forwarded-Host 그래서 백엔드가 올바른 조직을 해결할 수 있습니다.

Kamo·6mo ago
Featurekamo-register

매치 kamo-internal avatar 저장 - 3 크기, MinIO, 별도의 업로드 단계

Crop 대화 상자는 이제 캔버스를 통해 3 PNG blobs (50/150/350px)을 생산합니다. kamo-internal's AvatarManager에. 등록 후 userId, blobs 반환 ****************에 POSTed (새로운 unauthenticated en...

Kamo·6mo ago
FeatureSecurityService

Add register-photo endpoint for unauthenticated post-registration avatar upload

POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse aga...

Kamo·6mo ago
Featurekamo-login

EMAIL NOT VERIFIED 오류를 부자 검증 카드로 교체

로그인이 EMAIL NOT VERIFIED로 실패하면 로그인 카드가 이제 대체됩니다. 광택 "Check your inbox"화면: 애니메이션 봉투 SVG 오프닝 플랩과 부동 스파클, 마스크 이메일 디스플레이, 30초 동안 이메일 버튼 SVG 카운트다운 링, 성공/error/rate-li...

Kamo·6mo ago
Featurekamo-register

AVIF 및 SVG 형식을 지원하는 사진 업로드 확장

이미지/avif 및 이미지/svg+xml 파일 입력에 추가 목록 및 유효한 regex. hint 레이블을 업데이트하여 모든 6 형식을 나열합니다. kamo-internal 이미 image/*를 수락하므로 변경이 필요 없습니다.

Kamo·6mo ago
Featurekamo-register

React-easy-crop 사진 편집기 추가

Kamo-internal's AvatarManager의 PhotoCropDialog를 미러: - 자르기 대화 상자는 파일 선택 후 즉시 열립니다. - 드래그하여 팬, 스크롤 또는 슬라이더를 통해 급상승 (1–5×) - dashed 원형 오버레이 가이드는 작물한 지역을 보여줍니다 - 화포...

Kamo·6mo ago
FixEmailService

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.

Kamo·6mo ago
Fixkamo-register

대신 보안 프록시를 통해 업스트림 오류 몸 전달

너무 이른 반환 {error: "업스트림 오류"} 비-2xx, 잃는 실제 SecurityService의 오류 메시지. 이제 상태 코드와 몸을 직접 전달합니다.

Kamo·6mo ago
FixSecurityService

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...

Kamo·6mo ago

배송을 보는 것과 같이?

모든 것이 자신의 작업 공간에서 도착합니다. 무료 플랜을 시작하고 이 페이지를 다시 한 달에 읽으십시오.

무료 영원히 시작가격 비교