MultipleBagFetchException 해결 및 사용자 정의 양식 지속
- 단순 CustomFormRepository 쿼리는 여러 가방 fetches를 방지 - 고정 LeadMarketService 제대로 저장 및로드 사용자 정의 양식 협회 - SaveAndFlush를 사용하여 변경 사항을 즉시 지속됩니다. - 사용자 정의 양식 저장 / 로드 프로세스를 추...
Properly 저장 및로드 사용자 정의 양식 협회 시장
- 제거된 저장소 삭제, 지금 JPA orphan 제거를 사용하여 cleanup - Clearing 전에 게으른 marketCustomForms 컬렉션을 초기화 - 수집은 사용하기 전에 updateMarket에서 초기화됩니다. - 사용자 정의 양식이 persisting 또는 로딩되지 않...
CustomFormRepository에서 MultipleBagFetchException 해결
- Simplified findByIdAndOrganizationId 쿼리를 사용하여 여러 개의 가방을 태칭 - 같은 쿼리에 스택 및 필드에 대한 제거 LEFT JOIN FETCH - 수집은 서비스 방법을 통해 거래 내에서 처음 lazily입니다. - 사용자 정의 양식으로 시장을 업데이...
Reload market after create/update to initialize lazy collections
- Updated createMarket and updateMarket to reload market using getMarketById - This ensures all lazy collections (marketCustomForms, vendorProducts) are initial...
SalesSubType을 LeadMarket 인터페이스에 추가하고 양식을 편집합니다
- SalesSubType 필드를 LeadMarket 인터페이스에 추가하여 DTO와 일치 - 업데이트된 HandleEditClick to use salesSubType from DTO when setting parent/child types - 이 하위 유형 필드를 수정할 때 팝업되지
MultipleBagFetchException을 Transactional 게으른 로딩으로 해결
- LeadMarketRepository : 여러 개의 JOIN FETCH없이 간단한 쿼리로 거꾸로 - LeadMarketService: getMarketById에 @Transactional(readOnly=true) 추가 - CustomFormService: getFormById에 @...
Field mapping interface grouping를 위한 systemFields를 이용하십시오
- FieldMappingInterface: Fixed getSystemFieldsByCategory 를 사용하여 전달된 systemFields prop 대신 default BASE SYSTEM FIELDS - FieldMappingInterface: 시스템 필드가 변경될 때 auto-...
Correct path handling for mortgage fields and custom form data in lead imports
- Fixed mortgage fields to use 2-part paths (mortgageFields.loanAmount) in setNestedFieldOnCreateRequest - Fixed custom form data to use 3-part paths **********...
게으른 로딩 문제를 해결하기 위해 저장소 쿼리에 대한 eager 로딩 추가
- CustomFormRepository : 스택 및 필드에 대한 LEFT JOIN FETCH 추가 IdAndOrganization이 - LeadMarketRepository : MarketCustomForms, customForm, 공급 업체 제품 및 공급 업체에 대한 LEFT JOI...
Make email/username login case-insensitive
- Normalize input username/email to lowercase before comparison - Use LOWER() function on database column for case-insensitive matching - Fixes issue where user...
시장 데이터로드 실패에 대한 재설정 상태
- response.ok가 false일 때 다른 구획에 있는 국가 리셋을 추가했습니다 - 선택한MarketConfig 및 customFields가 실패한 시장 부하에 명확하게 - 캐치 블록 오류 처리와 일관성 유지 - 이후 로드가 실패했을 때 사용한 stale 시장 구성 방지
구문 오류 수정 및 시장 현장 로딩에 대한 디버그 로깅 추가
- 적절한 인터페이스로 끊어지는 복잡한 유형 assertion에 있는 고정 문법 오류 - 시장 데이터, SalesSubType 및 사용자 정의 양식 로딩에 디버그 로깅 추가 - CustomFormField, CustomFormStack, CustomFormDetail 및 CustomFo...
SalesSubType for mortgage 필드 검출
- DTO 구조 (customForms 만 기본 정보가 초기에 있음)에 맞게 LeadMarket 인터페이스를 업데이트했습니다. - SalesSubType을 명확하게 하는 고정된 의견은 mortgage 탐지를 위해 사용됩니다 (salesType 아닙니다) - 사용자 정의 양식은 이미 각 ...
SalesSubType 필드를 Mortgage 필드 감지를 위한 LeadMarketDTO에 추가
- 판매SubType 필드를 추가하여 부모 SaleType과 하위 유형의 구별 - SaleType에는 부모(예, RESIDENTIAL MORTGAGE)가 있을 때, SalesType은 부모(SERVICE)와 SalesSubType이 아이(RESIDENTIAL MORTGAGE)가 됩니다....
Kamo 로고에 대한 CSS 전용 접근
CSS 배경 이미지를 사용하여 깨진 SVG 파일 마운트 제거 #logo 엘리먼트에서 외부 로고를 직접 로드
외부 Kamo 로고 URL을 참조하는 Logo.svg 수정
SVG 이미지 요소를 사용하여 외부 로고를 대신 embed 부서지는 변형의 복잡한 경로
Kamo 로고 SVG를 가진 Roundcube 로고.svg를 대체하십시오
마운트 사용자 정의 로고.svg에 **************** Roundcube 워터 마크 / 배경 로고 교체
사용자 정의 CSS 파일을 override Roundcube 워터 마크 로고에 추가
- watermark override로 custom.css 생성 - /var/www/html/custom.css에 CSS 파일을 마운트 - Extra stylesheets를 로드하는 Roundcube 구성
Watermark를 포함한 Kamo 로고로 모든 Roundcube 로고를 교체하십시오
덮개에 배열 체재에 update skin logo config: - 주요 헤더 로고 - 작은 붕괴 헤더 로고 - Inbox 워터 마크 / 배경 로고
Auto-cert SUBDOMAINS 목록에 메일 하위 도메인 추가
Mail.kamocrm.com에 대한 자동 SSL 인증서 생성 가능
Merge pull request #3834 from ****************
Bump jws from 3.2.2 to 3.2.3
인바운드 메일을 위한 hostPort를 통해 포스트픽스 포트 25 및 587 노출
K1M1에 외부 SMTP 연결을 받기를 위해 요구되는
Add missing Next.js API routes for leads endpoints
- Added /api/security/leads route for GET (all leads) and POST (create lead) - Added /api/security/leads/[id] route for GET, PUT, DELETE operations - Added ****...
Mailgun SMTP를 직접 사용하는 Roundcube 구성
아웃고 메일을 위한 로컬 Postfix를 우회, 직접 연결 smtp.mailgun.org 포트 587에 TLS
Postfix를 Alpine 기반 배포로 MySQL 지원
Postfix-mysql 패키지와 함께 Alpine 3.18을 사용하여 Dovecot와 유사한 신뢰할 수있는 MySQL 가상지도 지원을위한 실행 시간에 설치
Fix postfix command to use apt-get instead of apk
boky/postfix is Debian-based, not Alpine
Add postfix-mysql support for MySQL virtual maps
Installed postfix-mysql package at container startup to enable MySQL dictionary lookups for virtual domains/users/aliases
Add auth debugging and ensure MySQL driver packages for Dovecot
- Enable auth_debug, auth_debug_passwords, auth_verbose - Add dovecot-mysql package for proper SQL support - Add mariadb-connector-c for MySQL protocol compatib...
Add MySQL auth fix job for MariaDB client compatibility
Changes kamo user from caching_sha2_password to mysql_native_password Required for Dovecot (Alpine/MariaDB) to connect to MySQL 8
Replace Roundcube logo with Kamo logo
Added skin_logo config pointing to **************** Updated deployment annotation to trigger pod restart
Fix MySQL auth: change kamo user to mysql_native_password
Alpine's MariaDB client doesn't support caching_sha2_password plugin This prevents Dovecot from connecting to MySQL for authentication
Force Roundcube pod restart to pick up ConfigMap change
Added annotation to trigger pod recreation since ConfigMap with subPath doesn't auto-update in running pods
Remove 'name' property reference in updateLead function
- Lead interface only has 'primaryContact', not 'name' - Removed fallback to patch.name in updateLead - Completes the fix for type safety
Remove non-existent 'name' property references in leadsApi
- Lead interface only has 'primaryContact', not 'name' - Removed fallback to leadData.name in createLead and updateLead - Ensures type safety and correct API be...
Fix Roundcube redirect loop - disable force_https
Traefik handles TLS termination, so internal traffic is HTTP Setting force_https=true caused Roundcube to redirect to HTTPS internally creating an infinite redi...
Reference kamocrm.com wildcard cert in mail IngressRoute
The certificate secret is in kamo namespace, copied to mail namespace tls.secretName explicitly references wildcard-kamocrm-com
Fix mail IngressRoute to use auto-cert service
Changed tls from certResolver: letsencrypt to tls: {} This allows the auto-cert service to automatically generate certs when mail.kamocrm.com is accessed
Fix Roundcube readiness probe - use TCP socket instead of HTTP
Roundcube redirects / to login page (302), failing HTTP readiness probe TCP socket check on port 80 works correctly
Replace remaining Grid closing tags with GridLegacy in CreateLeadClient
- Fixed all remaining </Grid> tags that should be </GridLegacy> - Ensures proper closing of GridLegacy item components - Resolves JSX syntax error