Claude 7b146aa5bc fix: Prevent undefined rendering in reasoning translations
This commit fixes React Error #306 by adding proper memoization to
prevent formatter functions from returning unstable object references
that could cause React reconciliation issues.

Root Cause:
The formatPOAction and formatBatchAction functions were being called
during render without memoization, creating new objects on every render.
This could cause React to see undefined values during reconciliation,
triggering Error #306 (text content mismatch).

Changes Made:

1. **ActionQueueCard.tsx**:
   - Added useMemo import
   - Wrapped formatPOAction result with useMemo
   - Dependencies: action.reasoning_data, action.reasoning, action.consequence, formatPOAction
   - Ensures stable object reference across renders

2. **ProductionTimelineCard.tsx**:
   - Added useMemo import
   - Wrapped formatBatchAction result with useMemo
   - Dependencies: item.reasoning_data, item.reasoning, formatBatchAction
   - Ensures stable object reference across renders

3. **useReasoningTranslation.ts**:
   - Added useCallback import from 'react'
   - Wrapped formatPOAction with useCallback
   - Wrapped formatBatchAction with useCallback
   - Both depend on [translation] to maintain stable function references
   - Prevents functions from being recreated on every render

Why This Fixes Error #306:
- useMemo ensures formatter results are only recalculated when dependencies change
- useCallback ensures formatter functions maintain stable references
- Stable references prevent React from seeing "new" undefined values during reconciliation
- Components can safely destructure { reasoning, consequence, severity } without risk of undefined

Testing:
- All formatted values now have stable references
- No new objects created unless dependencies actually change
- React reconciliation will see consistent values across renders
2025-11-07 20:24:54 +00:00
2025-11-07 14:53:36 +01:00
2025-11-06 11:04:50 +01:00
2025-11-02 20:24:44 +01:00
2025-10-31 11:54:19 +01:00
2025-07-17 14:34:24 +02:00
2025-10-19 19:22:37 +02:00
2025-09-23 12:49:35 +02:00
2025-09-27 11:18:13 +02:00
2025-11-06 11:04:50 +01:00
2025-11-05 13:34:56 +01:00

🍞 Bakery IA - Multi-Service Architecture

Welcome to Bakery IA, an advanced AI-powered platform for bakery management and optimization. This project implements a microservices architecture with multiple interconnected services to provide comprehensive bakery management solutions.

🚀 Quick Start

Prerequisites

  • Docker Desktop with Kubernetes enabled
  • Docker Compose
  • Node.js (for frontend development)

Running the Application

  1. Clone the repository:

    git clone <repository-url>
    cd bakery-ia
    
  2. Set up environment variables:

    cp .env.example .env
    # Edit .env with your specific configuration
    
  3. Run with Docker Compose:

    docker-compose up --build
    
  4. Or run with Kubernetes (Docker Desktop):

    # Enable Kubernetes in Docker Desktop
    # Run the setup script
    ./scripts/setup-kubernetes-dev.sh
    

🏗️ Architecture Overview

The project follows a microservices architecture with the following main components:

  • Frontend: React-based dashboard for user interaction
  • Gateway: API gateway handling authentication and routing
  • Services: Multiple microservices handling different business domains
  • Infrastructure: Redis, RabbitMQ, PostgreSQL databases

🐳 Kubernetes Infrastructure

🛠️ Services

The project includes multiple services:

  • Auth Service: Authentication and authorization
  • Tenant Service: Multi-tenancy management
  • Sales Service: Sales processing
  • External Service: Integration with external systems
  • Training Service: AI model training
  • Forecasting Service: Demand forecasting
  • Notification Service: Notifications and alerts
  • Inventory Service: Inventory management
  • Recipes Service: Recipe management
  • Suppliers Service: Supplier management
  • POS Service: Point of sale
  • Orders Service: Order management
  • Production Service: Production planning
  • Alert Processor: Background alert processing

📊 Monitoring

The system includes comprehensive monitoring with:

  • Prometheus for metrics collection
  • Grafana for visualization
  • ELK stack for logging (planned)

🚀 Production Deployment

For production deployment on clouding.io with Kubernetes:

  1. Set up your clouding.io Kubernetes cluster
  2. Update image references to your container registry
  3. Configure production-specific values
  4. Deploy using the production kustomization:
    kubectl apply -k infrastructure/kubernetes/environments/production/
    

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

📄 License

This project is licensed under the MIT License.

Description
Main repository for Bakery IA project - Automatically created
Readme 20 MiB
Languages
Python 56.3%
TypeScript 39.6%
Shell 2.9%
CSS 0.4%
Starlark 0.3%
Other 0.3%