A partire dal 9 dicembre, la mia webapp PavOra (per la gestione e prenotazione di eventi) ha iniziato a presentare un grave problema di utilizzo: il passaggio da una sidebar all’altra veniva bloccato o falliva silenziosamente, rendendo l’app instabile e, in alcuni casi, inutilizzabile.
Inizialmente pensavo a un bug temporaneo. Con il passare dei giorni, però, è emerso che il comportamento era legato alle recenti modifiche di sicurezza introdotte da Google nella gestione degli iframe e della Sandbox HTML per gli add-on Apps Script.

Il problema
Le nuove politiche di sicurezza hanno reso instabile il ricaricamento completo delle sidebar, soprattutto nei casi in cui:
- si caricano più file HTML tramite
showSidebar() - si fa affidamento su template dinamici
- il rendering fallisce senza errori evidenti
Il risultato pratico?
Un’app che funzionava regolarmente ha iniziato a bloccarsi senza segnalazioni, costringendo l’utente a cliccare più volte sul menu o a riaprire la sidebar.
Gli issue ufficiali di riferimento sono:
Ad oggi, il problema non risulta risolto.
L’aggiramento temporaneo
Poiché PavOra doveva restare utilizzabile, ho applicato alcune modifiche tampone:
- la prima pagina caricata non è più quella informativa, ma quella amministrativa
- l’avvio porta direttamente alla sidebar principale di gestione eventi
- inserimento e modifica eventi non usano più
showSidebar(), ma una finestra flottanteshowModelessDialog())
Soluzione funzionante, ma scomoda: il passaggio tra interfacce restava macchinoso.
La soluzione definitiva (attuale)
Durante le vacanze natalizie ho deciso di ripensare completamente l’architettura:
- un’unica sidebar HTML
- tutte le “pagine” caricate e gestite internamente via JavaScript
- una chiamata iniziale al server per:
- recuperare strutture e permessi
- assegnare dinamicamente il ruolo utente (lettura, scrittura, admin)
Risultato:
- interfaccia stabile
- nessun ricaricamento della sidebar
- comportamento coerente anche con le nuove restrizioni di Google
Il video
Nel video allegato mostro i tre step:
- il problema
- l’aggiramento temporaneo
- la soluzione definitiva (ad oggi)
Spero che questa esperienza possa essere utile a chi sviluppa add-on o webapp su Google Apps Script e si è trovato (o si troverà) nella stessa situazione.
➤ PavOra puoi scaricarlo da GitHub: https://github.com/rainnic/PavOra