diff --git a/www/calendar/app-calendar.less b/www/calendar/app-calendar.less index e4b5b8ea2..50c129531 100644 --- a/www/calendar/app-calendar.less +++ b/www/calendar/app-calendar.less @@ -171,13 +171,17 @@ color: @cryptpad_text_col; border-radius: @variables_radius_L; font-weight: normal; - .tui-full-calendar-icon:not(.tui-full-calendar-calendar-dot):not(.tui-full-calendar-dropdown-arrow):not(.tui-full-calendar-ic-checkbox):not(.fa-map-marker):not(.fa-align-justify) { + .tui-full-calendar-icon:not(.tui-full-calendar-calendar-dot):not(.tui-full-calendar-dropdown-arrow):not(.tui-full-calendar-ic-checkbox):not(.fa-map-marker):not(.fa-align-left) { display: none; } .tui-full-calendar-icon { text-align:center; flex-shrink: 0; } + .tui-full-calendar-calendar-dot { + margin-right: 10px; + top: 0; + } .tui-full-calendar-popup-detail-item { display: flex; margin-bottom: 0.3rem; @@ -186,8 +190,8 @@ display: flex; align-items: center; } - .fa-align-justify { - margin-top: 3px; + .fa-align-left { + margin-top: 4px; } &.tui-full-calendar-popup-detail-item-separate { &>span { @@ -203,7 +207,6 @@ } } a { - margin:0.1rem; border-radius: @variables_radius; color: @cryptpad_color_link; text-decoration: underline; @@ -321,6 +324,9 @@ font-size: inherit; line-height: inherit; } + * { + box-sizing: content-box; + } } .CodeMirror-placeholder { color: @cp_forms-placeholder; diff --git a/www/calendar/inner.js b/www/calendar/inner.js index 74b5d6d92..32ab46360 100644 --- a/www/calendar/inner.js +++ b/www/calendar/inner.js @@ -415,7 +415,7 @@ define([ var str = schedule.body; delete APP.eventBody; - let description_icon = h('i.fa.fa-align-justify.tui-full-calendar-icon', { 'aria-hidden': true }, []); + let description_icon = h('i.fa.fa-align-left.tui-full-calendar-icon', { 'aria-hidden': true }, []); let description = diffMk.render(str, true); return `${description_icon.outerHTML}
${description}
`; }, @@ -2393,6 +2393,23 @@ APP.recurrenceRule = { }); } + var privateData = metadataMgr.getPrivateData(); + $el.find('.event-description').click(e => { + if (!e.target) { return; } + var $t = $(e.target); + if (!$t.is('a') && !$t.parents('a').length) { return; } + e.preventDefault(); + var $a = $t.is('a') ? $t : $t.parents('a').first(); + var href = $a.attr('href'); + if (/^#/.test(href)) { return; } + if (/^\/[^\/]/.test(href)) { + href = privateData.origin + href; + return void common.openURL(href); + } + common.openUnsafeURL(href); + }); + console.error($el.find('.event-description'), $el); + var $section = $el.find('.tui-full-calendar-section-button'); var ev = APP.editModalData; var data = ev.schedule || {}; diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 1460046b9..af9b61f07 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -80,7 +80,9 @@ define([ var keys = []; nThen(function (waitFor) { // Not logged in? check for temp RPC keys - if (!LocalStore.isLoggedIn() && Env?.returned?.tempKeys) { + const anon = !LocalStore.isLoggedIn() + || common.neverDrive; + if (anon && Env?.returned?.tempKeys) { keys.push(Env.returned.tempKeys); return; } @@ -2672,6 +2674,7 @@ define([ Messages, AppConfig }; + common.neverDrive = rdyCfg.neverDrive; common.userHash = userHash || LocalStore.getUserHash(); // FIXME Backward compatibility diff --git a/www/common/onlyoffice/inner.js b/www/common/onlyoffice/inner.js index 73f984906..d91394fc4 100644 --- a/www/common/onlyoffice/inner.js +++ b/www/common/onlyoffice/inner.js @@ -2159,7 +2159,7 @@ define([ url: url, permissions: { download: dc?.permissions?.download || false, - print: dc?.permissions?.print || true, + print: dc?.permissions?.print !== false, protect: file.type === 'xlsx', } }, diff --git a/www/common/sframe-app-framework.js b/www/common/sframe-app-framework.js index ea7733d4e..3dbfe6cfa 100644 --- a/www/common/sframe-app-framework.js +++ b/www/common/sframe-app-framework.js @@ -670,6 +670,10 @@ define([ UI.removeLoadingScreen(emitResize); + if (integrationChannel) { + integrationChannel.event('EV_INTEGRATION_READY'); + } + if (AppConfig.textAnalyzer && textContentGetter) { AppConfig.textAnalyzer(textContentGetter, privateDat.channel); } diff --git a/www/diagram/inner.js b/www/diagram/inner.js index 76f25ac2c..40803d41d 100644 --- a/www/diagram/inner.js +++ b/www/diagram/inner.js @@ -63,9 +63,11 @@ define([ var onDrawioInit = function() { drawIoInitalized = true; - var readOnly = framework.isReadOnly() || framework.isLocked(); - var grid = readOnly ? 0 : 1; - lastContent.mxfile.diagram.mxGraphModel._grid = grid; + if (lastContent?.mxfile?.diagram?.mxGraphModel) { + let readOnly = framework.isReadOnly() || framework.isLocked(); + let grid = readOnly ? 0 : 1; + lastContent.mxfile.diagram.mxGraphModel._grid = grid; + } var xmlStr = DiagramUtil.jsonContentAsXML(lastContent); postMessageToDrawio({ action: 'load', diff --git a/www/settings/app-settings.less b/www/settings/app-settings.less index 4d856b454..ec2f0e421 100644 --- a/www/settings/app-settings.less +++ b/www/settings/app-settings.less @@ -333,6 +333,9 @@ font-size: inherit; line-height: inherit; } + * { + box-sizing: content-box; + } } .cp-markdown-toggle-button { .markdown-toolbar-button-style();