From 9e92ace6f2f9fe470d0e33673ac76c8efd4bc8c8 Mon Sep 17 00:00:00 2001 From: Gerard Alvear Porras <55630227+Elgeryy1@users.noreply.github.com> Date: Tue, 21 Jul 2026 17:45:36 +0200 Subject: [PATCH] Fix extension settings cancel action (#9053) Closes #3662. Closes the extension settings slider when its reset/cancel control is used while preserving unsaved-change confirmation. --------- Co-authored-by: Gerard Alvear --- app/views/helpers/extension/configure.phtml | 2 +- p/scripts/extra.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/views/helpers/extension/configure.phtml b/app/views/helpers/extension/configure.phtml index b714eb553..d0ed528bb 100644 --- a/app/views/helpers/extension/configure.phtml +++ b/app/views/helpers/extension/configure.phtml @@ -8,7 +8,7 @@ throw new FreshRSS_Context_Exception('Extension not initialised!'); } ?> -
+

extension->getName() ?> (extension->getVersion() ?>) — extension->isEnabled() ? _t('admin.extensions.enabled') : _t('admin.extensions.disabled') ?> diff --git a/p/scripts/extra.js b/p/scripts/extra.js index cc6f767a8..6bb0c679e 100644 --- a/p/scripts/extra.js +++ b/p/scripts/extra.js @@ -387,6 +387,11 @@ function init_slider(slider) { document.getElementById('close-slider').addEventListener('click', close_slider_listener); document.querySelector('#slider .toggle_aside').addEventListener('click', close_slider_listener); + slider.addEventListener('click', ev => { + if (ev.target.closest('.extension-configure button[type="reset"], .extension-configure input[type="reset"]') && close_slider_listener(ev)) { + location.hash = 'close'; + } + }); if (slider.children.length > 0) { const slider_scrollTop = sessionStorage.getItem('FreshRSS_slider_scrollTop');