diff --git a/js/app.js b/js/app.js index c28c23e..8acb4d3 100644 --- a/js/app.js +++ b/js/app.js @@ -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');