fix(licence): le refus de la 2e couche ne s'affiche plus avant connexion

Avant toute session, le 404 generique ne peut venir que de la 2e couche :
les routes appelees a ce stade existent toutes, et leurs vraies erreurs
portent un autre texte. api() vide son message, toast() ignore un message
vide — qui a rapiece la 1re couche ne voit rien.

Apres connexion rien ne change : pieces jointes et dossiers renvoient un
404 'Not found' legitime qu'il faut montrer. Prix assume : une route
perdue par un build casse echouerait aussi en silence avant connexion.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-17 05:57:16 +01:00
parent 7582450454
commit 9de3cde6da
+11
View File
@@ -842,6 +842,15 @@ async function api(path, opts) {
const err = new Error(body.error || ('HTTP ' + r.status));
err.status = r.status;
err.body = body || {};
// LE REFUS DE LA 2e COUCHE DE LICENCE NE S'AFFICHE PAS. Avant toute
// session, le 404 generique ne peut venir que d'elle (voir PM.Router) :
// les routes qu'on appelle a ce stade existent toutes, et leurs vraies
// erreurs portent un autre texte. On le vide, et toast() ignore un
// message vide — qui aurait rapiece la 1re couche ne voit rien.
// APRES connexion on n'y touche pas : pieces jointes et dossiers
// renvoient aussi un 404 'Not found' legitime qu'il faut montrer.
if (r.status === 404 && err.message === 'Not found' && !state.token)
err.message = '';
throw err;
}
return body;
@@ -1134,6 +1143,8 @@ function showLockoutCountdown(seconds) {
// ============================================================
function toast(msg, type) {
// Une bulle vide n'informe de rien ; api() vide expres certains messages.
if (!msg) return;
type = type || 'success';
const container = $('#toastContainer');
const t = document.createElement('div');