[FIX] Help online: rimossa icona FontAwesome morta (fa-comment-alt) post-swap V2

- public/js/help.js: rimossa unica occorrenza <i class="fas fa-comment-alt"></i>
  (residuo non renderizzato dopo lo swap a Bootstrap Italia V2) + collassato lo
  spazio ridondante, nella guida "Come aprire una segnalazione".
- Cache-buster mirato: help.js?v=20260613 -> 20260614 su 35 pagine public/*.html
  (sibling common-bi.js/i18n.js/common.js/api.js/style.css lasciati invariati).
- public/version.json: 1.14.0 -> 1.14.1.
- Nessuna modifica a dati o schema DB. Ticket #367 (collaudo release supervisore).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
DevEnv nis2-agile
2026-06-14 13:33:29 +02:00
co-authored by Claude Opus 4.8
parent 0b32d4708f
commit dcbce3de5c
37 changed files with 37 additions and 37 deletions
+1 -1
View File
@@ -152,7 +152,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
'use strict';
const FUNC_LABELS = {
+1 -1
View File
@@ -152,7 +152,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
'use strict';
const FUNC_LABELS = {
+1 -1
View File
@@ -1078,7 +1078,7 @@
<script src="js/api.js?v=20260613"></script>
<script src="js/common.js?v=20260613d"></script>
<script src="js/i18n.js?v=20260613"></script>
<script src="js/help.js?v=20260613"></script>
<script src="js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
loadSidebar();
+1 -1
View File
@@ -154,7 +154,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -154,7 +154,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -366,7 +366,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -366,7 +366,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -343,7 +343,7 @@
<script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script>
<script src="js/common-bi.js?v=20260613"></script>
<script src="js/i18n.js?v=20260613"></script>
<script src="js/help.js?v=20260613"></script>
<script src="js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -343,7 +343,7 @@
<script>if (window.bootstrap && bootstrap.loadFonts) { bootstrap.loadFonts('vendor/bootstrap-italia/dist/fonts'); }</script>
<script src="js/common-bi.js?v=20260613"></script>
<script src="js/i18n.js?v=20260613"></script>
<script src="js/help.js?v=20260613"></script>
<script src="js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -143,7 +143,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -143,7 +143,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -1141,7 +1141,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// La guida è accessibile anche da non autenticati (utile per onboarding)
// ma se sei loggato carichi sidebar + i18n normalmente. Stessa logica
+1 -1
View File
@@ -1141,7 +1141,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// La guida è accessibile anche da non autenticati (utile per onboarding)
// ma se sei loggato carichi sidebar + i18n normalmente. Stessa logica
+1 -1
View File
@@ -351,7 +351,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -351,7 +351,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -184,7 +184,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script src="/js/isms.js"></script>
</body>
</html>
+1 -1
View File
@@ -184,7 +184,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script src="/js/isms.js"></script>
</body>
</html>
+1 -1
View File
@@ -767,7 +767,7 @@ const HelpSystem = (function () {
{
heading: 'Come aprire una segnalazione',
items: [
'Clicca il <strong>pulsante rosso</strong> <i class="fas fa-comment-alt"></i> in basso a destra — visibile su tutte le pagine quando sei autenticato.',
'Clicca il <strong>pulsante rosso</strong> in basso a destra — visibile su tutte le pagine quando sei autenticato.',
'Scegli il <strong>tipo</strong>: Bug/Errore, Miglioramento interfaccia, Nuova funzionalita\', Domanda o Altro.',
'Indica la <strong>priorita\' percepita</strong>: Alta (blocca il lavoro), Media (workaround disponibile) o Bassa (miglioria).',
'Descrivi il problema in modo dettagliato: cosa hai fatto, cosa ti aspettavi, cosa e\' successo invece.',
+1 -1
View File
@@ -150,7 +150,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script src="/js/kb.js"></script>
<script>
// Gate auth + chrome come le altre pagine -bi.
+1 -1
View File
@@ -150,7 +150,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script src="/js/kb.js"></script>
<script>
// Gate auth + chrome come le altre pagine -bi.
+1 -1
View File
@@ -112,7 +112,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
loadSidebar();
+1 -1
View File
@@ -112,7 +112,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
loadSidebar();
+1 -1
View File
@@ -333,7 +333,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -333,7 +333,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -443,7 +443,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -443,7 +443,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -494,7 +494,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -494,7 +494,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ──────────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -672,7 +672,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -672,7 +672,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth check ───────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -477,7 +477,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -477,7 +477,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -292,7 +292,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -292,7 +292,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
// ── Auth & Init ─────────────────────────────────────────
if (!checkAuth()) throw new Error('Not authenticated');
+1 -1
View File
@@ -1 +1 @@
{"version":"1.14.0","build":"2026-06-11-v1.14.0","date":"2026-06-11","changelog":"NUOVO modulo Modello Organizzativo SGSI (ISO/IEC 27001:2022): procedura guidata in 6 step (Contesto/Ambito cl.4, Leadership+RACI cl.5, Risk cl.6, Statement of Applicability, Documented Information cl.7-8, Monitoraggio cl.9-10). SoA sui 93 controlli Annex A:2022 PRE-POPOLATO dalle risposte Gap Analysis NIS2 (ogni domanda mappa un controllo ISO). Estensioni cloud condizionali ISO/IEC 27017:2015 (7 controlli CLD.*) e ISO/IEC 27018:2019 (controlli PII per processor in cloud, sinergia GDPR). Generazione bozze documenti via AI con grounding fonti certe. Backend IsmsModelController + migration 037 (tabelle SGSI) e 038 (dataset 111 controlli). Frontend isms.html/isms.js, voce sidebar, help online + traduzioni IT/EN, ingest KB ISO. Strumento di supporto/pre-audit (non certificazione). Migration DA APPLICARE su host."}
{"version":"1.14.1","build":"2026-06-14-v1.14.1","date":"2026-06-14","changelog":"Help online: rimossa icona FontAwesome residua (fas fa-comment-alt) non piu renderizzata dopo lo swap a Bootstrap Italia V2, nella guida 'Come aprire una segnalazione' (help.js). Cache-buster ?v di help.js -> 20260614 su 35 pagine. Nessuna modifica a dati o schema DB."}
+1 -1
View File
@@ -207,7 +207,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
loadSidebar();
+1 -1
View File
@@ -207,7 +207,7 @@
</script>
<script src="/js/common-bi.js?v=20260613"></script>
<script src="/js/i18n.js?v=20260613"></script>
<script src="/js/help.js?v=20260613"></script>
<script src="/js/help.js?v=20260614"></script>
<script>
if (!checkAuth()) throw new Error('Not authenticated');
loadSidebar();