diff --git a/www/common/diffMarked.js b/www/common/diffMarked.js index f8e006216..ccf2fc162 100644 --- a/www/common/diffMarked.js +++ b/www/common/diffMarked.js @@ -287,6 +287,23 @@ define([ return patch; }; + var removeMermaidClickables = function ($el) { + // find all links in the tree and do the following for each one + $el.find('a').each(function (index, a) { + var parent = a.parentElement; + if (!parent) { return; } + // iterate over the links' children and transform them into preceding children + // to preserve their visible ordering + slice(a.children).forEach(function (child) { + parent.insertBefore(child, a); + }); + // remove the link once it has been emptied + $(a).remove(); + }); + // finally, find all 'clickable' items and remove the class + $el.find('.clickable').removeClass('clickable'); + }; + DiffMd.apply = function (newHtml, $content, common) { var contextMenu = common.importMediaTagMenu(); var id = $content.attr('id'); @@ -364,7 +381,7 @@ define([ var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.type === 'childList') { - var list_values = [].slice.call(mutation.target.children) + var list_values = slice(mutation.target.children) .map(function (el) { return el.outerHTML; }) .join(''); mediaMap[mutation.target.getAttribute('src')] = list_values; @@ -400,7 +417,13 @@ define([ // check if you had cached a pre-rendered instance of the supplied source if (typeof(cached) !== 'object') { try { - Mermaid.init(undefined, $(el)); + var $el = $(el); + Mermaid.init(undefined, $el); + // clickable elements in mermaid don't work well with our sandboxing setup + // the function below strips clickable elements but still leaves behind some artifacts + // tippy tooltips might still be useful, so they're not removed. It would be + // preferable to just support links, but this covers up a rough edge in the meantime + removeMermaidClickables($el); } catch (e) { console.error(e); } return; } diff --git a/www/common/translations/messages.it.json b/www/common/translations/messages.it.json index 0bd465dbd..737d39f11 100644 --- a/www/common/translations/messages.it.json +++ b/www/common/translations/messages.it.json @@ -1306,7 +1306,7 @@ "team_cat_general": "Info", "properties_passwordWarning": "La password è stata cambiata ma non siamo in grado di aggiornare il tuo CryptDrive con i nuovi dati. Devi rimuovere i vecchi pad manualmente.
Premi OK per ricaricare ed aggiornare i tuoi diritti di accesso.", "share_embedCategory": "Incorporamento", - "chrome68": "Sembra che tu stia usando il browser Chrome o Chromium versione 68. Contiene un bug che si manifesta nella pagina che diventa completamente bianca dopo alcuni secondi o smette di rispondere ai clic. Per risolvere il problema puoi passare ad un'altra tab e tornare a questa, o provare a scorrere la pagina. Questo problema sarà risolto nella prossima versione del tuo browser.", + "chrome68": "Sembra che tu stia usando il browser Chrome o Chromium versione 68. Contiene un bug che si manifesta nella pagina che diventa completamente bianca dopo alcuni secondi o smette di rispondere ai clic. Per risolvere il problema puoi passare ad un'altra scheda e tornare a questa, o provare a scorrere la pagina. Questo problema sarà risolto nella prossima versione del tuo browser.", "crowdfunding_popup_text": "

Abbiamo bisogno del tuo aiuto!

Per garantire che CryptPad sia attivamente sviluppato, valuta se aiutare il progetto sulla pagina OpenCollective, dove potrai vedere la nostra Roadmap e gli obiettivi di finanziamento.", "admin_updateLimitHint": "Forzare un aggiornamento dei limiti dello spazio utente può essere fatto in qualsiasi momento, ma è necessario solo in caso di errori", "admin_flushCacheTitle": "Svuota la cache HTTP", @@ -1316,7 +1316,7 @@ "fm_info_sharedFolderHistory": "questa è solo la cronologia delle tue cartelle condivise: {0}
Il tuo CryptDrive rimarrà in sola lettura durante la navigazione.", "share_description": "Scegli cosa vuoi condividere e prendi il link o invialo direttamente ai tuoi contatti CryptPad.", "admin_supportInitHelp": "Il tuo server non è ancora configurato per avere una mailbox di supporto. Se vuoi una mailbox di supporto per ricevere messaggi dai tuoi utenti, chiedi all'amministratore del server di avviare lo script posizionato in \"./scripts/generate-admin-keys.js\", quindi salvare la chiave pubblica nel file \"config.js\" ed inviarti la chiave privata.", - "admin_supportInitPrivate": "La tua installazione CryptPad è configurata per usare una mailbox di supporto ma il tuo account non ha la chiave privata corretta per accedervi. Usa la form che segue per aggiungere o aggiornare la chiave privata del tuo account.", + "admin_supportInitPrivate": "La tua installazione CryptPad è configurata per usare una mailbox di supporto ma il tuo account non ha la chiave privata corretta per accedervi. Usa il modulo che segue per aggiungere o aggiornare la chiave privata del tuo account.", "admin_supportInitHint": "Puoi configurare una mailbox di supporto per dare agli utenti del tuo CryptPad un modo per contattarti in maniera sicura se hanno problemi con i loro account.", "admin_supportListHint": "Questa è la lista dei ticket inviati dagli utenti alla mailbox di supporto. Tutti gli amministratori possono vedere i messaggi e le risposte. Un ticket chiuso non può essere riaperto. Puoi solo rimuovere (nascondere) i ticket chiusi, ma i ticket rimossi rimangono visibili agli altri amministratori.", "requestEdit_confirm": "{1} ha richiesto la possibilità di modificare il pad {0}. Vuoi fornirgli l'accesso?",