diff --git a/install/package.json b/install/package.json index 468c76b0b1..cd00e60504 100644 --- a/install/package.json +++ b/install/package.json @@ -108,7 +108,7 @@ "nodebb-plugin-spam-be-gone": "2.3.0", "nodebb-plugin-web-push": "0.7.2", "nodebb-rewards-essentials": "1.0.0", - "nodebb-theme-harmony": "2.0.17", + "nodebb-theme-harmony": "2.0.18", "nodebb-theme-lavender": "7.1.17", "nodebb-theme-peace": "2.2.38", "nodebb-theme-persona": "14.0.14", diff --git a/public/openapi/read/admin/config.yaml b/public/openapi/read/admin/config.yaml index 4b3fa7ffdc..2a72e6d6e1 100644 --- a/public/openapi/read/admin/config.yaml +++ b/public/openapi/read/admin/config.yaml @@ -27,6 +27,8 @@ get: type: string keywords: type: string + brand:logo: + type: string titleLayout: type: string showSiteTitle: diff --git a/public/openapi/read/config.yaml b/public/openapi/read/config.yaml index 626e590e42..d6e012bdae 100644 --- a/public/openapi/read/config.yaml +++ b/public/openapi/read/config.yaml @@ -27,6 +27,8 @@ get: type: string keywords: type: string + brand:logo: + type: string titleLayout: type: string showSiteTitle: diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js index 6fb820a946..a70a6d17f0 100644 --- a/public/src/admin/extend/plugins.js +++ b/public/src/admin/extend/plugins.js @@ -136,11 +136,13 @@ define('admin/extend/plugins', [ require(['compare-versions'], function (compareVersions) { const currentVersion = parent.find('.currentVersion').text(); - if (payload.version !== 'latest' && compareVersions.compare(payload.version, currentVersion, '>')) { + if (payload.version && payload.version !== 'latest' && compareVersions.compare(payload.version, currentVersion, '>')) { upgrade(pluginID, btn, payload.version); - } else if (payload.version === 'latest') { - confirmInstall(pluginID, function () { - upgrade(pluginID, btn, payload.version); + } else if (payload.version === 'latest' || payload.version === null) { + confirmInstall(pluginID, function (confirm) { + if (confirm) { + upgrade(pluginID, btn, payload.version); + } }); } else { bootbox.alert(translator.compile('admin/extend/plugins:alert.incompatible', app.config.version, payload.version)); diff --git a/public/src/client/topic.js b/public/src/client/topic.js index b345028812..9e78d13cad 100644 --- a/public/src/client/topic.js +++ b/public/src/client/topic.js @@ -276,9 +276,13 @@ define('forum/topic', [ const parentEl = $(this); const contentEl = parentEl.find('[component="post/parent/content"]'); if (contentEl.length) { + const isCollapsed = contentEl.hasClass('line-clamp-1'); contentEl.toggleClass('line-clamp-1'); parentEl.find('.timeago').toggleClass('hidden'); parentEl.toggleClass('flex-column').toggleClass('flex-row'); + if (isCollapsed) { + return false; + } } else { return gotoPost(e, parentEl.attr('data-topid')); } diff --git a/src/controllers/api.js b/src/controllers/api.js index d0120b692e..f55b411bfa 100644 --- a/src/controllers/api.js +++ b/src/controllers/api.js @@ -34,6 +34,7 @@ apiController.loadConfig = async function (req) { browserTitle: validator.escape(String(meta.config.browserTitle || meta.config.title || 'NodeBB')), description: validator.escape(String(meta.config.description || '')), keywords: validator.escape(String(meta.config.keywords || '')), + 'brand:logo': validator.escape(String(meta.config['brand:logo'])), titleLayout: (meta.config.titleLayout || '{pageTitle} | {browserTitle}').replace(/{/g, '{').replace(/}/g, '}'), showSiteTitle: meta.config.showSiteTitle === 1, maintenanceMode: meta.config.maintenanceMode === 1,