Changelog
O que há de novo.
Cada melhoria para a plataforma, como ele envia.
· kamo-shared-library
Validação empresarial em POSService
- createRetailOrder: null check a pedido - createLineItem: verificação nula, quantidade > 0, unidadePreço >= 0 validação
· 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
Adicionar entidades de domínio POS/inventário, DTOs, acordos de recompra e serviços
- Adicionar feijão POS (retalho, aluguer, hipoteca, subscrição, fornecedor) - Adicionar Produto Varejo, VarejoInventárioStock, VarejoOrder, HipotecaApp DTOs - Adicionar serviço de produto de varejo, varejoInventoryStockService, POSService - Adicionar repositórios para varejo, hipoteca, aluguel, assinatura, fornecedor - Actualizar o Estado de EmbRecord
· kamo-shared-library
Popular a relação do fornecedorProduto ao obter leads
Atualizar getLeadsByOrganizaçãoId() para povoar o @Transient sellerProduct campo para cada chumbo que tem um fornecedorProductId. Isso garante o fornecedor e os dados do produto estão disponíveis para o mapeamento 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
Adicionar status, subStatus, código fonte e dataCriados campos
- Adicionado status, subStatus, fonte, dataCriada e isCampos ativos para a entidade Líder - Actualizado LeadDTO com campos compatíveis com frontend (status, subStatus, fonte, criadoAt, primárioContato, fornecedor, produto, agenteAtribuído) - Adicionado PrimaryContactDTO para compatibilidade com frontend - Adicionado @PrePersist gancho para definir valores padrão para novos leads Isto corrige a grelha de dados das páginas que mostra colunas vazias para contacto, estado, sub-status, fornecedor, produto, fonte, agente, criado e campos atribuídos.
· kamo-shared-library
Refactor Lead assignation from String to Employee reference
- Changed Lead.asignedUser (String) to Lead.asigned Employee (Empregado) - Adicionado entidade LeadAssignment para rastrear histórico de atribuição - Adicionado LeadAssignmentType enum com vários tipos de atribuição - Entidade LeadCredit adicionada para rastrear créditos de liderança de funcionários - entidade LeadLotment adicionada para gerenciar lootments de liderança de funcionários - Adicionados repositórios e serviços correspondentes - Updated LeadService para gravar atribuições automaticamente - Atualizado LeadDTO e solicitar DTOs para a nova estrutura - Adicionado MemberService métodos para recuperar empregados por organização - Os campos datatime do banco de dados agora usam padrões de nível DB para consistência
· 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
Mover Adicionar botão Lead para filtrar a linha e converter para a janela de contexto
· 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
Habilite o Turbopack para construções mais rápidas (Next.js 16)
· kamo-register
Habilite o Turbopack para construções mais rápidas (Next.js 16)
· kamo-login
Habilite o Turbopack para construções mais rápidas (Next.js 16)
· kamo-internal
Enable Turbopack for faster builds (Next.js 16)
· kamo-internal
Reprojete o formulário de criação de leads com campos de nomes completos, dimensionamento de dropdown adequado, campo de campo e layout melhorado do telefone
· kamo-internal
Melhore o formulário de criação de leads com UI moderna, validação, manipulação de erros e UX melhorada
· kamo-shared-library
Adicione suporte de extensão de telefone ao CreateLeadRequest, UpdateLeadRequest e LeadDTO
· kamo-internal
Adicionar LeadProspectType, fornecedor/produto, melhor contato Tempo, extensão do telefone / isText, e campos hipotecários residenciais para liderar a forma de criação
· kamo-shared-library
Adicionar campo de vendasSubType ao LeadMarketDTO para detecção de campo hipotecário
- Vendas adicionadasCampo SubType para distinguir entre SaleType e subtipos - Quando SaleType tem um pai (por exemplo, RESIDENCIAL MORTGAGE), salesType torna-se o pai (SERVICE) e salesSubType torna-se o filho (RESIDENCIAL MORTGAGE) - Isso permite frontend detectar corretamente quando mostrar campos de hipoteca de LeadClaimMortgage. 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

Seu universo está esperando.
Comece gratuitamente em minutos.Adicione produtos sempre que estiver pronto — sem migração, sem novos logins.
Gratuito para sempre — não é necessário cartão de crédito