Files
LogiFlow/PRODUCTION-ERROR-502-FIX.md
T
michaelschal 687a1b41d4 Fix calendar errors and improve order delivery status handling
Adds TypeScript type annotations to the calendar component and refactors the order update logic to use fetch directly, improving robustness and addressing production errors.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: a8a78c07-e900-425c-a577-5b4c5894379d
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/a8a78c07-e900-425c-a577-5b4c5894379d/KuIk8gU
2025-08-11 20:55:33 +00:00

3.1 KiB

Correction des Erreurs 502 - Production

Problème Identifié

  • Erreurs 502 (Bad Gateway) lors des appels API /api/deliveries et /api/orders
  • CMD-55 n'apparaît pas en gris dans le calendrier
  • Erreurs TypeScript dans le code du calendrier

Solutions

1. Vérification du Serveur Backend

Vérifiez que votre serveur Node.js fonctionne :

# Vérifier le processus
ps aux | grep node

# Vérifier les logs du serveur
tail -f /path/to/your/server/logs

# Vérifier si le port est écouté
netstat -tlnp | grep :YOUR_PORT

2. Redémarrage du Serveur

# Via PM2
pm2 restart your-app-name
pm2 logs your-app-name

# Via systemctl
sudo systemctl restart your-node-service
sudo systemctl status your-node-service

# Via Docker
docker-compose restart
docker-compose logs -f

3. Vérification de la Configuration Proxy/Nginx

Si vous utilisez un proxy inverse (Nginx), vérifiez la configuration :

location /api/ {
    proxy_pass http://localhost:YOUR_NODE_PORT/api/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_cache_bypass $http_upgrade;
    proxy_read_timeout 86400;
}

4. Correction SQL Directe pour CMD-55

Pendant que vous résolvez les erreurs 502, corrigez CMD-55 directement :

-- Connexion à votre base
psql -h your-host -U your-user -d your-database

-- Correction CMD-55
UPDATE orders 
SET status = 'delivered'
WHERE id = 55 
  AND status != 'delivered'
  AND EXISTS (
    SELECT 1 FROM deliveries d 
    WHERE d."orderId" = 55 
    AND d.status = 'delivered'
  );

-- Vérifier le résultat
SELECT o.id, o.status, COUNT(d.id) as deliveries, 
       COUNT(CASE WHEN d.status = 'delivered' THEN 1 END) as delivered_deliveries
FROM orders o
LEFT JOIN deliveries d ON o.id = d."orderId"
WHERE o.id = 55
GROUP BY o.id, o.status;

5. Test des API manuellement

# Tester l'API orders
curl -X GET "http://your-server.com/api/orders" \
  -H "Cookie: your-session-cookie"

# Tester l'API deliveries  
curl -X GET "http://your-server.com/api/deliveries" \
  -H "Cookie: your-session-cookie"

Actions Prioritaires

  1. Immédiat : Exécuter la correction SQL pour CMD-55
  2. Urgent : Redémarrer votre serveur Node.js
  3. Important : Vérifier les logs pour identifier la cause des 502

Diagnostic des Logs

Recherchez dans vos logs :

# Erreurs Node.js
grep -i "error\|crash\|exception" /path/to/logs

# Erreurs de base de données
grep -i "database\|postgres\|connection" /path/to/logs

# Erreurs de mémoire
grep -i "memory\|heap" /path/to/logs

Résultat Attendu

Après correction :

  • Les API /api/orders et /api/deliveries répondent sans erreur 502
  • CMD-55 apparaît en gris dans le calendrier
  • Le bouton "Sync Status" fonctionne correctement

Note : La correction SQL de CMD-55 peut être appliquée immédiatement, indépendamment de la résolution des erreurs 502.