チェンジログ
何が新しいの?
プラットフォームのすべての改良 それが出荷される
· kamo-shared-library
POSServiceのエンタープライズ検証
- createRetailOrder: リクエストの null チェック - createLineItem: null チェック、数量 > 0、単価 >= 0 検証
· 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
POS/インベントリドメインエンティティティ、DTO、リポジトリ、サービスを追加
- POS 豆を追加(小売、レンタル、住宅ローン、サブスクリプション、ベンダー) - 小売製品、小売在庫、小売注文、MortgageApp DTOを追加 - リテール製品サービス、リテール在庫サービス、POSサービスを追加 - 小売、住宅ローン、レンタル、サブスクリプション、ベンダーのリポジトリを追加します。 - EmbRecordStateの更新
· kamo-shared-library
リード獲得時にvendorProductリレーションを生成
GetLeadsByOrganizationId() をアップデートして @Transient ベンダーを出力します。 vendorProductId を持つ各リードのフィールド。 これはベンダーを確実にします リードDTOマッピングでは、製品データが利用できます.
· 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
ステータス、サブステータス、ソース、日付作成フィールドの追加
- ステータス、サブStatus、ソース、DateCreated、およびisActiveフィールドをリードエンサー - フロントエンド互換フィールド(status、subStatus、ソース)でリードDTOを更新 createAt、PrimeContact、ベンダー、製品、agentAssigned - フロントエンドの互換性のためのプライマリContactDTOを追加 - 新しいリードのデフォルト値を設定する @PrePersist ホックを追加しました これは、連絡先、ステータスの空の列を示すリードページのデータグリッドを修正します。 サブスタタス、ベンダー、製品、ソース、エージェント、作成、および割り当てられたフィールド.
· kamo-shared-library
文字列から従業員への参照へのレファクタリード割り当て
- Lead.assignedUser(String)をLead.assignedEmployee(Employee)に変更 - 代入履歴を追跡するためにLeadAssignmentのエンティティティティを追加 - 様々な代入タイプでLeadAssignmentType列を追加 - 従業員のリードクレジットを追跡するためのLeadCreditエンティティティを追加 - 従業員のリード割り当てを管理するためのLeadAllotmentエンティティティを追加 - 関連するリポジトリとサービスを追加 - 自動的に記録の割り当てにLeadServiceを更新して下さい - 新しい構造のためのリードDTOおよび要求DTOを更新して下さい - 組織による従業員の取得のためのMemberServiceメソッドを追加 - データベースの日付フィールドは、一貫性のためにDBレベルのデフォルトを使用します
· 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
Add リードボタンを押して行をフィルタリングし、ポップアップダイアログに変換する
· 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
Turbopackを有効にしてビルドを高速化 (Next.js 16)
· kamo-register
Turbopackを有効にしてビルドを高速化 (Next.js 16)
· kamo-login
Turbopackを有効にしてビルドを高速化 (Next.js 16)
· kamo-internal
Enable Turbopack for faster builds (Next.js 16)
· kamo-internal
完全な名前のフィールド、適切なドロップダウンサイジング、国フィールド、および改善された電話レイアウトでリード作成フォームを再設計する
· kamo-internal
現代のUI、検証、エラー処理、およびUXの改善によるリード作成フォームを強化
· kamo-shared-library
CreateLeadRequest、UpdateLeadRequest、およびLeadDTOに電話延長サポートを追加する
· kamo-internal
Add LeadProspectType、ベンダー/製品、bestContact タイム、電話の延長/isText、および住宅の住宅の住宅の住宅の住宅地は作成形態を導きます
· kamo-shared-library
SalesSubType フィールドを、Mortgage フィールド検出用の LeadMarketDTO に追加
- 親販売タイプとサブタイプを区別するために、SalesSubType フィールドを追加 - SaleTypeに親(例、RESIDENTIAL MORTGAGE)がある場合、salesTypeは親(SERVICE)となり、販売サブタイプは子供(RESIDENTIAL MORTGAGE)になります - これにより、フロントエンドは、LeadClaimMortgageからモーゲージフィールドを表示するときに正しく検出することができます。 ログイン
· 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
