mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-17 04:06:44 +02:00
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:
1 parent
d3e4f1e83c
commit
db023f2247
3 files changed
+206
-52
No files matched your search
@@ -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>) => {
|
||||
|
||||
Reference in new issue
Block a user