From 96d987b1463cad797f0d250b135be1a59f2a1a28 Mon Sep 17 00:00:00 2001 From: Simon Fayer Date: Fri, 22 May 2026 16:46:53 +0100 Subject: [PATCH 1/5] fix: Correct logic in time selection --- .../WebApp/static/core/js/utils/DiracTimeSearchPanel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/WebAppDIRAC/WebApp/static/core/js/utils/DiracTimeSearchPanel.js b/src/WebAppDIRAC/WebApp/static/core/js/utils/DiracTimeSearchPanel.js index 1c2a6dc54..2ebc3d4b7 100644 --- a/src/WebAppDIRAC/WebApp/static/core/js/utils/DiracTimeSearchPanel.js +++ b/src/WebAppDIRAC/WebApp/static/core/js/utils/DiracTimeSearchPanel.js @@ -230,7 +230,7 @@ Ext.define("Ext.dirac.utils.DiracTimeSearchPanel", { var iSpanValue = me.cmbTimeSpan.getValue(); - if (iSpanValue == null && iSpanValue == 0) { + if (iSpanValue == null || iSpanValue == 0) { sStartDate = null; sStartTime = null; sEndDate = null; From 06c20ee809a0e7aece0ebd2743dd5216538134a1 Mon Sep 17 00:00:00 2001 From: Simon Fayer Date: Fri, 22 May 2026 16:56:14 +0100 Subject: [PATCH 2/5] fix: Hide top-level scrollbar on wrongly sized panels --- src/WebAppDIRAC/WebApp/static/core/js/views/tabs/TabPanel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/WebAppDIRAC/WebApp/static/core/js/views/tabs/TabPanel.js b/src/WebAppDIRAC/WebApp/static/core/js/views/tabs/TabPanel.js index a6c7e6016..8477bf6ce 100644 --- a/src/WebAppDIRAC/WebApp/static/core/js/views/tabs/TabPanel.js +++ b/src/WebAppDIRAC/WebApp/static/core/js/views/tabs/TabPanel.js @@ -21,7 +21,7 @@ Ext.define("Ext.dirac.views.tabs.TabPanel", { renderTo: Ext.getBody(), defaults: { bodyPadding: 0, - scrollable: true, + scrollable: false, }, bodyStyle: { background: "#AAAAAA", From 5d12f53770c0b6b9f0affebf50cb40797573b1e0 Mon Sep 17 00:00:00 2001 From: Simon Fayer Date: Tue, 26 May 2026 14:39:48 +0100 Subject: [PATCH 3/5] fix: Replace http with https, drop iframe --- .pre-commit-config.yaml | 2 +- .../WebApp/static/core/js/views/tabs/RightContainer.js | 4 +++- src/WebAppDIRAC/WebApp/web.cfg | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0ab2524d1..6cbba4f24 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -38,7 +38,7 @@ repos: - id: eslint additional_dependencies: - eslint@8.0.1 - - http://diracproject.web.cern.ch/diracproject/externalLibraries/@sencha_eslint-plugin-extjs.7.0.0.tgz + - https://diracproject.web.cern.ch/diracproject/externalLibraries/@sencha_eslint-plugin-extjs.7.0.0.tgz - repo: https://github.com/ikamensh/flynt/ rev: "0.77" diff --git a/src/WebAppDIRAC/WebApp/static/core/js/views/tabs/RightContainer.js b/src/WebAppDIRAC/WebApp/static/core/js/views/tabs/RightContainer.js index bfc98f1b5..0c2e33680 100644 --- a/src/WebAppDIRAC/WebApp/static/core/js/views/tabs/RightContainer.js +++ b/src/WebAppDIRAC/WebApp/static/core/js/views/tabs/RightContainer.js @@ -97,10 +97,12 @@ Ext.define("Ext.dirac.views.tabs.RightContainer", { layout: "fit", closable: false, xtype: "component", + /* autoEl: { tag: "iframe", - src: "http://diracgrid.org", + src: "https://diracgrid.org", }, + */ }); }, getStateData: function () { diff --git a/src/WebAppDIRAC/WebApp/web.cfg b/src/WebAppDIRAC/WebApp/web.cfg index f28c78966..615f56ce1 100644 --- a/src/WebAppDIRAC/WebApp/web.cfg +++ b/src/WebAppDIRAC/WebApp/web.cfg @@ -39,7 +39,7 @@ WebApp Schema { - Help = link|http://dirac.readthedocs.io/en/latest/UserGuide/index.html + Help = link|https://dirac.readthedocs.io/en/latest/UserGuide/index.html Tools { Application Wizard = DIRAC.ApplicationWizard @@ -71,7 +71,7 @@ WebApp #ExampleApp = DIRAC.ExampleApp } - DIRAC = link|http://diracgrid.org + DIRAC = link|https://diracgrid.org } } From c37b81d193c57ecd04d42659a9767ab9c9a5b26e Mon Sep 17 00:00:00 2001 From: Simon Fayer Date: Wed, 27 May 2026 18:03:25 +0100 Subject: [PATCH 4/5] fix: Add default websocket ping keepalive --- src/WebAppDIRAC/Core/App.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/WebAppDIRAC/Core/App.py b/src/WebAppDIRAC/Core/App.py index cce986444..0d7de6e0b 100644 --- a/src/WebAppDIRAC/Core/App.py +++ b/src/WebAppDIRAC/Core/App.py @@ -102,6 +102,7 @@ def bootstrap(self): cookie_secret=str(Conf.cookieSecret()), log_function=self._logRequest, autoreload=Conf.numProcesses() < 2, + websocket_ping_interval=15, ) # please do no move this lines. The lines must be before the fork_processes From 5766ea87e1f62d829a76e56fd61ce58cb6442dc9 Mon Sep 17 00:00:00 2001 From: Simon Fayer Date: Fri, 29 May 2026 12:53:47 +0100 Subject: [PATCH 5/5] fix: Lower log level for KeyError in bulk config get --- .../WebApp/handler/ConfigurationManagerHandler.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/WebAppDIRAC/WebApp/handler/ConfigurationManagerHandler.py b/src/WebAppDIRAC/WebApp/handler/ConfigurationManagerHandler.py index e47a144ff..b07f4a67a 100644 --- a/src/WebAppDIRAC/WebApp/handler/ConfigurationManagerHandler.py +++ b/src/WebAppDIRAC/WebApp/handler/ConfigurationManagerHandler.py @@ -103,8 +103,11 @@ def __getSubnodesForPath(self, sectionPath, retData): sectionCfg = self.__configData["cfgData"].getCFG() for section in [section for section in sectionPath.split("/") if not section.strip() == ""]: sectionCfg = sectionCfg[section] - except Exception as v: - self.log.exception("Section does not exist", f"{sectionPath} -> {v!r}") + except KeyError as err: + self.log.info("Client requested non-existent section", f"{sectionPath} -> {err!r}") + return False + except Exception as err: + self.log.exception("Error loading config section", f"{sectionPath} -> {err!r}") return False for entryName in sectionCfg.listAll():