Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· kamo-shared-library
Validasi Enterprise dalam POSService
- CreateRetail Order: pemeriksaan kosong pada permintaan - creatLineItem: pemeriksaan kosong, kuantitas > 0, unitPrice > = 0 validasi
· kamo-internal
Enterprise-grade POS UI and API
- posApi: POSApiError class, fetchWithError, structured error handling - useToast + POSToast: centralized snackbar for success/error feedback - posUtils: formatCurrency, formatDate, toCSV, downloadBlob - PipelineOrdersTab: search, sort, pagination, CSV export, skeleton loading, toast notifications, empty state CTA, confirm empty order - PipelineApplicationsTab: search, CSV export, skeleton, toast - PipelineProductsTab: search, delete confirmation dialog, skeleton, toast - PipelineInventoryTab: toast notifications - PipelineDashboardTab: skeleton loading, refresh, export summary, toast - PipelinePOSDomainConfigTab: toast on save
· kamo-internal
POS domain config, retail order line items, dynamic pipeline tabs
- Add getPOSConfig/updatePOSConfig to posApi, posDomainLabels utility - Extend createOrder with lineItems, add getOrder, RetailOrderLineItem type - PipelineOrdersTab: product-based order creation, line item selector, order detail drawer - Pipeline: dynamic tabs from POS config, domain-specific titles (Orders, Applications) - PipelineDashboardTab: metrics filtered by enabled domains - Settings POS: Domains tab with enable/disable toggles for RETAIL, MORTGAGE, RENTAL, VENDOR, SUBSCRIPTION - Empty state when no domains enabled
· SecurityService
Add POS controllers for retail products, inventory, and orders
- RetailProductController: CRUD for products - RetailInventoryController: inventory stock management - POSController: orders and mortgage applications
· kamo-shared-library
Tambahkan entitas domain POS / inventaris, DTOs, repos dan layanan
- Tambahkan kacang POS (ritel, sewa, hipotek, berlangganan, vendor) - Tambah Produk Retail, RetailInventoryStock, Retail Order, DTO MortgageApp - Tambahkan Retail ProductService, RetailInventoryStockService, POSService - Tambahkan repositori untuk ritel, hipotek, sewa, langganan, vendor - Perbarui Kondisi EmbRecordState
· kamo-shared-library
Populate vendorProduct relationship when taking leads
Mutakhirkan getLeadsByOrganiationId () untuk mengpopulasikan Produksi vendor @ Transient lapangan untuk setiap petunjuk yang memiliki vendorProductId. Ini menjamin vendor dan data produk tersedia untuk pemetaan LeadDTO.
· kamo-internal
Improve lead grid with base30 IDs, raven icon, All Markets tab, and Market column
- Add toBase30() function for consistent ID representation across LeadManager and DocManager - Fix Grim status icon in tabs to use raven.ico (matching the datagrid status renderer) - Add "All Markets" tab as first option in market tabs to show leads from all markets - Add Market column between Street and Status columns in datagrid - Update currentMarket logic to support tab 0 as "All Markets" (no filter)
· kamo-shared-library
Tambahkan status, subStatus, sumber, dan ruas datecreated
- Status ditambahkan, subStatus, sumber, datecreated, dan isaktif untuk memimpin entitas - Diperbarui LeadDTO dengan ruas yang kompatibel di depan (status, subStatus, sumber, created At, primary Contact, vendor, product, agentAssign) - Ditambahkan PrimaryContactDTO untuk kompabilitas antarmuka - Ditambahkan @ PrePersist hook untuk menset nilai baku untuk lead baru Ini memperbaiki jaringan data halaman lead menunjukkan kolom kosong untuk kontak, status, sub- status, vendor, produk, sumber, agen, dibuat, dan ditugaskan bidang.
· kamo-shared-library
Refactor penempatan Lead dari String ke Referensi Karyawan
- Perubahan Lead.assignedUser (String) ke Lead.assignnedEmployee (Karyawan) - Ditambah Entitas Penugasan Pemimpin untuk melacak sejarah tugas - Ditambah LeadAssignments Type enum dengan berbagai tipe penempatan - Added LeadCredit entitas untuk pelacakan kredit utama karyawan - Added LeadAllotment entitas untuk mengelola karyawan memimpin allotments - Ditambahkan repositori dan layanan yang sesuai - Update LeadService untuk merekam tugas secara otomatis - Update LeadDTO dan permintaan DTO untuk struktur baru - Ditambahkan Metode Anggota Layanan untuk mengambil karyawan oleh organisasi - Database datetime field sekarang gunakan DB-level default untuk konsistensi
· KlusterServices
Add HTTP to HTTPS redirect middleware and IngressRoute
- Create redirect-to-https middleware for permanent redirects - Add catch-all IngressRoute on web entrypoint to redirect all kamocrm.com domains to HTTPS - Fixes 404 errors when users access sites via HTTP instead of HTTPS
· KlusterServices
Add automatic *** secret creation
- Create *** secret on both k1m1 and k2m1 - Secret contains MINIO_CURRENT_HOST pointing to k0m1 MinIO instance (http://10.8.0.1:9000) - Fixes kamowssecurity-deployment CreateContainerConfigError
· kamo-internal
Reorganize form layout for better field grouping
· kamo-internal
Reposition Add Lead tab and improve market tab UX
· kamo-internal
Add live tab label updates based on first/last name input
· kamo-internal
Convert Add Lead button to tab and implement data persistence
· kamo-internal
Overhaul lead creation UI with pane-based interface
· kamo-internal
Pindahkan tombol Lead ke baris penyaring dan ubah ke dialog popup
· kamo-internal
Reorganize lead creation form into elegant two-column layout
- Split form fields into two columns: contact/personal info (left) and lead/business info (right) - Add visual separation with semi-transparent backgrounds, borders, and shadows - Improve form organization and visual hierarchy - Maintain responsive design for mobile devices
· kamo-marketing
Aktifkan Turbopack untuk membangun lebih cepat (Next.js 16)
· kamo-register
Aktifkan Turbopack untuk membangun lebih cepat (Next.js 16)
· kamo-login
Aktifkan Turbopack untuk membangun lebih cepat (Next.js 16)
· kamo-internal
Enable Turbopack for faster builds (Next.js 16)
· kamo-internal
Merancang ulang bentuk awal dengan nama lengkap, ukuran dropdown yang tepat, bidang negara, dan memperbaiki tata letak telepon
· kamo-internal
Enchance lead form with modern UI, validasi, error handling, and improved UX
· kamo-shared-library
Tambahkan dukungan ekstensi telepon ke CreateLeadRequest, UpdateLeadRequest, dan LeadDTO
· kamo-internal
Tambahkan LeadProspectType, vendor / product, kontak terbaik Waktu, ekstensi telepon / isText, dan daerah hipotek perumahan untuk memimpin bentuk pembuatan
· kamo-shared-library
Tambahkan ruas salesman SubType ke LeadMarketDTO untuk deteksi ruas hipotek
- Ditambahkan field salesman SubType untuk membedakan antara tipe SaleType induk dan sub - Ketika SaleType memiliki orangtua (misalnya, RESIDENTIAL _ MORTGAGE), tipe salesman menjadi orang tua (SERVICE) dan tipe penjual menjadi anak (RESIDENTAAL _ MORTGING) - Hal ini memungkinkan frontend benar mendeteksi kapan untuk menunjukkan bidang hipotek dari LeadClamMortgage. java
· kamo-internal
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 **************** route for market configuration - Fixes 'Unknown error' when accessing /leads page by properly proxying requests to backend
· SecurityService
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 fields (loanAmount) when market is mortgage type - Skip rows with missing required fields and add to error list - Use LeadMarketService to determine market type for validation
· kamo-internal
Add validation for required fields in lead imports
- Mark email, firstName, and lastName as required fields in leadFields.ts - Add validation in handleStartImport to check all required fields are mapped - Add validation in ReviewStep to show errors for missing required field mappings - Display user-friendly error messages when required fields are missing

Alam semestamu menunggu.
Mulai gratis dalam beberapa menit. Tambahkan produk kapanpun Anda siap — tidak ada migrasi, tidak ada login baru.
Gratis selamanya — tidak diperlukan kartu kredit