Remove automatic invoice verification to prevent JavaScript crashes

Removed the `useEffect` hook from `Avoirs.tsx` that automatically loaded invoice verification results. This automatic loading was identified as the cause of JavaScript crashes. Invoice verifications will now only occur when explicitly triggered by user action.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869/H30E1Dv
This commit is contained in:
michaelschal committed 2025-09-08 19:20:58 +00:00
1 parent d3e4f1e83c
commit db023f2247
3 files changed
+206 -52

No files matched your search

+2 -52
View File
@@ -566,58 +566,8 @@ export default function Avoirs() {
});
};
// Charger les résultats de vérification depuis le cache au démarrage
useEffect(() => {
const loadVerificationResults = async () => {
if (!avoirs || avoirs.length === 0) return;
const avoirsWithReferences = avoirs.filter(avoir =>
avoir.invoiceReference?.trim() &&
(avoir.group?.nocodbTableName || avoir.group?.nocodbConfigId)
);
if (avoirsWithReferences.length === 0) return;
console.log(`🔍 Chargement des résultats de vérification pour ${avoirsWithReferences.length} avoirs`);
// Charger les résultats depuis le cache en parallèle
const results = await Promise.allSettled(
avoirsWithReferences.map(async (avoir) => {
try {
const result = await apiRequest(`/api/avoirs/${avoir.id}/verify-invoice`, 'POST', {
invoiceReference: avoir.invoiceReference,
forceRefresh: false // Utiliser le cache si disponible
});
return { avoirId: avoir.id, result };
} catch (error) {
console.error(`Erreur chargement cache avoir ${avoir.id}:`, error);
return {
avoirId: avoir.id,
result: {
exists: false,
matchType: 'none',
errorMessage: 'Erreur de chargement'
}
};
}
})
);
// Appliquer les résultats chargés
const newResults: Record<number, any> = {};
results.forEach((result) => {
if (result.status === 'fulfilled') {
const { avoirId, result: verificationResult } = result.value;
newResults[avoirId] = verificationResult;
}
});
setAvoirVerificationResults(newResults);
console.log(`✅ Résultats de vérification chargés pour ${Object.keys(newResults).length} avoirs`);
};
loadVerificationResults();
}, [avoirs]); // Se déclenche quand les avoirs sont chargés
// ✅ SUPPRIMÉ : Le chargement automatique causait des crashes JavaScript
// Les vérifications se font maintenant uniquement à la demande utilisateur
// 🔥 FONCTIONS WEBHOOK MODAL (comme rapprochement)
const handleFileChange = (event: React.ChangeEvent<HTMLInputElement>) => {