Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-shared-library
Validation d'entreprise dans POSService
- createRetailOrder: contrôle nul sur demande - createLineItem: contrôle nul, quantité 0, unitéPrix 0 validation
· kamo-internal
UI de point de vente et API de niveau Entreprise
- posApi: classe POSApiError, fetchwithError, gestion structurée des erreurs - useToast et POSToast: snack-bar centralisé pour réussir/répercement d'erreur - posUtils: formatCurrency, formatDate, toCSV, downloadBlob - PipelineOrdersTap: recherche, tri, pagination, exportation CSV, chargement par squelette, notifications de toast, CTA de l'état vide, confirmation de l'ordre vide - PipelineApplicationsTab: recherche, exportation CSV, squelette, toast PipelineProductsTab: recherche, suppression du dialogue de confirmation, squelette, toast - PipelineInventoryTab: notifications de toast - PipelineDashboardTab: chargement de squelette, rafraîchissement, résumé de l'exportation, toast - PipelinePOSDomainConfigTab: toast en économiseant
· kamo-internal
Configuration de domaine POS, articles de ligne de vente au détail, onglets dynamiques de pipelines
- Ajouter getPOSConfig/updatePOSConfig to posApi, posDomainLabels utilitaires - Étendre la création d'ordonnance avec les lignesItems, ajouter getOrder, RetailOrderLineItem type - PipelineOrdersTab: création d'ordres basé sur le produit, sélecteur d'article de ligne, tiroir de détail de commande - Pipeline: onglets dynamiques de la configuration POS, titres spécifiques au domaine (commandes, applications) - PipelineDashboardTab: métriques filtrées par des domaines activés - Paramètres POS: onglet domaine avec bascules d'activation/désactive pour les DÉTAIL, MORTGAGE, LOCATION, VENDEUR, SOUS-BRIFICATION - État vide lorsqu'aucun domaine n'est activé
· SecurityService
Ajouter des contrôleurs de points de vente pour les produits de détail, les stocks et les commandes
- RetailProductContrôleur: CRUD pour les produits - RetailInventoryContrôleur: gestion des stocks - POSController : commandes et demandes d'hypothèque
· kamo-shared-library
Ajouter des entités de domaine POS/stockoires, des DTO, des pensions et des services
- Ajouter les fèves POS (vente, location, hypothèque, abonnement, vendeur) - Ajouter RetailProduct, RetailInventoryStock, Retailor, MortgageApp DTO - Ajouter RetailProductService, RetailInventoryStockService, POSService - Ajouter des référentiels pour le commerce de détail, l'hypothèque, la location, l'abonnement, le vendeur; - Mise à jour de l'EmbRecordState
· kamo-shared-library
Populiser le fournisseurRés relation avec le produit lorsqu'il s'agit de se lancer
Mise à jour getLeadsByOrganizationId() pour peupler le "Producteur de transport pour chaque chef de file qui a un fournisseurProductId. Cela garantit que le fournisseur et des données sur les produits sont disponibles pour la cartographie LeadDTO.
· kamo-internal
Améliorer le réseau principal avec les identifiants de base30, l'icône du clou, l'onglet Tous les marchés et la colonne Marché
- Ajouter la fonction toBase30() pour une représentation cohérente de l'identifiant de LeadManager et DocManager - Fixer l'icône d'état de Grim dans les onglets pour utiliser raven.ico (appariement du moteur de rendu d'état datagrid) - Ajouter l'onglet "All Markets" en tant que première option dans les onglets du marché pour afficher les pistes de tous les marchés - Ajouter la colonne Marché entre les colonnes Street et Status dans la grille de données - Mettre à jour la logique de la commercialisation pour prendre en charge l'onglet 0 en tant que "All Markets" (pas de filtre)
· kamo-shared-library
Ajouter l'état, sous-état, champ d'état, source et dateCréation
- Ajout de l'état, sous-état, source, dateCréité et est actif à l'entité chef de file - Mise à jour de LeadDTO avec des champs compatibles frontales (statut, sous-état, source, createdAt, PrimaryContact, vendeur, produit, agentAssign - Ajout de PrimaryContactDTO pour la compatibilité frontale - Ajout de crochet préPersist pour définir des valeurs par défaut pour de nouvelles pistes Ceci fixe la grille de données de page en tête montrant les colonnes vides pour le contact, l'état, sous-état d'avancement, fournisseur, produit, source, agent, champs créés et attribués.
· kamo-shared-library
Affectation du refactoriel de référence de la chaîne à l'employé
- Changement de Lead.assignedUser (String) to Lead.assignedEloyee (employé) - Ajout de l'entité d'affectation pour suivre l'historique des missions - Ajout de l'assignation endrée enum avec différents types d'affectation - Ajout de l'entité de crédit à l'encadrement pour le suivi des crédits- leads - Ajout de l'entité d'affectation des plombs pour la gestion des crédits d'affectation des chefs d'emploi - Ajout des référentiels et services correspondants - Actualisation du service pilote pour enregistrer automatiquement les affectations - Mise à jour de LeadDTO et demande d'OTD pour la nouvelle structure - Méthodes de service à l'intention des membres pour la récupération des employés par organisation - Les champs de date de la base de données utilisent désormais les valeurs par défaut de niveau DB pour la cohérence
· KlusterServices
Ajouter HTTP à l'intergiciel de redirection et IngressRoute
- Créer un middleware redirect-to-https pour les redirections permanentes - Ajouter catch-all IngressRoute sur le point d'entrée web pour rediriger tous les domaines kamocrm.com vers HTTPS - Correction des erreurs 404 lorsque les utilisateurs accèdent aux sites via HTTP au lieu de HTTPS
· KlusterServices
Ajouter la création automatique et secrète
- Créer un secret sur k1m1 et k2m1 - Secret contient MINIO-CURRENT-HOST indiquant l'instance MinIO de k0m1 (http://10.8.0.1:9000) - Fixes kamsssecurity-déploiement CreateContainerConfigFrerror
· kamo-internal
Réorganiser la présentation des formulaires pour améliorer le regroupement des champs
· kamo-internal
Repositionner Ajouter un onglet Plomb et améliorer l'onglet marché UX
· kamo-internal
Ajouter les mises à jour de l'étiquette de l'onglet en direct sur la base de l'entrée du premier/
· kamo-internal
Convertir Ajouter Bouton Lead en onglet et mettre en œuvre la persistance des données
· kamo-internal
Relèver l'interface de création de plomb avec interface basée sur le vitrage
· kamo-internal
Déplacer le bouton de lead pour filtrer la ligne et la convertir en dialogue contextuelle
· kamo-internal
Réorganiser la forme de création de plomb en élégante disposition à deux colonnes
- Filtres fractionnaires en deux colonnes : contact/informations personnelles (à gauche) et informations de chef/d'entreprise (droite) - Ajouter une séparation visuelle avec des arrière-plans, des frontières et des ombres semi-transparents - Améliorer l'organisation de la forme et la hiérarchie visuelle - Maintenir une conception réactive pour les appareils mobiles
· kamo-marketing
Permettre le turbopack pour des builds plus rapides (Next.js 16)
· kamo-register
Permettre le turbopack pour des builds plus rapides (Next.js 16)
· kamo-login
Permettre le turbopack pour des builds plus rapides (Next.js 16)
· kamo-internal
Permettre le turbopack pour des builds plus rapides (Next.js 16)
· kamo-internal
Reconfiguration du formulaire de création de plomb avec des champs de nom complets, un calibrage déroulant approprié, un champ de pays et une mise en place par téléphone améliorée
· kamo-internal
Améliorer la forme de création de leads grâce à l'interface utilisateur moderne, à la validation, à la gestion des erreurs et à l'amélioration de l'UX
· kamo-shared-library
Ajouter une assistance d'extension téléphonique à CreateLeadRequest, UpdateLeadRequest et LeadDTO
· kamo-internal
Ajouter LeadProspectType, vendeur/produit, bestContactTime, extension téléphonique/isexte, et champs de prêts hypothécaires résidentiels pour créer un formulaire de création de leads
· kamo-shared-library
Ajouter SalesSouyde champ de type à LeadMarketDTO pour la détection de champ hypothécaire
- Ajout d'un champ de sous-types de vente pour faire la distinction entre le type de vente de la société mère et les sous-types - Lorsque SaleType a un parent (par exemple, RESIDENTIAL-MORTGAGE), le type de vente devient la société mère (SERVICE) et SalesSubType devient l'enfant (RESIDENTIAL-MORTGAGE) - Cela permet à l'enfal de détecter correctement quand montrer les champs hypothécaires de LeadClaimMortgage.java
· kamo-internal
Ajouter les routes API Next.js manquantes pour les points d'extrémité de sonorisation
Ajout de l'itinéraire /api/sûreté/chefs-duleux pour GET (toutes les pistes) et POST (créer du plomb) - Ajout de l'itinéraire /api/sûreté/souvent/[id) pour les opérations GET, PUT, DELETE - Ajout de la voie à suivre pour la configuration du marché - Corrige «erreur inconnue» lors de l'accès /chef de la page en proxylant correctement les demandes d'arrière-plan
· SecurityService
Ajouter la validation du backend pour les champs requis dans les importations de plomb
- Ajouter la méthode validRequiredFields pour vérifier les champs requis avant l'importation - Valider le courrier électronique, le premier nom et le dernier nom sont présents - Valider les champs propres aux prêts hypothécaires (prêtAmount) lorsque le marché est le type de prêt hypothécaire - Sauver des lignes avec les champs requis manquants et ajouter à la liste d'erreurs - Utiliser LeadMarketService pour déterminer le type de marché à valider
· kamo-internal
Ajouter la validation pour les champs requis dans les importations de plomb
- Marquez le courrier électronique, le premier nom et le dernier nom en fonction des champs requis dans leadFields.ts - Ajouter la validation dans handleStartImport pour vérifier que tous les champs requis sont cartographiés - Ajouter la validation dans ReviewStep pour montrer les erreurs pour les cartographies de champ manquantes - Afficher les messages d'erreur faciles à utiliser lorsque les champs sont nécessaires

Votre univers vous attend.
Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.
Gratuit pour toujours — aucune carte de crédit requise