시장 데이터로드 실패에 대한 재설정 상태
- 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
Switch to Alpine 3.18 with Dovecot 2.3.20 for stable SQL auth
Dovecot 2.4 has incompatible configuration changes without clear docs Alpine 3.18 has Dovecot 2.3.20 which uses traditional well-documented syntax - mail_locati...
Replace Grid with GridLegacy for item prop in CreateLeadClient
- MUI v7 moved 'item' prop to GridLegacy component - Updated all Grid item instances to GridLegacy - Required for compatibility with MUI v7
Add missing 'email' property to Lead interface
- leadsApi.createLead expects email as a separate property - Email is also available in primaryContact.email but API needs it at Lead level - Required for lead ...
Cast customFormData to correct type in CreateLeadClient
- TypeScript was complaining about type mismatch between Record<string, Record<string, unknown>> and Record<string, CustomFormData> - Added type assertion to ma...
Remove address setting from inet_listener - not valid in Dovecot 2.4.2
The listen = * at top level handles binding to all interfaces
Add missing 'vendorLeadID' property to Lead interface
- Property exists in Java Lead bean but was missing from TypeScript interface - Required for lead creation and import functionality
Dovecot 2.4.2 config: mail location가 mail path로 변경됨
Dovecot 2.4.2에서: - mail location 은 이제 mail path (상위 설정, 블록 없음) - dovecot storage version = 2.4.2 (필수) - 메일 대신 mail path를 반환하는 SQL user query 업데이트 - echo 명령을 사용하...
Add missing 'languages' property to primaryContact in CreateLeadClient
- Contact interface requires 'languages' property - Initialize with empty array to satisfy type requirements
Use GridLegacy for Grid component with item prop in MortgageFieldsComponent
- MUI v7 moved Grid with item prop to GridLegacy - Update import to use GridLegacy to fix TypeScript error
Fix Dovecot 2.4 config syntax - use mail{} and ssl{} blocks
- Put mail_location, uid, gid settings inside mail { } block (Dovecot 2.4 requirement) - Put ssl settings inside ssl { } block - Add initContainer to create mai...
Use GridLegacy for Grid component with item prop in CustomFormFieldsComponent
- MUI v7 moved Grid with item prop to GridLegacy - Update import to use GridLegacy to fix TypeScript error
Replace all 'any' types with proper TypeScript types
- Replace Record<string, any> with Record<string, unknown> - Replace any parameter types with unknown or specific types - Remove unused imports (authenticatedFe...
엠에디터 플러그 인 참조:Echo 명령과 ConfigMap
이 문서는 YAML indentation에서 백스페이스를 선도했습니다. - echo 명령을 사용하여 dovecot.conf를 실행하지 않고 - ConfigMap에서 auth-sql.conf.ext 마운트 (whitespace 문제 없음) - ConfigMap에서 dovecot-sql.c...
Go back to args with external SQL config file - mysql blocks don't work
The mysql { } block syntax causes 'Unknown section name: mysql' error Use passdb sql { driver = sql; args = **************** } External file has correct format:...
Use Dovecot 2.4.2 format: mysql connection block + named sections with query
Found in actual examples: - sql_driver = mysql - mysql hostname { user, password, dbname } connection block - passdb sql { query = ... } with named sections - u...
Resolve compilation errors in CustomFormFieldsComponent and LeadManager
- Remove stray fragment closing tag (</>) in CustomFormFieldsComponent.tsx - Remove duplicate leadId declaration in LeadManager.tsx IdRenderer
Remove named sections - try passdb/userdb without names, use args
Error said 'Unknown section name: mysql' - the mysql block was wrong Try passdb/userdb WITHOUT names (just passdb { and userdb {) Use args = **************** Ex...
Add backend validation for required fields in lead imports
- Add validateRequiredFields method to check required fields before import - Validate email, firstName, and lastName are present - Validate mortgage-specific fi...