forked from FroSteel/Planification
v5.0.13 — Cache + retry
This commit is contained in:
+9
-7
@@ -684,7 +684,11 @@ async function deletePlanningItem(origin, phpsessid, actionId, kind) {
|
||||
console.log(`[bg] deletePlanningItem → tente function_name=${fn}`, url.substring(0, 180));
|
||||
|
||||
try {
|
||||
const r = await fetch(url, { method: "GET", credentials: "include" });
|
||||
// v5.0.13 : utiliser evFetch() au lieu de fetch() brut pour que les
|
||||
// headers Referer + X-Requested-With soient envoyés — sinon EV renvoie
|
||||
// un <script> de redirection CSRF qui ne ressemble pas à une erreur et
|
||||
// notre heuristique le prenait à tort pour un succès.
|
||||
const r = await evFetch(url, origin, { method: "GET" });
|
||||
const body = await r.text();
|
||||
console.log(`[bg] status=${r.status} | body (200 premiers chars) : ${(body || "").substring(0, 200)}`);
|
||||
|
||||
@@ -700,17 +704,15 @@ async function deletePlanningItem(origin, phpsessid, actionId, kind) {
|
||||
}
|
||||
|
||||
// v5.0.1 : heuristique pour détecter si la suppression a marché.
|
||||
// EasyVista renvoie typiquement :
|
||||
// - une chaine vide ou "ok" ou "1" si succès
|
||||
// - un message d'erreur / html d'erreur si function_name inconnu
|
||||
// On considère que tout ce qui n'est pas un message d'erreur évident
|
||||
// est un succès. Si plusieurs fn renvoient 200, on prend le premier.
|
||||
// v5.0.13 : élargie pour détecter aussi le script de redirection CSRF
|
||||
// (si evFetch n'a pas suffi) et les réponses vides.
|
||||
const trimmed = (body || "").trim().toLowerCase();
|
||||
const looksLikeError = trimmed.includes("error")
|
||||
|| trimmed.includes("erreur")
|
||||
|| trimmed.includes("unknown function")
|
||||
|| trimmed.includes("fonction inconnue")
|
||||
|| trimmed.includes("<html");
|
||||
|| trimmed.includes("<html")
|
||||
|| trimmed.includes("window.location.href"); // CSRF
|
||||
if (!looksLikeError) {
|
||||
console.log(`[bg] → suppression OK avec function_name=${fn}`);
|
||||
return { status: r.status, functionName: fn, body: body.substring(0, 200) };
|
||||
|
||||
Reference in New Issue
Block a user