Changelog
Cosa c'è di nuovo.
Ogni miglioramento alla piattaforma, come si spedisce.
· kamo-shared-library
Validazione Enterprise in POSService
- creareRetailOrder: null check su richiesta - creareLineItem: null check, quantità > 0, unitàPrezzo >= 0 validazione
· 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
Aggiungi entità di dominio POS/Inventory, DTO, repos e servizi
- Aggiungi fagioli POS (coda, noleggio, mutuo, abbonamento, venditore) - Aggiungi RetailProduct, RetailInventoryStock, RetailOrder, MortgageApp DTOs - Aggiungi RetailProductService, RetailInventoryStockService, POSService - Aggiungi repository per vendita al dettaglio, ipoteca, noleggio, abbonamento, fornitore - Aggiornamento EmbRecordState
· kamo-shared-library
Populate vendorProduct relazione quando la cattura conduce
Aggiornare getLeadsByOrganizationId() per popolare il fornitore @TransientProduct campo per ogni piombo che ha un fornitoreProductId. Questo assicura il venditore e i dati del prodotto sono disponibili per la mappatura 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
Aggiungi stato, substatus, sorgente e dataCambiamenti
- Aggiunto stato, substatus, fonte, dataCreated, ed ècampi attivi per Lead entità - LeadDTO aggiornato con campi compatibili con frontend (status, substatus, sorgente, creatoAt, primarioContatto, fornitore, prodotto, agenteAssegnato) - Aggiunto PrimaryContactDTO per la compatibilità di frontend - Aggiunto @PrePersist gancio per impostare i valori di default per i nuovi cavi Questo risolve la griglia di dati della pagina dei lead che mostra colonne vuote per il contatto, lo stato, sotto-status, fornitore, prodotto, fonte, agente, creato e assegnato campi.
· kamo-shared-library
Refactor Lead: String to Employee reference
- Cambiato Lead.assignedUser (String) a Lead.assignedEmployee (Employee) - Aggiunto LeadAssignment entità per tracciare la storia di assegnazione - Aggiunto LeadAssignmentTipo enum con vari tipi di assegnazione - Aggiunto LeadCredit entità per il monitoraggio dei crediti di piombo dei dipendenti - Aggiunto LeadAllotment entità per la gestione degli assegni di piombo dei dipendenti - Aggiunto repository e servizi corrispondenti - Aggiornato LeadService per registrare automaticamente le assegnazioni - Aggiornato LeadDTO e richiesta DTO per la nuova struttura - Aggiunti metodi MemberService per il recupero dei dipendenti da parte dell'organizzazione - I campi datatime della banca dati ora utilizzano i default del livello DB per la consistenza
· 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
Spostare Aggiungi piombo pulsante per filtrare la riga e convertire in popup finestra di dialogo
· 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
Abilitare Turbopack per le costruzioni più veloci (Next.js 16)
· kamo-register
Abilitare Turbopack per le costruzioni più veloci (Next.js 16)
· kamo-login
Abilitare Turbopack per le costruzioni più veloci (Next.js 16)
· kamo-internal
Enable Turbopack for faster builds (Next.js 16)
· kamo-internal
Ridisegnare il modulo di creazione del piombo con campi di nome completo, dimensionamento a discesa corretto, campo di campagna e layout del telefono migliorato
· kamo-internal
Migliorare il modulo di creazione del piombo con l'interfaccia utente moderna, la validazione, la gestione degli errori e UX migliorato
· kamo-shared-library
Aggiungi supporto estensione del telefono per CreateLeadRequest, UpdateLeadRequest e LeadDTO
· kamo-internal
Aggiungi LeadProspectType, fornitore / prodotto, bestContact Tempo, estensione del telefono / isText, e campi ipotecari residenziali per condurre il modulo di creazione
· kamo-shared-library
Aggiungi venditeSubType campo a LeadMarketDTO per il rilevamento del campo ipotecario
- Aggiunto il campo di venditaSubType per distinguere tra genitore SaleTipo e sotto-tipi - Quando SaleType ha un genitore (ad esempio, RESIDENTIAL MORTGAGE), le venditeTipo diventa il genitore (SERVICE) e le venditeSubType diventa il bambino (RESIDENTIAL MORTGAGE) - Questo permette a frontend di rilevare correttamente quando mostrare i campi ipotecari da LeadClaimMortgage. Gia'
· 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

Il tuo universo ti sta aspettando.
Aggiungi i prodotti quando sei pronto: nessuna migrazione, nessun nuovo login, nessuna richiesta di pagamento.
Gratis per sempre — nessuna carta di credito richiesta