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:
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user