Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openQA for openSUSE:Factory checked 
in at 2026-02-10 21:13:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.1670 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Tue Feb 10 21:13:22 2026 rev:805 rq:1332256 version:5.1770718745.ce2072d3

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2026-02-06 
19:15:14.488451784 +0100
+++ /work/SRC/openSUSE:Factory/.openQA.new.1670/openQA.changes  2026-02-10 
21:14:08.279875913 +0100
@@ -1,0 +2,25 @@
+Tue Feb 10 13:08:35 UTC 2026 - [email protected]
+
+- Update to version 5.1770718745.ce2072d3:
+  * feat(ui): use clickable test overview summary counts for quick filtering
+  * build(Makefile): fix uninterruptable tests
+  * docs: Mention caveats of `…_cleanup_max_free_percentage` setting
+  * test(25-cache-service): fix race conditions
+  * test(ui/21-admin-needles): properly wait for modal dialog and deletion
+  * test(ui/13-admin): properly wait for API key deletion
+  * test(40-openqa-clone-job): properly isolate from system config
+  * test(15-asset): bump timeout to current runtime
+  * chore: fix CVE-2026-25547 (boo#1257852) by overriding minimatch
+  * build(deps-dev): bump @eslint from 9.36.0 to 9.38.0
+  * fix(eslint): correct style to be eslint-9.38 compliant
+  * build(deps-dev): bump @eslint-community/regexpp from 4.12.1 to 4.12.2
+  * build(deps-dev): bump @eslint/config-array from 0.21.0 to 0.21.1
+  * build(deps-dev): bump @eslint/object-schema from 2.1.6 to 2.1.7
+  * refactor: Improve variable names in function to determine expired jobs
+  * test: Improve name of subtest for archiving
+  * test: Verify that archiving works regardless of logs/results present
+  * Dependency cron 2026-02-06
+  * Bump js-yaml from 4.1.0 to 4.1.1
+  * build(deps): bump ace-builds from 1.43.3 to 1.43.4
+
+-------------------------------------------------------------------

Old:
----
  openQA-5.1770308102.12dfd0e4.obscpio

New:
----
  openQA-5.1770718745.ce2072d3.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.jidnWz/_old  2026-02-10 21:14:09.327919829 +0100
+++ /var/tmp/diff_new_pack.jidnWz/_new  2026-02-10 21:14:09.331919996 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1770308102.12dfd0e4
+Version:        5.1770718745.ce2072d3
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.jidnWz/_old  2026-02-10 21:14:09.367921505 +0100
+++ /var/tmp/diff_new_pack.jidnWz/_new  2026-02-10 21:14:09.367921505 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-devel
 Name:           %{short_name}-test
-Version:        5.1770308102.12dfd0e4
+Version:        5.1770718745.ce2072d3
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.jidnWz/_old  2026-02-10 21:14:09.399922846 +0100
+++ /var/tmp/diff_new_pack.jidnWz/_new  2026-02-10 21:14:09.403923013 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1770308102.12dfd0e4
+Version:        5.1770718745.ce2072d3
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.jidnWz/_old  2026-02-10 21:14:09.435924354 +0100
+++ /var/tmp/diff_new_pack.jidnWz/_new  2026-02-10 21:14:09.435924354 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1770308102.12dfd0e4
+Version:        5.1770718745.ce2072d3
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.jidnWz/_old  2026-02-10 21:14:09.479926198 +0100
+++ /var/tmp/diff_new_pack.jidnWz/_new  2026-02-10 21:14:09.479926198 +0100
@@ -99,7 +99,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        5.1770308102.12dfd0e4
+Version:        5.1770718745.ce2072d3
 Release:        0
 Summary:        The openQA web-frontend, scheduler and tools
 License:        GPL-2.0-or-later

++++++ node_modules.obscpio ++++++
Binary files old/@eslint-community-regexpp-4.12.1.tgz and 
new/@eslint-community-regexpp-4.12.1.tgz differ
Binary files old/@eslint-community-regexpp-4.12.2.tgz and 
new/@eslint-community-regexpp-4.12.2.tgz differ
Binary files old/@eslint-config-array-0.21.0.tgz and 
new/@eslint-config-array-0.21.0.tgz differ
Binary files old/@eslint-config-array-0.21.1.tgz and 
new/@eslint-config-array-0.21.1.tgz differ
Binary files old/@eslint-config-helpers-0.3.1.tgz and 
new/@eslint-config-helpers-0.3.1.tgz differ
Binary files old/@eslint-config-helpers-0.4.2.tgz and 
new/@eslint-config-helpers-0.4.2.tgz differ
Binary files old/@eslint-core-0.15.2.tgz and new/@eslint-core-0.15.2.tgz differ
Binary files old/@eslint-core-0.17.0.tgz and new/@eslint-core-0.17.0.tgz differ
Binary files old/@eslint-js-9.36.0.tgz and new/@eslint-js-9.36.0.tgz differ
Binary files old/@eslint-js-9.39.2.tgz and new/@eslint-js-9.39.2.tgz differ
Binary files old/@eslint-object-schema-2.1.6.tgz and 
new/@eslint-object-schema-2.1.6.tgz differ
Binary files old/@eslint-object-schema-2.1.7.tgz and 
new/@eslint-object-schema-2.1.7.tgz differ
Binary files old/@eslint-plugin-kit-0.3.5.tgz and 
new/@eslint-plugin-kit-0.3.5.tgz differ
Binary files old/@eslint-plugin-kit-0.4.1.tgz and 
new/@eslint-plugin-kit-0.4.1.tgz differ
Binary files old/@isaacs-balanced-match-4.0.1.tgz and 
new/@isaacs-balanced-match-4.0.1.tgz differ
Binary files old/@isaacs-brace-expansion-5.0.1.tgz and 
new/@isaacs-brace-expansion-5.0.1.tgz differ
Binary files old/ace-builds-1.43.3.tgz and new/ace-builds-1.43.3.tgz differ
Binary files old/ace-builds-1.43.4.tgz and new/ace-builds-1.43.4.tgz differ
Binary files old/balanced-match-1.0.2.tgz and new/balanced-match-1.0.2.tgz 
differ
Binary files old/brace-expansion-1.1.12.tgz and new/brace-expansion-1.1.12.tgz 
differ
Binary files old/concat-map-0.0.1.tgz and new/concat-map-0.0.1.tgz differ
Binary files old/eslint-9.36.0.tgz and new/eslint-9.36.0.tgz differ
Binary files old/eslint-9.39.2.tgz and new/eslint-9.39.2.tgz differ
Binary files old/js-yaml-4.1.0.tgz and new/js-yaml-4.1.0.tgz differ
Binary files old/js-yaml-4.1.1.tgz and new/js-yaml-4.1.1.tgz differ
Binary files old/minimatch-10.1.2.tgz and new/minimatch-10.1.2.tgz differ
Binary files old/minimatch-3.1.2.tgz and new/minimatch-3.1.2.tgz differ

++++++ node_modules.spec.inc ++++++
--- /var/tmp/diff_new_pack.jidnWz/_old  2026-02-10 21:14:10.195956201 +0100
+++ /var/tmp/diff_new_pack.jidnWz/_new  2026-02-10 21:14:10.203956537 +0100
@@ -1,146 +1,145 @@
 Source1000:         
https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz#/@eslint-community-eslint-utils-4.9.0.tgz
-Source1001:         
https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#/@eslint-community-regexpp-4.12.1.tgz
-Source1002:         
https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz#/@eslint-config-array-0.21.0.tgz
-Source1003:         
https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz#/@eslint-config-helpers-0.3.1.tgz
-Source1004:         
https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz#/@eslint-core-0.15.2.tgz
+Source1001:         
https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#/@eslint-community-regexpp-4.12.2.tgz
+Source1002:         
https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz#/@eslint-config-array-0.21.1.tgz
+Source1003:         
https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz#/@eslint-config-helpers-0.4.2.tgz
+Source1004:         
https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz#/@eslint-core-0.17.0.tgz
 Source1005:         
https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#/@eslint-eslintrc-3.3.1.tgz
-Source1006:         
https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz#/@eslint-js-9.36.0.tgz
-Source1007:         
https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz#/@eslint-object-schema-2.1.6.tgz
-Source1008:         
https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz#/@eslint-plugin-kit-0.3.5.tgz
+Source1006:         
https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz#/@eslint-js-9.39.2.tgz
+Source1007:         
https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz#/@eslint-object-schema-2.1.7.tgz
+Source1008:         
https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz#/@eslint-plugin-kit-0.4.1.tgz
 Source1009:         
https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz#/@humanfs-core-0.19.1.tgz
 Source1010:         
https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz#/@humanfs-node-0.16.7.tgz
 Source1011:         
https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#/@humanwhocodes-module-importer-1.0.1.tgz
 Source1012:         
https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz#/@humanwhocodes-retry-0.4.3.tgz
-Source1013:         
https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz#/@pkgr-core-0.2.9.tgz
-Source1014:         
https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz#/@popperjs-core-2.11.8.tgz
-Source1015:         
https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz#/@types-estree-1.0.8.tgz
-Source1016:         
https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz#/@types-json-schema-7.0.15.tgz
-Source1017:         
https://registry.npmjs.org/ace-builds/-/ace-builds-1.43.3.tgz#/ace-builds-1.43.3.tgz
-Source1018:         
https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz#/acorn-8.15.0.tgz
-Source1019:         
https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2.tgz
-Source1020:         
https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
-Source1021:         
https://registry.npmjs.org/anser/-/anser-2.3.2.tgz#/anser-2.3.2.tgz
-Source1022:         
https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles-4.3.0.tgz
-Source1023:         
https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#/argparse-2.0.1.tgz
-Source1024:         
https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#/balanced-match-1.0.2.tgz
-Source1025:         
https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz#/bootstrap-5.3.8.tgz
-Source1026:         
https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz#/brace-expansion-1.1.12.tgz
+Source1013:         
https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#/@isaacs-balanced-match-4.0.1.tgz
+Source1014:         
https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz#/@isaacs-brace-expansion-5.0.1.tgz
+Source1015:         
https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz#/@pkgr-core-0.2.9.tgz
+Source1016:         
https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz#/@popperjs-core-2.11.8.tgz
+Source1017:         
https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz#/@types-estree-1.0.8.tgz
+Source1018:         
https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz#/@types-json-schema-7.0.15.tgz
+Source1019:         
https://registry.npmjs.org/ace-builds/-/ace-builds-1.43.4.tgz#/ace-builds-1.43.4.tgz
+Source1020:         
https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz#/acorn-8.15.0.tgz
+Source1021:         
https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2.tgz
+Source1022:         
https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
+Source1023:         
https://registry.npmjs.org/anser/-/anser-2.3.2.tgz#/anser-2.3.2.tgz
+Source1024:         
https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles-4.3.0.tgz
+Source1025:         
https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#/argparse-2.0.1.tgz
+Source1026:         
https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz#/bootstrap-5.3.8.tgz
 Source1027:         
https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#/callsites-3.1.0.tgz
 Source1028:         
https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#/chalk-4.1.2.tgz
 Source1029:         
https://registry.npmjs.org/chosen-js/-/chosen-js-1.8.7.tgz#/chosen-js-1.8.7.tgz
 Source1030:         
https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#/color-convert-2.0.1.tgz
 Source1031:         
https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#/color-name-1.1.4.tgz
 Source1032:         
https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#/commander-7.2.0.tgz
-Source1033:         
https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#/concat-map-0.0.1.tgz
-Source1034:         
https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz#/cross-spawn-7.0.6.tgz
-Source1035:         https://registry.npmjs.org/d3/-/d3-7.9.0.tgz#/d3-7.9.0.tgz
-Source1036:         
https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz#/d3-array-3.2.4.tgz
-Source1037:         
https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz#/d3-axis-3.0.0.tgz
-Source1038:         
https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz#/d3-brush-3.0.0.tgz
-Source1039:         
https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz#/d3-chord-3.0.1.tgz
-Source1040:         
https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz#/d3-color-3.1.0.tgz
-Source1041:         
https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz#/d3-contour-4.0.2.tgz
-Source1042:         
https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz#/d3-delaunay-6.0.4.tgz
-Source1043:         
https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz#/d3-dispatch-3.0.1.tgz
-Source1044:         
https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz#/d3-drag-3.0.0.tgz
-Source1045:         
https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz#/d3-dsv-3.0.1.tgz
-Source1046:         
https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz#/d3-ease-3.0.1.tgz
-Source1047:         
https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz#/d3-fetch-3.0.1.tgz
-Source1048:         
https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz#/d3-force-3.0.0.tgz
-Source1049:         
https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz#/d3-format-3.1.0.tgz
-Source1050:         
https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz#/d3-geo-3.1.1.tgz
-Source1051:         
https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#/d3-hierarchy-3.1.2.tgz
-Source1052:         
https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz#/d3-interpolate-3.0.1.tgz
-Source1053:         
https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz#/d3-path-3.1.0.tgz
-Source1054:         
https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz#/d3-polygon-3.0.1.tgz
-Source1055:         
https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz#/d3-quadtree-3.0.1.tgz
-Source1056:         
https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz#/d3-random-3.0.1.tgz
-Source1057:         
https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz#/d3-scale-4.0.2.tgz
-Source1058:         
https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#/d3-scale-chromatic-3.1.0.tgz
-Source1059:         
https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz#/d3-selection-3.0.0.tgz
-Source1060:         
https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz#/d3-shape-3.2.0.tgz
-Source1061:         
https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz#/d3-time-3.1.0.tgz
-Source1062:         
https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz#/d3-time-format-4.1.0.tgz
-Source1063:         
https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz#/d3-timer-3.0.1.tgz
-Source1064:         
https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz#/d3-transition-3.0.1.tgz
-Source1065:         
https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz#/d3-zoom-3.0.0.tgz
-Source1066:         
https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz#/dagre-0.8.5.tgz
-Source1067:         
https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz#/dagre-d3-0.6.4.tgz
-Source1068:         
https://registry.npmjs.org/datatables.net/-/datatables.net-2.3.4.tgz#/datatables.net-2.3.4.tgz
-Source1069:         
https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.3.4.tgz#/datatables.net-bs5-2.3.4.tgz
-Source1070:         
https://registry.npmjs.org/debug/-/debug-4.4.3.tgz#/debug-4.4.3.tgz
-Source1071:         
https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz
-Source1072:         
https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz#/delaunator-5.0.1.tgz
-Source1073:         
https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#/escape-string-regexp-4.0.0.tgz
-Source1074:         
https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz#/eslint-9.36.0.tgz
-Source1075:         
https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz#/eslint-config-prettier-10.1.8.tgz
-Source1076:         
https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz#/eslint-plugin-prettier-5.5.4.tgz
-Source1077:         
https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz#/eslint-scope-8.4.0.tgz
-Source1078:         
https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#/eslint-visitor-keys-3.4.3.tgz
-Source1079:         
https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#/eslint-visitor-keys-4.2.1.tgz
-Source1080:         
https://registry.npmjs.org/espree/-/espree-10.4.0.tgz#/espree-10.4.0.tgz
-Source1081:         
https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#/esquery-1.6.0.tgz
-Source1082:         
https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0.tgz
-Source1083:         
https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.3.0.tgz
-Source1084:         
https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz
-Source1085:         
https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fast-deep-equal-3.1.3.tgz
-Source1086:         
https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz#/fast-diff-1.3.0.tgz
-Source1087:         
https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#/fast-json-stable-stringify-2.1.0.tgz
-Source1088:         
https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/fast-levenshtein-2.0.6.tgz
-Source1089:         
https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz#/file-entry-cache-8.0.0.tgz
-Source1090:         
https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#/find-up-5.0.0.tgz
-Source1091:         
https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz#/flat-cache-4.0.1.tgz
-Source1092:         
https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz#/flatted-3.3.3.tgz
-Source1093:         
https://registry.npmjs.org/fork-awesome/-/fork-awesome-1.2.0.tgz#/fork-awesome-1.2.0.tgz
-Source1094:         
https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent-6.0.2.tgz
-Source1095:         
https://registry.npmjs.org/globals/-/globals-14.0.0.tgz#/globals-14.0.0.tgz
-Source1096:         
https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz#/graphlib-2.1.8.tgz
-Source1097:         
https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz
-Source1098:         
https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#/iconv-lite-0.6.3.tgz
-Source1099:         
https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz#/ignore-5.3.2.tgz
-Source1100:         
https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz#/import-fresh-3.3.1.tgz
-Source1101:         
https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash-0.1.4.tgz
-Source1102:         
https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz#/internmap-2.0.3.tgz
-Source1103:         
https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.1.1.tgz
-Source1104:         
https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz
-Source1105:         
https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz
-Source1106:         
https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz#/jquery-3.7.1.tgz
-Source1107:         
https://registry.npmjs.org/jquery-ujs/-/jquery-ujs-1.2.3.tgz#/jquery-ujs-1.2.3.tgz
-Source1108:         
https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#/js-yaml-4.1.0.tgz
-Source1109:         
https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer-3.0.1.tgz
-Source1110:         
https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#/json-schema-traverse-0.4.1.tgz
-Source1111:         
https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#/json-stable-stringify-without-jsonify-1.0.1.tgz
-Source1112:         
https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz
-Source1113:         
https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz
-Source1114:         
https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#/locate-path-6.0.0.tgz
-Source1115:         
https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz#/lodash-4.17.23.tgz
-Source1116:         
https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.merge-4.6.2.tgz
-Source1117:         
https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#/minimatch-3.1.2.tgz
-Source1118:         https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#/ms-2.1.3.tgz
-Source1119:         
https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/natural-compare-1.4.0.tgz
-Source1120:         
https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#/optionator-0.9.4.tgz
-Source1121:         
https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#/p-limit-3.1.0.tgz
-Source1122:         
https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#/p-locate-5.0.0.tgz
-Source1123:         
https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-module-1.0.1.tgz
-Source1124:         
https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#/path-exists-4.0.0.tgz
-Source1125:         
https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
-Source1126:         
https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.2.1.tgz
-Source1127:         
https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz#/prettier-3.6.2.tgz
-Source1128:         
https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#/prettier-linter-helpers-1.0.0.tgz
-Source1129:         
https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz
-Source1130:         
https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-from-4.0.0.tgz
-Source1131:         
https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz#/robust-predicates-3.0.2.tgz
-Source1132:         https://registry.npmjs.org/rw/-/rw-1.3.3.tgz#/rw-1.3.3.tgz
-Source1133:         
https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buffer-2.1.2.tgz
-Source1134:         
https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/shebang-command-2.0.0.tgz
-Source1135:         
https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang-regex-3.0.0.tgz
-Source1136:         
https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#/strip-json-comments-3.1.1.tgz
-Source1137:         
https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/supports-color-7.2.0.tgz
-Source1138:         
https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz#/synckit-0.11.11.tgz
-Source1139:         
https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz#/timeago-1.6.7.tgz
-Source1140:         
https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.4.0.tgz
-Source1141:         
https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
-Source1142:         
https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
-Source1143:         
https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5.tgz
-Source1144:         
https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue-0.1.0.tgz
+Source1033:         
https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz#/cross-spawn-7.0.6.tgz
+Source1034:         https://registry.npmjs.org/d3/-/d3-7.9.0.tgz#/d3-7.9.0.tgz
+Source1035:         
https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz#/d3-array-3.2.4.tgz
+Source1036:         
https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz#/d3-axis-3.0.0.tgz
+Source1037:         
https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz#/d3-brush-3.0.0.tgz
+Source1038:         
https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz#/d3-chord-3.0.1.tgz
+Source1039:         
https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz#/d3-color-3.1.0.tgz
+Source1040:         
https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz#/d3-contour-4.0.2.tgz
+Source1041:         
https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz#/d3-delaunay-6.0.4.tgz
+Source1042:         
https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz#/d3-dispatch-3.0.1.tgz
+Source1043:         
https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz#/d3-drag-3.0.0.tgz
+Source1044:         
https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz#/d3-dsv-3.0.1.tgz
+Source1045:         
https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz#/d3-ease-3.0.1.tgz
+Source1046:         
https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz#/d3-fetch-3.0.1.tgz
+Source1047:         
https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz#/d3-force-3.0.0.tgz
+Source1048:         
https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz#/d3-format-3.1.0.tgz
+Source1049:         
https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz#/d3-geo-3.1.1.tgz
+Source1050:         
https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#/d3-hierarchy-3.1.2.tgz
+Source1051:         
https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz#/d3-interpolate-3.0.1.tgz
+Source1052:         
https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz#/d3-path-3.1.0.tgz
+Source1053:         
https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz#/d3-polygon-3.0.1.tgz
+Source1054:         
https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz#/d3-quadtree-3.0.1.tgz
+Source1055:         
https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz#/d3-random-3.0.1.tgz
+Source1056:         
https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz#/d3-scale-4.0.2.tgz
+Source1057:         
https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#/d3-scale-chromatic-3.1.0.tgz
+Source1058:         
https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz#/d3-selection-3.0.0.tgz
+Source1059:         
https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz#/d3-shape-3.2.0.tgz
+Source1060:         
https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz#/d3-time-3.1.0.tgz
+Source1061:         
https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz#/d3-time-format-4.1.0.tgz
+Source1062:         
https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz#/d3-timer-3.0.1.tgz
+Source1063:         
https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz#/d3-transition-3.0.1.tgz
+Source1064:         
https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz#/d3-zoom-3.0.0.tgz
+Source1065:         
https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz#/dagre-0.8.5.tgz
+Source1066:         
https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz#/dagre-d3-0.6.4.tgz
+Source1067:         
https://registry.npmjs.org/datatables.net/-/datatables.net-2.3.4.tgz#/datatables.net-2.3.4.tgz
+Source1068:         
https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.3.4.tgz#/datatables.net-bs5-2.3.4.tgz
+Source1069:         
https://registry.npmjs.org/debug/-/debug-4.4.3.tgz#/debug-4.4.3.tgz
+Source1070:         
https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz
+Source1071:         
https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz#/delaunator-5.0.1.tgz
+Source1072:         
https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#/escape-string-regexp-4.0.0.tgz
+Source1073:         
https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz#/eslint-9.39.2.tgz
+Source1074:         
https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz#/eslint-config-prettier-10.1.8.tgz
+Source1075:         
https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz#/eslint-plugin-prettier-5.5.4.tgz
+Source1076:         
https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz#/eslint-scope-8.4.0.tgz
+Source1077:         
https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#/eslint-visitor-keys-3.4.3.tgz
+Source1078:         
https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#/eslint-visitor-keys-4.2.1.tgz
+Source1079:         
https://registry.npmjs.org/espree/-/espree-10.4.0.tgz#/espree-10.4.0.tgz
+Source1080:         
https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#/esquery-1.6.0.tgz
+Source1081:         
https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0.tgz
+Source1082:         
https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.3.0.tgz
+Source1083:         
https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz
+Source1084:         
https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fast-deep-equal-3.1.3.tgz
+Source1085:         
https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz#/fast-diff-1.3.0.tgz
+Source1086:         
https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#/fast-json-stable-stringify-2.1.0.tgz
+Source1087:         
https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/fast-levenshtein-2.0.6.tgz
+Source1088:         
https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz#/file-entry-cache-8.0.0.tgz
+Source1089:         
https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#/find-up-5.0.0.tgz
+Source1090:         
https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz#/flat-cache-4.0.1.tgz
+Source1091:         
https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz#/flatted-3.3.3.tgz
+Source1092:         
https://registry.npmjs.org/fork-awesome/-/fork-awesome-1.2.0.tgz#/fork-awesome-1.2.0.tgz
+Source1093:         
https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent-6.0.2.tgz
+Source1094:         
https://registry.npmjs.org/globals/-/globals-14.0.0.tgz#/globals-14.0.0.tgz
+Source1095:         
https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz#/graphlib-2.1.8.tgz
+Source1096:         
https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz
+Source1097:         
https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#/iconv-lite-0.6.3.tgz
+Source1098:         
https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz#/ignore-5.3.2.tgz
+Source1099:         
https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz#/import-fresh-3.3.1.tgz
+Source1100:         
https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash-0.1.4.tgz
+Source1101:         
https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz#/internmap-2.0.3.tgz
+Source1102:         
https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.1.1.tgz
+Source1103:         
https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz
+Source1104:         
https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz
+Source1105:         
https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz#/jquery-3.7.1.tgz
+Source1106:         
https://registry.npmjs.org/jquery-ujs/-/jquery-ujs-1.2.3.tgz#/jquery-ujs-1.2.3.tgz
+Source1107:         
https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz#/js-yaml-4.1.1.tgz
+Source1108:         
https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer-3.0.1.tgz
+Source1109:         
https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#/json-schema-traverse-0.4.1.tgz
+Source1110:         
https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#/json-stable-stringify-without-jsonify-1.0.1.tgz
+Source1111:         
https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz
+Source1112:         
https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz
+Source1113:         
https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#/locate-path-6.0.0.tgz
+Source1114:         
https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz#/lodash-4.17.23.tgz
+Source1115:         
https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.merge-4.6.2.tgz
+Source1116:         
https://registry.npmjs.org/minimatch/-/minimatch-10.1.2.tgz#/minimatch-10.1.2.tgz
+Source1117:         https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#/ms-2.1.3.tgz
+Source1118:         
https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/natural-compare-1.4.0.tgz
+Source1119:         
https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#/optionator-0.9.4.tgz
+Source1120:         
https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#/p-limit-3.1.0.tgz
+Source1121:         
https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#/p-locate-5.0.0.tgz
+Source1122:         
https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-module-1.0.1.tgz
+Source1123:         
https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#/path-exists-4.0.0.tgz
+Source1124:         
https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
+Source1125:         
https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.2.1.tgz
+Source1126:         
https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz#/prettier-3.6.2.tgz
+Source1127:         
https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#/prettier-linter-helpers-1.0.0.tgz
+Source1128:         
https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz
+Source1129:         
https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-from-4.0.0.tgz
+Source1130:         
https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz#/robust-predicates-3.0.2.tgz
+Source1131:         https://registry.npmjs.org/rw/-/rw-1.3.3.tgz#/rw-1.3.3.tgz
+Source1132:         
https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buffer-2.1.2.tgz
+Source1133:         
https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/shebang-command-2.0.0.tgz
+Source1134:         
https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang-regex-3.0.0.tgz
+Source1135:         
https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#/strip-json-comments-3.1.1.tgz
+Source1136:         
https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/supports-color-7.2.0.tgz
+Source1137:         
https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz#/synckit-0.11.11.tgz
+Source1138:         
https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz#/timeago-1.6.7.tgz
+Source1139:         
https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.4.0.tgz
+Source1140:         
https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
+Source1141:         
https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
+Source1142:         
https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5.tgz
+Source1143:         
https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue-0.1.0.tgz
 

++++++ openQA-5.1770308102.12dfd0e4.obscpio -> 
openQA-5.1770718745.ce2072d3.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/Makefile 
new/openQA-5.1770718745.ce2072d3/Makefile
--- old/openQA-5.1770308102.12dfd0e4/Makefile   2026-02-05 17:15:02.000000000 
+0100
+++ new/openQA-5.1770718745.ce2072d3/Makefile   2026-02-10 11:19:05.000000000 
+0100
@@ -276,7 +276,7 @@
        export GLOBIGNORE="$(GLOBIGNORE)";\
        export DEVEL_COVER_DB_FORMAT=JSON;\
        export PERL5OPT="$(COVEROPT)$(PERL5OPT) -It/lib -I$(PWD)/t/lib 
-I$(PWD)/external/os-autoinst-common/lib $(CHECK_GIT_STATUS_OPT) 
-MOpenQA::Test::PatchDeparse";\
-       RETRY=${RETRY} HOOK=./tools/delete-coverdb-folder timeout -s SIGINT -k 
5 -v ${TIMEOUT_RETRIES} tools/retry "${PROVE}" ${PROVE_LIB_ARGS} ${PROVE_ARGS}
+       RETRY=${RETRY} HOOK=./tools/delete-coverdb-folder timeout --foreground 
-s SIGINT -k 5 -v ${TIMEOUT_RETRIES} tools/retry "${PROVE}" ${PROVE_LIB_ARGS} 
${PROVE_ARGS}
 
 .PHONY: setup-database
 setup-database:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1770308102.12dfd0e4/assets/stylesheets/overview.scss 
new/openQA-5.1770718745.ce2072d3/assets/stylesheets/overview.scss
--- old/openQA-5.1770308102.12dfd0e4/assets/stylesheets/overview.scss   
2026-02-05 17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/assets/stylesheets/overview.scss   
2026-02-10 11:19:05.000000000 +0100
@@ -21,12 +21,11 @@
     margin-left: 0.5rem;
 }
 
+#summary .badge-btn.btn-outline-light {
+    color: black;
+}
 #summary .badge {
-    font-size: 90%;
-    padding: 4px 6px 4px;
-    border-radius: 0.5rem;
-    color: #fff;
-    background-color: #bbb;
+    top: 0px;
 }
 #summary .time-params {
     font-weight: lighter;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1770308102.12dfd0e4/docs/UsersGuide.asciidoc 
new/openQA-5.1770718745.ce2072d3/docs/UsersGuide.asciidoc
--- old/openQA-5.1770308102.12dfd0e4/docs/UsersGuide.asciidoc   2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/docs/UsersGuide.asciidoc   2026-02-10 
11:19:05.000000000 +0100
@@ -1541,9 +1541,14 @@
 
 Within each group the oldest jobs are deleted first.
 
-It is also possible to abort cleanup tasks early in case there is still
+It is also possible to abort cleanup and archiving early in case there is still
 enough headroom on relevant file systems anyway. This can be enabled using the
-configuration settings `…_cleanup_max_free_percentage`.
+configuration settings `…_cleanup_max_free_percentage`. Be aware that this can
+lead to very extensive and long cleanups if the cleanup is triggered after all.
+This is especially the case on instances where many jobs run. If the (long)
+cleanup is interrupted/retried because `openqa-gru.service` is restarted, these
+configuration settings may also lead to incomplete cleanup and archiving as 
long
+as there is enough headroom on the relevant file systems.
 
 NOTE: The space-aware cleanup relies on `df` reporting a valid file system 
space
 usage. The algorithms also assume that screenshots and test results are stored
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/eslint.config.mjs 
new/openQA-5.1770718745.ce2072d3/eslint.config.mjs
--- old/openQA-5.1770308102.12dfd0e4/eslint.config.mjs  2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/eslint.config.mjs  2026-02-10 
11:19:05.000000000 +0100
@@ -1,15 +1,15 @@
-import js from "@eslint/js";
-import eslintConfigPrettier from "eslint-config-prettier";
-import eslintPluginPrettierRecommended from 
"eslint-plugin-prettier/recommended";
+import js from '@eslint/js';
+import eslintConfigPrettier from 'eslint-config-prettier';
+import eslintPluginPrettierRecommended from 
'eslint-plugin-prettier/recommended';
 
 export default [
   js.configs.recommended,
   {
     rules: {
-      "no-unused-vars": "off",
-      "no-undef": "off",
+      'no-unused-vars': 'off',
+      'no-undef': 'off'
     }
   },
   eslintConfigPrettier,
-  eslintPluginPrettierRecommended,
+  eslintPluginPrettierRecommended
 ];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1770308102.12dfd0e4/lib/OpenQA/Schema/Result/JobGroups.pm 
new/openQA-5.1770718745.ce2072d3/lib/OpenQA/Schema/Result/JobGroups.pm
--- old/openQA-5.1770308102.12dfd0e4/lib/OpenQA/Schema/Result/JobGroups.pm      
2026-02-05 17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/lib/OpenQA/Schema/Result/JobGroups.pm      
2026-02-10 11:19:05.000000000 +0100
@@ -226,18 +226,12 @@
     my @not_important_cond = (
         TAG_ID_COLUMN, => {-not_in => $important_builds_with_version},
         BUILD => {-not_in => $important_builds_without_version});
-    my $expired_jobs = $jobs->search(
-        {
-            @not_important_cond,
-            text => {like => 'label:linked%'},
-            'me.t_created' => $timecond,
-            @group_cond,
-        },
-        {order_by => 'me.id', join => 'comments'});
-    my @linked_jobs = map { $_->id } $expired_jobs->all;
+    my @linked_jobs_cond = (text => {like => 'label:linked%'}, 'me.t_created' 
=> $timecond, @group_cond);
+    my @linked_jobs_search = ({@not_important_cond, @linked_jobs_cond}, 
{order_by => 'me.id', join => 'comments'});
+    my @linked_job_ids = map { $_->id } 
$jobs->search(@linked_jobs_search)->all;
 
     # define condition for expired jobs in unimportant builds
-    my @ors = ({@not_important_cond, 'me.t_created' => $timecond, id => 
{-not_in => \@linked_jobs}});
+    my @ors = ({@not_important_cond, 'me.t_created' => $timecond, id => 
{-not_in => \@linked_job_ids}});
 
     # define condition for expired jobs in important builds
     my ($important_timestamp, @important_cond);
@@ -247,7 +241,7 @@
             -or => [
                 TAG_ID_COLUMN, => {-in => $important_builds_with_version},
                 BUILD => {-in => $important_builds_without_version},
-                id => {-in => \@linked_jobs}]);
+                id => {-in => \@linked_job_ids}]);
         push @ors, {@important_cond, 'me.t_created' => {'<' => 
$important_timestamp}};
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1770308102.12dfd0e4/lib/OpenQA/WebAPI/Controller/Test.pm 
new/openQA-5.1770718745.ce2072d3/lib/OpenQA/WebAPI/Controller/Test.pm
--- old/openQA-5.1770308102.12dfd0e4/lib/OpenQA/WebAPI/Controller/Test.pm       
2026-02-05 17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/lib/OpenQA/WebAPI/Controller/Test.pm       
2026-02-10 11:19:05.000000000 +0100
@@ -106,6 +106,17 @@
     '[0-9]' => 0.64
 );
 
+my %SUMMARY_CATEGORY_QUERY = (
+    passed => {result => PASSED, state => undef},
+    softfailed => {result => SOFTFAILED, state => undef},
+    failed => {result => FAILED, state => undef},
+    not_complete => {result => [NOT_COMPLETE_RESULTS], state => undef},
+    scheduled => {result => undef, state => SCHEDULED},
+    running => {result => undef, state => [EXECUTION_STATES]},
+    aborted => {result => [ABORTED_RESULTS], state => undef},
+    none => {result => NONE, state => undef},
+);
+
 sub referer_check ($self) {
     return $self->reply->not_found if (!defined $self->param('testid'));
     my $referer = $self->req->headers->header('Referer') // '';
@@ -904,6 +915,7 @@
         until => $search_args->{until},
         parallel_children_collapsable_results_sel => 
$config->{global}->{parallel_children_collapsable_results_sel},
         summary_parts => \@summary_parts,
+        summary_category_query => \%SUMMARY_CATEGORY_QUERY,
         only_distri => $only_distri,
         limit_exceeded => $exceeded_limit,
     );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/package-lock.json 
new/openQA-5.1770718745.ce2072d3/package-lock.json
--- old/openQA-5.1770308102.12dfd0e4/package-lock.json  2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/package-lock.json  2026-02-10 
11:19:05.000000000 +0100
@@ -9,7 +9,7 @@
       "version": "1.0.0",
       "license": "GPL-2.0",
       "dependencies": {
-        "ace-builds": "^1.43.3",
+        "ace-builds": "^1.43.4",
         "anser": "^2.3.2",
         "bootstrap": "^5.3.8",
         "chosen-js": "^1.8.7",
@@ -22,7 +22,7 @@
         "timeago": "^1.6.7"
       },
       "devDependencies": {
-        "eslint": "^9.36.0",
+        "eslint": "^9.38.0",
         "eslint-config-prettier": "^10.1.8",
         "eslint-plugin-prettier": "^5.5.4",
         "prettier": "3.6.2"
@@ -48,21 +48,23 @@
       }
     },
     "node_modules/@eslint-community/regexpp": {
-      "version": "4.12.1",
-      "resolved": 
"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz";,
-      "integrity": 
"sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
+      "version": "4.12.2",
+      "resolved": 
"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz";,
+      "integrity": 
"sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
       "dev": true,
+      "license": "MIT",
       "engines": {
         "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
       }
     },
     "node_modules/@eslint/config-array": {
-      "version": "0.21.0",
-      "resolved": 
"https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz";,
-      "integrity": 
"sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
+      "version": "0.21.1",
+      "resolved": 
"https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz";,
+      "integrity": 
"sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
       "dev": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "@eslint/object-schema": "^2.1.6",
+        "@eslint/object-schema": "^2.1.7",
         "debug": "^4.3.1",
         "minimatch": "^3.1.2"
       },
@@ -71,19 +73,22 @@
       }
     },
     "node_modules/@eslint/config-helpers": {
-      "version": "0.3.1",
-      "resolved": 
"https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz";,
-      "integrity": 
"sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==",
+      "version": "0.4.2",
+      "resolved": 
"https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz";,
+      "integrity": 
"sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
       "dev": true,
       "license": "Apache-2.0",
+      "dependencies": {
+        "@eslint/core": "^0.17.0"
+      },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
     "node_modules/@eslint/core": {
-      "version": "0.15.2",
-      "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz";,
-      "integrity": 
"sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==",
+      "version": "0.17.0",
+      "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz";,
+      "integrity": 
"sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
       "dev": true,
       "license": "Apache-2.0",
       "dependencies": {
@@ -118,9 +123,9 @@
       }
     },
     "node_modules/@eslint/js": {
-      "version": "9.36.0",
-      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz";,
-      "integrity": 
"sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==",
+      "version": "9.39.2",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz";,
+      "integrity": 
"sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -131,22 +136,23 @@
       }
     },
     "node_modules/@eslint/object-schema": {
-      "version": "2.1.6",
-      "resolved": 
"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz";,
-      "integrity": 
"sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
+      "version": "2.1.7",
+      "resolved": 
"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz";,
+      "integrity": 
"sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
       "dev": true,
+      "license": "Apache-2.0",
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
     "node_modules/@eslint/plugin-kit": {
-      "version": "0.3.5",
-      "resolved": 
"https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz";,
-      "integrity": 
"sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==",
+      "version": "0.4.1",
+      "resolved": 
"https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz";,
+      "integrity": 
"sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
       "dev": true,
       "license": "Apache-2.0",
       "dependencies": {
-        "@eslint/core": "^0.15.2",
+        "@eslint/core": "^0.17.0",
         "levn": "^0.4.1"
       },
       "engines": {
@@ -203,6 +209,29 @@
         "url": "https://github.com/sponsors/nzakas";
       }
     },
+    "node_modules/@isaacs/balanced-match": {
+      "version": "4.0.1",
+      "resolved": 
"https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz";,
+      "integrity": 
"sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": "20 || >=22"
+      }
+    },
+    "node_modules/@isaacs/brace-expansion": {
+      "version": "5.0.1",
+      "resolved": 
"https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz";,
+      "integrity": 
"sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@isaacs/balanced-match": "^4.0.1"
+      },
+      "engines": {
+        "node": "20 || >=22"
+      }
+    },
     "node_modules/@pkgr/core": {
       "version": "0.2.9",
       "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz";,
@@ -241,9 +270,9 @@
       "license": "MIT"
     },
     "node_modules/ace-builds": {
-      "version": "1.43.3",
-      "resolved": 
"https://registry.npmjs.org/ace-builds/-/ace-builds-1.43.3.tgz";,
-      "integrity": 
"sha512-MCl9rALmXwIty/4Qboijo/yNysx1r6hBTzG+6n/TiOm5LFhZpEvEIcIITPFiEOEFDfgBOEmxu+a4f54LEFM6Sg==",
+      "version": "1.43.4",
+      "resolved": 
"https://registry.npmjs.org/ace-builds/-/ace-builds-1.43.4.tgz";,
+      "integrity": 
"sha512-8hAxVfo2ImICd69BWlZwZlxe9rxDGDjuUhh+WeWgGDvfBCE+r3lkynkQvIovDz4jcMi8O7bsEaFygaDT+h9sBA==",
       "license": "BSD-3-Clause"
     },
     "node_modules/acorn": {
@@ -314,12 +343,6 @@
       "dev": true,
       "license": "Python-2.0"
     },
-    "node_modules/balanced-match": {
-      "version": "1.0.2",
-      "resolved": 
"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";,
-      "integrity": 
"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
-      "dev": true
-    },
     "node_modules/bootstrap": {
       "version": "5.3.8",
       "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz";,
@@ -339,17 +362,6 @@
         "@popperjs/core": "^2.11.8"
       }
     },
-    "node_modules/brace-expansion": {
-      "version": "1.1.12",
-      "resolved": 
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz";,
-      "integrity": 
"sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
     "node_modules/callsites": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz";,
@@ -399,12 +411,6 @@
       "integrity": 
"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
       "dev": true
     },
-    "node_modules/concat-map": {
-      "version": "0.0.1",
-      "resolved": 
"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";,
-      "integrity": 
"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
-      "dev": true
-    },
     "node_modules/cross-spawn": {
       "version": "7.0.6",
       "resolved": 
"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz";,
@@ -893,25 +899,24 @@
       }
     },
     "node_modules/eslint": {
-      "version": "9.36.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz";,
-      "integrity": 
"sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==",
+      "version": "9.39.2",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz";,
+      "integrity": 
"sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.8.0",
         "@eslint-community/regexpp": "^4.12.1",
-        "@eslint/config-array": "^0.21.0",
-        "@eslint/config-helpers": "^0.3.1",
-        "@eslint/core": "^0.15.2",
+        "@eslint/config-array": "^0.21.1",
+        "@eslint/config-helpers": "^0.4.2",
+        "@eslint/core": "^0.17.0",
         "@eslint/eslintrc": "^3.3.1",
-        "@eslint/js": "9.36.0",
-        "@eslint/plugin-kit": "^0.3.5",
+        "@eslint/js": "9.39.2",
+        "@eslint/plugin-kit": "^0.4.1",
         "@humanfs/node": "^0.16.6",
         "@humanwhocodes/module-importer": "^1.0.1",
         "@humanwhocodes/retry": "^0.4.2",
         "@types/estree": "^1.0.6",
-        "@types/json-schema": "^7.0.15",
         "ajv": "^6.12.4",
         "chalk": "^4.0.0",
         "cross-spawn": "^7.0.6",
@@ -1339,9 +1344,9 @@
       }
     },
     "node_modules/js-yaml": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz";,
-      "integrity": 
"sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz";,
+      "integrity": 
"sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -1420,15 +1425,19 @@
       "dev": true
     },
     "node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz";,
-      "integrity": 
"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "version": "10.1.2",
+      "resolved": 
"https://registry.npmjs.org/minimatch/-/minimatch-10.1.2.tgz";,
+      "integrity": 
"sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==",
       "dev": true,
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "brace-expansion": "^1.1.7"
+        "@isaacs/brace-expansion": "^5.0.1"
       },
       "engines": {
-        "node": "*"
+        "node": "20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs";
       }
     },
     "node_modules/ms": {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/package.json 
new/openQA-5.1770718745.ce2072d3/package.json
--- old/openQA-5.1770308102.12dfd0e4/package.json       2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/package.json       2026-02-10 
11:19:05.000000000 +0100
@@ -12,13 +12,13 @@
   },
   "homepage": "https://github.com/os-autoinst/openQA#readme";,
   "devDependencies": {
-    "eslint": "^9.36.0",
+    "eslint": "^9.38.0",
     "eslint-config-prettier": "^10.1.8",
     "eslint-plugin-prettier": "^5.5.4",
     "prettier": "3.6.2"
   },
   "dependencies": {
-    "ace-builds": "^1.43.3",
+    "ace-builds": "^1.43.4",
     "anser": "^2.3.2",
     "bootstrap": "^5.3.8",
     "chosen-js": "^1.8.7",
@@ -33,6 +33,7 @@
   "overrides": {
     "dagre-d3": {
       "d3": "npm:d3"
-    }
+    },
+    "minimatch": "10.1.2"
   }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/t/10-tests_overview.t 
new/openQA-5.1770718745.ce2072d3/t/10-tests_overview.t
--- old/openQA-5.1770308102.12dfd0e4/t/10-tests_overview.t      2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/t/10-tests_overview.t      2026-02-10 
11:19:05.000000000 +0100
@@ -28,7 +28,7 @@
 
 my $summary = get_summary;
 like($summary, qr/Overall Summary of opensuse 13\.1 build 0091/i);
-like($summary, qr/Passed: 3 Scheduled: 2 Running: 2 None: 1$/i);
+like($summary, qr/Passed: 3 Scheduled: 2 Running: 2 None: 1/i);
 
 # Check the headers
 $t->element_exists('#flavor_DVD_arch_i586');
@@ -101,7 +101,7 @@
 $t->get_ok('/tests/overview' => form => {distri => 'opensuse', version => 
'13.1'})->status_is(200);
 $summary = get_summary;
 like($summary, qr/Summary of opensuse 13\.1 build 0091/i, 'summary for 13.1');
-like($summary, qr/Passed: 3 Scheduled: 2 Running: 2 None: 1$/i, 'summary 
badges for 13.1');
+like($summary, qr/Passed: 3 Scheduled: 2 Running: 2 None: 1/i, 'summary badges 
for 13.1');
 
 $form = {distri => 'opensuse', version => '13.1', groupid => 1001};
 $t->get_ok('/tests/overview' => form => $form)->status_is(200);
@@ -148,9 +148,9 @@
     my @params = (distri => 'opensuse', version => 'Factory', build => 
'87.5011');
     my $tp = '2020-01-01T00:00:00';
     $t->get_ok('/tests/overview' => form => {@params, t => $tp});
-    like(get_summary, qr/at the time of $tp.*show latest jobs$/s, 'jobs newer 
than time parameter filtered out');
+    like(get_summary, qr/at the time of $tp.*show latest jobs/s, 'jobs newer 
than time parameter filtered out');
     $t->get_ok('/tests/overview' => form => {@params, t => time2str('%Y-%m-%d 
%H:%M:%S', time, 'UTC')});
-    like(get_summary, qr/at the time of.*show latest.*Incomplete: 1$/s, 'jobs 
newer than time parameter shown');
+    like(get_summary, qr/at the time of.*show latest.*Incomplete: 1/s, 'jobs 
newer than time parameter shown');
 };
 
 subtest 'limit parameter' => sub {
@@ -164,7 +164,7 @@
 $t->get_ok('/tests/overview' => form => $form)->status_is(200);
 $summary = get_summary;
 like($summary, qr/Summary of opensuse 13\.1 build 0091/i, 'Still references 
the last build');
-like($summary, qr/Passed: 3$/i, 'only passed are shown');
+like($summary, qr/Passed: 3/i, 'only passed are shown');
 $t->element_exists('#res_DVD_i586_kde .result_passed');
 $t->element_exists('#res_DVD_i586_textmode .result_passed');
 $t->element_exists_not('#res_DVD_i586_RAID0 .state_scheduled');
@@ -176,10 +176,37 @@
 # This time show only failed
 $form = {distri => 'opensuse', version => 'Factory', build => '0048', result 
=> 'failed'};
 $t->get_ok('/tests/overview' => form => $form)->status_is(200);
-like(get_summary, qr/current time Failed: 1$/i);
+like(get_summary, qr/current time Failed: 1/i);
 $t->element_exists('#res_DVD_x86_64_doc .result_failed');
 $t->element_exists_not('#res_DVD_x86_64_kde .result_passed');
 
+subtest 'clickable summary buttons' => sub {
+    $t->get_ok('/tests/overview' => form => {distri => 'opensuse', version => 
'Factory', build => '0048'})
+      ->status_is(200);
+    my $summary = $t->tx->res->dom->at('#summary .card-body');
+    my $failed_link = $summary->at('a[href*="result=failed"]');
+    ok $failed_link, 'Failed count is clickable';
+    my $href = $failed_link->attr('href');
+    like $href, qr/distri=opensuse/, 'preserves distri';
+    like $href, qr/version=Factory/, 'preserves version';
+    like $href, qr/build=0048/, 'preserves build';
+    like $href, qr/result=failed/, 'sets result filter';
+
+    my $softfailed_link = $summary->at('a[href*="result=softfailed"]');
+    ok $softfailed_link, 'Soft-failed count is clickable';
+    like $softfailed_link->attr('href'), qr/result=softfailed/, 'sets 
softfailed filter';
+
+    $t->get_ok('/tests/overview' => form => {distri => 'opensuse', version => 
'13.1'})->status_is(200);
+    $summary = $t->tx->res->dom->at('#summary .card-body');
+    my $passed_link = $summary->at('a[href*="result=passed"]');
+    ok $passed_link, 'Passed count is clickable for 13.1';
+    like $passed_link->attr('href'), qr/result=passed/, 'sets passed filter';
+
+    my $all_link = $summary->at('a:last-child');
+    is $all_link->text, 'All', 'All button is present';
+    unlike $all_link->attr('href'), qr/result=/, 'All button clears result';
+};
+
 subtest 'todo-flag on test overview' => sub {
     $schema->txn_begin;
     $jobs->create(
@@ -195,7 +222,7 @@
         });
     $form = {distri => 'opensuse', version => 'Factory', build => '0048', todo 
=> 1};
     $t->get_ok('/tests/overview' => form => $form)->status_is(200);
-    like(get_summary, qr/current time Failed: 1$/i, 'todo=1 shows only 
unlabeled left failed');
+    like(get_summary, qr/current time Failed: 1/i, 'todo=1 shows only 
unlabeled left failed');
 
     # add a failing module to one of the softfails and a parallel_failed job 
to test the 'TODO' option
     for my $j ((99936, 99964)) {
@@ -212,7 +239,7 @@
     $t->get_ok('/tests/overview' => form => $form)->status_is(200);
     like(
         get_summary,
-        qr/current time Soft-Failed: 1 Failed: 1 Aborted: 1$/i,
+        qr/current time Soft-Failed: 1 Failed: 1 Aborted: 1/i,
         'todo=1 shows only unlabeled left failed (previously softfailed)'
     );
     $t->element_exists_not('#res-99939', 'softfailed filtered out');
@@ -225,11 +252,8 @@
             user_id => 99903,
         });
     $t->get_ok('/tests/overview' => form => $form)->status_is(200);
-    like(
-        get_summary,
-        qr/current time Failed: 1 Aborted: 1$/i,
-        'todo=1 shows only unlabeled left failed after labelling'
-    );
+    like(get_summary, qr/current time Failed: 1 Aborted: 1/i,
+        'todo=1 shows only unlabeled left failed after labelling');
     $t->element_exists_not('#res-99936', 'reviewed failed filtered out');
     $schema->txn_rollback;
 };
@@ -240,7 +264,7 @@
 like($summary, qr/Summary of opensuse, opensuse test/i, 'references both 
groups selected by query');
 like(
     $summary,
-    qr/current time Passed: 2 Scheduled: 1 Running: 2 None: 1$/i,
+    qr/current time Passed: 2 Scheduled: 1 Running: 2 None: 1/i,
     'shows latest jobs from both groups 1001/1002'
 );
 $t->element_exists('#res_DVD_i586_kde', 'job from group 1001 is shown');
@@ -254,7 +278,7 @@
     qr/Summary of opensuse, opensuse test build 0091[^,]/i,
     'multiple groups with no build specified yield the same, latest build of 
every group'
 );
-like($summary, qr/current time Passed: 2 Scheduled: 1 Running: 2 None: 1$/i);
+like($summary, qr/current time Passed: 2 Scheduled: 1 Running: 2 None: 1/i);
 
 my $jobGroup = $schema->resultset('JobGroups')->create(
     {
@@ -280,7 +304,7 @@
     qr/Summary of opensuse, opensuse test 2 build 0091,0092/i,
     'multiple groups with no build specified yield each build for every group'
 );
-like($summary, qr/current time Passed: 3 Scheduled: 2 Running: 1 None: 1$/i, 
'summary of 0091,0092');
+like($summary, qr/current time Passed: 3 Scheduled: 2 Running: 1 None: 1/i, 
'summary of 0091,0092');
 
 
$t->get_ok('/tests/overview?arch=&flavor=&machine=&test=&modules=kate&module_re=&groupid=1001')->status_is(200);
 $summary = get_summary;
@@ -303,7 +327,7 @@
 like($summary, qr/Summary of opensuse/i, 'shows all available latest jobs for 
the only present distri');
 like(
     $summary,
-    qr/current time Passed: 3 Scheduled: 2 Running: 2 None: 1$/i,
+    qr/current time Passed: 3 Scheduled: 2 Running: 2 None: 1/i,
     'shows latest jobs from all distri, version, build, flavor, arch'
 );
 $t->element_exists('#res_DVD_i586_kde');
@@ -344,7 +368,7 @@
 # Check if logpackages has failed, filtering with failed_modules
 $form = {distri => 'opensuse', version => 'Factory', failed_modules => 
'logpackages'};
 $t->get_ok('/tests/overview', form => $form)->status_is(200);
-like(get_summary, qr/current time$/i, 'all jobs filtered out');
+like(get_summary, qr/current time/i, 'all jobs filtered out');
 $t->element_exists_not('#res_DVD_x86_64_doc .result_failed', 'old job not 
revealed');
 $t->element_exists_not('#res_DVD_x86_64_kde .result_passed', 'passed job 
hidden');
 
@@ -352,7 +376,7 @@
 my $latest_job = $jobs->find(99940);
 $latest_job->update({DISTRI => 'not opensuse'});
 $t->get_ok('/tests/overview', form => $form)->status_is(200);
-like(get_summary, qr/current time Failed: 1$/i);
+like(get_summary, qr/current time Failed: 1/i);
 $t->element_exists('#res_DVD_x86_64_doc .result_failed', 'job with failed 
module logpackages still shown');
 $t->element_exists_not('#res_DVD_x86_64_kde .result_passed', 'passed job 
hidden');
 
@@ -380,7 +404,7 @@
         failed_modules => 'failing_module'
     })->status_is(200);
 
-like(get_summary, qr/current time Failed: 1$/i, 'failed_modules shows failed 
jobs');
+like(get_summary, qr/current time Failed: 1/i, 'failed_modules shows failed 
jobs');
 $t->element_exists('#res-99940', 'foo_bar_failed_module failed');
 $t->element_exists('#res_DVD_x86_64_doc .result_failed', 
'foo_bar_failed_module module failed');
 
@@ -399,7 +423,7 @@
         version => 'Factory',
         failed_modules => 'failing_module,logpackages',
     })->status_is(200);
-like(get_summary, qr/current time Failed: 1$/i, 'expected job failures 
matches');
+like(get_summary, qr/current time Failed: 1/i, 'expected job failures 
matches');
 $t->text_is('#res_DVD_x86_64_doc .failedmodule *' => 'failing_module', 
'failing_module module failed');
 
 # Check if failed_modules hides successful jobs even if a (fake) module 
failure is there
@@ -417,7 +441,7 @@
         version => '13.1',
         failed_modules => 'failing_module',
     })->status_is(200);
-like(get_summary, qr/current time$/i, 'Job was successful, so failed_modules 
does not show it');
+like(get_summary, qr/current time/i, 'Job was successful, so failed_modules 
does not show it');
 $t->element_exists_not('#res-99946', 'no module has failed');
 
 subtest 'Maximum jobs limit' => sub {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/t/14-grutasks.t 
new/openQA-5.1770718745.ce2072d3/t/14-grutasks.t
--- old/openQA-5.1770308102.12dfd0e4/t/14-grutasks.t    2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/t/14-grutasks.t    2026-02-10 
11:19:05.000000000 +0100
@@ -457,13 +457,14 @@
     is($audit_events->search({event => 'startup'})->count, 1, 'old startup 
event deleted');
 };
 
-subtest 'labeled jobs considered important' => sub {
+subtest 'archiving and labeling jobs to be considered important' => sub {
     my $minion = $app->minion;
     is $minion->jobs({tasks => ['archive_job_results']})->total, 0, 'no 
archiving jobs enqueued so far';
 
     # create important job which was finished 12 days ago
+    # note: Setting `logs_present => 0` to show that jobs without logs are 
also subject to archiving.
     my $job = $app->schema->resultset('Jobs')->find(99938);
-    $job->update({t_created => time2str('%Y-%m-%d %H:%M:%S', time - ONE_DAY * 
12, 'UTC')});
+    $job->update({t_created => time2str('%Y-%m-%d %H:%M:%S', time - ONE_DAY * 
12, 'UTC'), logs_present => 0});
     $job->group->update({keep_logs_in_days => 5, keep_important_logs_in_days 
=> 20});
     my $filename = create_temp_job_log_file($job->result_dir);
     my $user = $app->schema->resultset('Users')->find({username => 'system'});
@@ -502,8 +503,8 @@
         ok -e $filename, 'results exist under archive path';
     }
 
-    # assume job was finished 22 days ago
-    $job->update({t_created => time2str('%Y-%m-%d %H:%M:%S', time - ONE_DAY * 
22, 'UTC')});
+    # assume job was finished 22 days ago and logs are present to test cleanup 
of archived job
+    $job->update({t_created => time2str('%Y-%m-%d %H:%M:%S', time - ONE_DAY * 
22, 'UTC'), logs_present => 1});
     run_gru_job($app, 'limit_results_and_logs');
     ok !-e $filename, 'results of important job cleaned up if exceeding 
retention period for important jobs';
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/t/15-assets.t 
new/openQA-5.1770718745.ce2072d3/t/15-assets.t
--- old/openQA-5.1770308102.12dfd0e4/t/15-assets.t      2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/t/15-assets.t      2026-02-10 
11:19:05.000000000 +0100
@@ -19,7 +19,7 @@
 require OpenQA::Test::Database;
 use OpenQA::Test::Client 'client';
 use OpenQA::Test::Utils 'embed_server_for_testing';
-use OpenQA::Test::TimeLimit '10';
+use OpenQA::Test::TimeLimit '24';
 use OpenQA::WebSockets::Client;
 use OpenQA::Scheduler::Model::Jobs;
 use OpenQA::Schema::ResultSet::Assets;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/t/25-cache-service.t 
new/openQA-5.1770718745.ce2072d3/t/25-cache-service.t
--- old/openQA-5.1770308102.12dfd0e4/t/25-cache-service.t       2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/t/25-cache-service.t       2026-02-10 
11:19:05.000000000 +0100
@@ -44,7 +44,7 @@
 use Mojo::IOLoop::ReadWriteProcess qw(queue process);
 use Mojo::IOLoop::ReadWriteProcess::Session 'session';
 use OpenQA::Test::Utils
-  qw(fake_asset_server cache_minion_worker cache_worker_service 
wait_for_or_bail_out perform_minion_jobs);
+  qw(fake_asset_server cache_minion_worker cache_worker_service 
wait_for_or_bail_out perform_minion_jobs wait_for);
 use OpenQA::Test::TimeLimit '90';
 use Mojo::Util qw(md5_sum);
 use OpenQA::CacheService;
@@ -421,7 +421,10 @@
     }
     'assets';
 
-    ok($cache_client->asset_exists('localhost', $_), "Asset $_ downloaded 
correctly") for @assets;
+    for my $asset (@assets) {
+        ok(wait_for(sub { $cache_client->asset_exists('localhost', $asset) }, 
"Asset $asset downloaded correctly"),
+            "Asset $asset downloaded correctly");
+    }
 
     @assets = map { '[email protected]' } 1 .. 
$tot_proc;
     unlink path($cachedir)->child($_) for @assets;
@@ -434,9 +437,15 @@
     }
     'assets';
 
-    ok($cache_client->asset_exists('localhost', 
'[email protected]'),
-        "Asset $_ downloaded correctly")
-      for @assets;
+    for my $asset (@assets) {
+        ok(
+            wait_for(
+                sub { $cache_client->asset_exists('localhost', 
'[email protected]') },
+                "Asset $asset downloaded correctly"
+            ),
+            "Asset $asset downloaded correctly"
+        );
+    }
 
     $_->stop for ($worker_2, $worker_3, $worker_4);
 };
@@ -482,6 +491,7 @@
 subtest 'Minion monitoring with InfluxDB' => sub {
     my $app = $t->app;
     my $cache = $app->cache;
+    $cache->reset_download_count;
     my $metrics = $cache->metrics;
     my $rate = $metrics->{download_rate};
     my $count = $metrics->{download_count};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/t/40-openqa-clone-job.t 
new/openQA-5.1770718745.ce2072d3/t/40-openqa-clone-job.t
--- old/openQA-5.1770308102.12dfd0e4/t/40-openqa-clone-job.t    2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/t/40-openqa-clone-job.t    2026-02-10 
11:19:05.000000000 +0100
@@ -9,7 +9,8 @@
 use OpenQA::Test::TimeLimit '10';
 use OpenQA::Test::Utils qw(run_cmd test_cmd);
 use Test::MockModule;
-$ENV{OPENQA_CONFIG} = '';
+
+$ENV{OPENQA_CONFIG} = "$FindBin::Bin/data";
 
 sub test_once {
     # Report failure at the callsite instead of the test function
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/t/ui/13-admin.t 
new/openQA-5.1770718745.ce2072d3/t/ui/13-admin.t
--- old/openQA-5.1770308102.12dfd0e4/t/ui/13-admin.t    2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/t/ui/13-admin.t    2026-02-10 
11:19:05.000000000 +0100
@@ -720,8 +720,15 @@
     };
 
     subtest 'delete key' => sub {
-        $driver->find_child_element($tbody, 'a[title=Delete]')->click;
-        unlike(api_keys_tbody->get_text, qr/1234567890ABCDEF/, 'default API 
key present');
+        $driver->find_child_element(api_keys_tbody, 'a[title=Delete]')->click;
+        wait_for_ajax_and_animations();
+        wait_until(
+            sub {
+                ($driver->execute_script("return 
document.getElementById('api-keys-tbody')?.innerText") // '')
+                  !~ qr/1234567890ABCDEF/;
+            },
+            'default API key gone'
+        );
         like($driver->find_element_by_id('flash-messages')->get_text, qr/API 
key delete/, 'flash message for deletion');
     };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/t/ui/21-admin-needles.t 
new/openQA-5.1770718745.ce2072d3/t/ui/21-admin-needles.t
--- old/openQA-5.1770308102.12dfd0e4/t/ui/21-admin-needles.t    2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/t/ui/21-admin-needles.t    2026-02-10 
11:19:05.000000000 +0100
@@ -105,7 +105,7 @@
     wait_for_ajax(with_minion => $minion);
     $driver->find_element_by_id('delete_all')->click();
 
-    is($driver->find_element_by_id('confirm_delete')->is_displayed(), 1, 
'modal dialog');
+    ok(wait_for_element(selector => '#confirm_delete', is_displayed => 1), 
'modal dialog');
     is($driver->find_element('#confirm_delete .modal-title')->get_text(), 
'Needle deletion', 'title matches');
     is(scalar @{$driver->find_elements('#outstanding-needles li', 'css')}, 1, 
'one needle outstanding for deletion');
     is(scalar @{$driver->find_elements('#failed-needles li', 'css')}, 0, 'no 
failed needles so far');
@@ -130,8 +130,14 @@
     wait_for_ajax(with_minion => $minion);    # required due to server-side 
datatable
     $_->click() for $driver->find_elements('td input', 'css');
     $driver->find_element_by_id('delete_all')->click();
-    my @outstanding_needles = $driver->find_elements('#outstanding-needles 
li', 'css');
-    is(scalar @outstanding_needles, 2, 'still two needle outstanding for 
deletion');
+    my @outstanding_needles;
+    wait_until(
+        sub {
+            @outstanding_needles = 
$driver->find_elements('#outstanding-needles li', 'css');
+            return scalar @outstanding_needles == 2;
+        },
+        'still two needle outstanding for deletion'
+    );
     is((shift @outstanding_needles)->get_text(), 'inst-timezone-text.json', 
'right needle names displayed');
     is((shift @outstanding_needles)->get_text(), 'never-matched.json', 'right 
needle names displayed');
     is(scalar @{$driver->find_elements('#failed-needles li', 'css')},
@@ -148,7 +154,8 @@
         for my $file_name (@needle_files) {
             is(-f $needle_dir . $file_name, undef, $file_name . ' is gone');
         }
-        is($driver->find_element('#needles tbody tr')->get_text(), 'No data 
available in table', 'no needles left');
+        wait_until(sub { $driver->find_element('#needles tbody 
tr')->get_text() eq 'No data available in table' },
+            'no needles left');
     };
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1770308102.12dfd0e4/templates/webapi/test/overview.html.ep 
new/openQA-5.1770718745.ce2072d3/templates/webapi/test/overview.html.ep
--- old/openQA-5.1770308102.12dfd0e4/templates/webapi/test/overview.html.ep     
2026-02-05 17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/templates/webapi/test/overview.html.ep     
2026-02-10 11:19:05.000000000 +0100
@@ -49,17 +49,18 @@
                 </span>
             </button>
             % }
-            % my @badges = qw(success secondary  warning     danger info      
primary light   light);
-            % my @labels = qw(Passed  Incomplete Soft-Failed Failed Scheduled 
Running Aborted None);
+            % my @badges = qw(success warning     danger secondary  info      
primary light   light);
+            % my @labels = qw(Passed  Soft-Failed Failed Incomplete Scheduled 
Running Aborted None);
             % my $index  = 0;
-            % for my $category (qw(passed not_complete softfailed failed 
scheduled running aborted none)) {
+            % for my $category (qw(passed softfailed failed not_complete 
scheduled running aborted none)) {
                 % my ($label, $badge) = ($labels[$index], $badges[$index++]);
                 % next unless my $count = delete $aggregated->{$category};
-                <%= $label %>: <span class="badge text-bg-<%= $badge %>"><%= 
$count %></span>
+                <a href="<%= 
url_with->query($summary_category_query->{$category}) %>" class="badge-btn btn 
btn-sm btn-outline-<%= $badge %> mb-1 d-inline-flex align-items-center"><%= 
$label %>: <span class="badge text-bg-<%= $badge %> ms-1"><%= $count 
%></span></a>
             % }
             % if (my $unknown_count = sum values %$aggregated) {
                 Unknown: <span class="badge text-bg-light"><%= $unknown_count 
%></span>
             % }
+            <a href="<%= url_with->query({result => undef, state => undef}) 
%>" class="btn btn-sm btn-outline-secondary mb-1 d-inline-flex 
align-items-center">All</a>
         </div>
     </div>
     <div class="card" id="filter-panel">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1770308102.12dfd0e4/tools/ci/autoinst.sha 
new/openQA-5.1770718745.ce2072d3/tools/ci/autoinst.sha
--- old/openQA-5.1770308102.12dfd0e4/tools/ci/autoinst.sha      2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/tools/ci/autoinst.sha      2026-02-10 
11:19:05.000000000 +0100
@@ -1 +1 @@
-6846714a64fbfe05ebf48c1527e3dfddf32cd539
+c249fe9c14f7efb45672dbc8c191d7e2ad300d15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1770308102.12dfd0e4/tools/ci/ci-packages.txt 
new/openQA-5.1770718745.ce2072d3/tools/ci/ci-packages.txt
--- old/openQA-5.1770308102.12dfd0e4/tools/ci/ci-packages.txt   2026-02-05 
17:15:02.000000000 +0100
+++ new/openQA-5.1770718745.ce2072d3/tools/ci/ci-packages.txt   2026-02-10 
11:19:05.000000000 +0100
@@ -1,266 +1,280 @@
-bsdtar
-chrony
-chrony-pool-openSUSE
-cmark
-hostname
-iproute2
-iputils
-jq
-libhidapi-hidraw0
-libjq1
-libmnl0
-libxtables12
-lsof
-openssh-clients
-openssh-common
-optipng
-perl-Algorithm-C3
-perl-Algorithm-Diff
-perl-aliased
-perl-App-cpanminus
-perl-Archive-Zip
-perl-B-Hooks-EndOfScope
-perl-B-Keywords
-perl-BSD-Resource
-perl-Capture-Tiny
-perl-Carp-Always
-perl-Carp-Clan
-perl-Class-Accessor
-perl-Class-Accessor-Grouped
-perl-Class-C3
-perl-Class-C3-Componentised
-perl-Class-Data-Inheritable
-perl-Class-Factory-Util
-perl-Class-Inspector
-perl-Class-Load
-perl-Class-Load-XS
-perl-Class-Method-Modifiers
-perl-Class-Singleton
-perl-Class-Tiny
-perl-Class-XSAccessor
-perl-Clone
-perl-Clone-Choose
-perl-Code-TidyAll
-perl-CommonMark
-perl-Config-Any
-perl-Config-INI
-perl-Config-IniFiles
-perl-Config-Tiny
-perl-Context-Preserve
-perl-CPAN-DistnameInfo
-perl-Cpanel-JSON-XS
-perl-CPAN-Meta-Check
-perl-CPAN-Meta-Requirements
-perl-Crypt-DES
-perl-Crypt-DH-GMP
-perl-Crypt-Rijndael
-perl-CryptX
-perl-CSS-Minifier-XS
-perl-Data-Dump
-perl-Data-Dumper-Concise
-perl-Data-OptList
-perl-Data-Section
-perl-DateTime
-perl-DateTime-Format-Builder
-perl-DateTime-Format-Pg
-perl-DateTime-Format-Strptime
-perl-DateTime-Locale
-perl-DateTime-TimeZone
-perl-DBD-Pg
-perl-DBD-SQLite
-perl-DBI
-perl-DBIx-Class
-perl-DBIx-Class-DeploymentHandler
-perl-DBIx-Class-DynamicDefault
-perl-DBIx-Class-OptimisticLocking
-perl-DBIx-Class-Schema-Config
-perl-Devel-Cover
-perl-Devel-Cover-Report-Codecovbash
-perl-Devel-GlobalDestruction
-perl-Devel-OverloadInfo
-perl-Devel-StackTrace
-perl-Digest-HMAC
-perl-Digest-SHA1
-perl-Dist-CheckConflicts
-perl-Encode-Locale
-perl-Eval-Closure
-perl-Exception-Class
-perl-Exporter-Tiny
-perl-Feature-Compat-Try
-perl-File-chdir
-perl-File-Copy-Recursive
-perl-File-HomeDir
-perl-File-Listing
-perl-File-Map
-perl-File-Path
-perl-File-pushd
-perl-File-ShareDir
-perl-Filesys-Df
-perl-File-Which
-perl-Getopt-Long-Descriptive
-perl-Hash-Merge
-perl-HTML-Parser
-perl-HTML-Tagset
-perl-HTTP-Cookies
-perl-HTTP-Daemon
-perl-HTTP-Date
-perl-HTTP-Message
-perl-HTTP-Negotiate
-perl-Import-Into
-perl-IO-HTML
-perl-IO-Socket-SSL
-perl-IO-String
-perl-IO-stringy
-perl-IO-Tty
-perl-IPC-Run
-perl-IPC-Run3
-perl-IPC-System-Simple
-perl-JavaScript-Minifier-XS
-perl-JSON
-perl-JSON-MaybeXS
-perl-JSON-Validator
-perl-libwww-perl
-perl-Lingua-EN-Inflect
-perl-List-Compare
-perl-List-MoreUtils
-perl-List-MoreUtils-XS
-perl-List-SomeUtils
-perl-List-SomeUtils-XS
-perl-local-lib
-perl-Log-Any
-perl-Log-Contextual
-perl-LWP-MediaTypes
-perl-LWP-Protocol-https
-perl-MCP
-perl-Minion
-perl-Minion-Backend-SQLite
-perl-Mixin-Linewise
-perl-Module-Build
-perl-Module-Find
-perl-Module-Implementation
-perl-Module-Pluggable
-perl-Module-Runtime
-perl-Module-Runtime-Conflicts
-perl-Mojo-IOLoop-ReadWriteProcess
-perl-Mojolicious
-perl-Mojolicious-Plugin-AssetPack
-perl-Mojolicious-Plugin-OAuth2
-perl-Mojo-Pg
-perl-Mojo-RabbitMQ-Client
-perl-Mojo-SQLite
-perl-Moo
-perl-Moose
-perl-MooseX-Role-Parameterized
-perl-MRO-Compat
-perl-namespace-autoclean
-perl-namespace-clean
-perl-Net-AMQP
-perl-Net-HTTP
-perl-Net-IP
-perl-Net-OpenID-Common
-perl-Net-OpenID-Consumer
-perl-Net-SNMP
-perl-Net-SSH2
-perl-Net-SSLeay
-perl-Package-DeprecationManager
-perl-Package-Stash
-perl-Package-Stash-XS
-perl-Package-Variant
-perl-Params-Util
-perl-Params-Validate
-perl-Params-ValidationCompiler
-perl-Parse-PMFile
-perl-Parse-RecDescent
-perl-Path-Class
-perl-Path-Tiny
-perl-Perl-Critic
-perl-Perl-Critic-Community
-perl-Perl-Critic-Policy-Variables-ProhibitLoopOnHash
-perl-PerlIO-utf8_strict
-perl-Perl-Tidy
-perl-Pod-POM
-perl-Pod-Spell
-perl-PPI
-perl-PPIx-QuoteLike
-perl-PPIx-Regexp
-perl-PPIx-Utils
-perl-Readonly
-perl-Regexp-Common
-perl-Role-Tiny
-perl-Scope-Guard
-perl-Selenium-Remote-Driver
-perl-Socket6
-perl-Socket-MsgHdr
-perl-Software-License
-perl-Sort-Versions
-perl-Specio
-perl-Specio-Library-Path-Tiny
-perl-SQL-Abstract
-perl-SQL-Abstract-Classic
-perl-SQL-Abstract-Pg
-perl-SQL-SplitStatement
-perl-SQL-Translator
-perl-strictures
-perl-String-Format
-perl-String-ShellQuote
-perl-Sub-Exporter
-perl-Sub-Exporter-Progressive
-perl-Sub-Identify
-perl-Sub-Install
-perl-Sub-Name
-perl-Sub-Quote
-perl-Sub-Uplevel
-perl-SUPER
-perl-Syntax-Keyword-Try
-perl-TAP-Harness-JUnit
-perl-Task-Weaken
-perl-Test-CheckGitStatus
-perl-Test-Deep
-perl-Test-Differences
-perl-Test-Exception
-perl-Test-Fatal
-perl-Test-LongString
-perl-Test-MockModule
-perl-Test-MockObject
-perl-Test-Most
-perl-Test-Output
-perl-Test-Strict
-perl-Test-Warn
-perl-Test-Warnings
-perl-Text-Brew
-perl-Text-Diff
-perl-Text-Glob
-perl-Text-Template
-perl-TimeDate
-perl-Time-Duration-Parse
-perl-Time-modules
-perl-Time-Moment
-perl-Try-Tiny
-perl-UNIVERSAL-can
-perl-UNIVERSAL-isa
-perl-URI
-perl-URI-db
-perl-URI-Nested
-perl-Variable-Magic
-perl-WWW-RobotRules
-perl-XML-LibXML
-perl-XML-NamespaceSupport
-perl-XML-SAX
-perl-XML-SAX-Base
-perl-XML-SAX-Expat
-perl-XML-SemanticDiff
-perl-XML-Simple
-perl-XS-Parse-Keyword
-perl-YAML
-perl-YAML-LibYAML
-perl-YAML-PP
-psmisc
-python313-PyYAML
-python313-yamllint
-ShellCheck
-shfmt
-sqlite3
-sshpass
-file
-perl-Net-DBus
-perl-Test-Pod
+bsdtar-3.8.1
+chrony-4.6.1
+chrony-pool-openSUSE-4.6.1
+cmark-0.31.0
+crypto-policies-scripts-20250124.4d262e7
+expat-2.7.1
+file-5.46
+file-magic-5.46
+hostname-3.23
+iproute2-6.12
+iputils-20240905
+jq-1.7.1
+libcmark0_31_0-0.31.0
+libfido2-1-1.15.0
+libhidapi-hidraw0-0.14.0
+libjq1-1.7.1
+liblz1-1.15
+libmagic1-5.46
+libmnl0-1.0.5
+libonig5-6.9.8
+libssh2-1-1.11.1
+libtirpc3-1.3.6
+libtirpc-netconfig-1.3.6
+libxtables12-1.8.11
+lsof-4.99.4
+openssh-clients-10.0p2
+openssh-common-10.0p2
+optipng-0.7.8
+perl-Algorithm-C3-0.110.0
+perl-Algorithm-Diff-1.201
+perl-aliased-0.34
+perl-App-cpanminus-1.7048
+perl-Archive-Zip-1.68
+perl-B-Hooks-EndOfScope-0.280.0
+perl-B-Keywords-1.280.0
+perl-BSD-Resource-1.2911
+perl-Capture-Tiny-0.500.0
+perl-Carp-Always-0.16
+perl-Carp-Clan-6.80.0
+perl-Class-Accessor-0.51
+perl-Class-Accessor-Grouped-0.10014
+perl-Class-C3-0.35
+perl-Class-C3-Componentised-1.001002
+perl-Class-Data-Inheritable-0.100.0
+perl-Class-Inspector-1.36
+perl-Class-Load-0.25
+perl-Class-Load-XS-0.10
+perl-Class-Method-Modifiers-2.15
+perl-Class-Singleton-1.600.0
+perl-Class-Tiny-1.008
+perl-Class-XSAccessor-1.19
+perl-Clone-0.46
+perl-Clone-Choose-0.010
+perl-Code-TidyAll-0.840.0
+perl-CommonMark-0.310.100
+perl-Config-Any-0.33
+perl-Config-INI-0.029
+perl-Config-IniFiles-3.000003
+perl-Config-Tiny-2.300.0
+perl-Context-Preserve-0.03
+perl-CPAN-DistnameInfo-0.12
+perl-Cpanel-JSON-XS-4.380.0
+perl-CPAN-Meta-Check-0.18.0
+perl-CPAN-Meta-Requirements-2.143000
+perl-Crypt-DES-2.07
+perl-Crypt-DH-GMP-0.00012
+perl-Crypt-Rijndael-1.16
+perl-CryptX-0.87.0
+perl-CSS-Minifier-XS-0.13
+perl-Data-Dump-1.25
+perl-Data-Dumper-Concise-2.023
+perl-Data-OptList-0.114
+perl-DateTime-1.650.0
+perl-DateTime-Format-Builder-0.83
+perl-DateTime-Format-Pg-0.16014
+perl-DateTime-Format-Strptime-1.79
+perl-DateTime-Locale-1.440000
+perl-DateTime-TimeZone-2.640.0
+perl-DBD-Pg-3.18.0
+perl-DBD-SQLite-1.760.0
+perl-DBI-1.647.0
+perl-DBIx-Class-0.082844
+perl-DBIx-Class-DeploymentHandler-0.002234
+perl-DBIx-Class-DynamicDefault-0.04
+perl-DBIx-Class-OptimisticLocking-0.02
+perl-DBIx-Class-Schema-Config-0.001014
+perl-Devel-Cover-1.500.0
+perl-Devel-Cover-Report-Codecovbash-0.41.0
+perl-Devel-GlobalDestruction-0.14
+perl-Devel-OverloadInfo-0.007
+perl-Devel-StackTrace-2.50.0
+perl-Digest-HMAC-1.50.0
+perl-Digest-SHA1-2.13
+perl-Dist-CheckConflicts-0.11
+perl-Eval-Closure-0.14
+perl-Exception-Class-1.45
+perl-Exporter-Tiny-1.006002
+perl-Feature-Compat-Try-0.05
+perl-File-chdir-0.1011
+perl-File-Copy-Recursive-0.45
+perl-File-HomeDir-1.006
+perl-File-Listing-6.160.0
+perl-File-Map-0.71
+perl-File-Path-2.180000
+perl-File-pushd-1.016
+perl-File-ShareDir-1.118
+perl-Filesys-Df-0.92
+perl-File-Which-1.27
+perl-Getopt-Long-Descriptive-0.116.0
+perl-Hash-Merge-0.302
+perl-HTML-Parser-3.830.0
+perl-HTML-Tagset-3.240.0
+perl-HTTP-Cookies-6.110.0
+perl-HTTP-Date-6.06
+perl-HTTP-Message-7.0.0
+perl-HTTP-Negotiate-6.01
+perl-Import-Into-1.002005
+perl-IO-HTML-1.004
+perl-IO-Socket-SSL-2.89.0
+perl-IO-String-1.08
+perl-IO-stringy-2.113
+perl-IO-Tty-1.17
+perl-IPC-Run-20231003.0.0
+perl-IPC-Run3-0.49.0
+perl-IPC-System-Simple-1.30
+perl-JavaScript-Minifier-XS-0.15
+perl-JSON-4.10
+perl-JSON-MaybeXS-1.004008
+perl-JSON-Validator-5.150.0
+perl-libwww-perl-6.770.0
+perl-Lingua-EN-Inflect-1.905
+perl-List-Compare-0.55
+perl-List-MoreUtils-0.430
+perl-List-MoreUtils-XS-0.430
+perl-List-SomeUtils-0.59
+perl-List-SomeUtils-XS-0.58
+perl-local-lib-2.000029
+perl-Log-Any-1.717.0
+perl-Log-Contextual-0.009001
+perl-LWP-MediaTypes-6.04
+perl-LWP-Protocol-https-6.140.0
+perl-MCP-0.40.0
+perl-MIME-Base32-1.303.0
+perl-Minion-10.300.0
+perl-Minion-Backend-SQLite-5.0.7
+perl-Mixin-Linewise-0.111
+perl-Module-Build-0.423400
+perl-Module-Find-0.16
+perl-Module-Implementation-0.09
+perl-Module-Pluggable-6.300.0
+perl-Module-Runtime-0.016
+perl-Module-Runtime-Conflicts-0.003
+perl-Mojo-IOLoop-ReadWriteProcess-0.340.0
+perl-Mojolicious-9.410.0
+perl-Mojolicious-Plugin-AssetPack-2.150.0
+perl-Mojolicious-Plugin-OAuth2-2.02
+perl-Mojo-Pg-4.27
+perl-Mojo-RabbitMQ-Client-0.3.1
+perl-Mojo-SQLite-3.009
+perl-Moo-2.005005
+perl-Moose-2.2207
+perl-MooseX-Role-Parameterized-1.11
+perl-MRO-Compat-0.15
+perl-namespace-autoclean-0.310.0
+perl-namespace-clean-0.27
+perl-Net-AMQP-0.06
+perl-Net-DBus-1.2.0
+perl-Net-HTTP-6.23
+perl-Net-IP-1.26
+perl-Net-OpenID-Common-1.20
+perl-Net-OpenID-Consumer-1.18
+perl-Net-SNMP-6.0.1
+perl-Net-SSH2-0.73
+perl-Net-SSLeay-1.940.0
+perl-Package-DeprecationManager-0.18
+perl-Package-Stash-0.40
+perl-Package-Stash-XS-0.30
+perl-Package-Variant-1.003002
+perl-Params-Util-1.102
+perl-Params-Validate-1.31
+perl-Params-ValidationCompiler-0.31
+perl-Parse-PMFile-0.470.0
+perl-Parse-RecDescent-1.967015
+perl-Path-Class-0.37
+perl-Path-Tiny-0.146.0
+perl-Perl-Critic-1.152.0
+perl-Perl-Critic-Community-1.0.4
+perl-Perl-Critic-Policy-Plicease-ProhibitArrayAssignAref-100.0.0
+perl-Perl-Critic-Policy-Variables-ProhibitLoopOnHash-0.008
+perl-PerlIO-utf8_strict-0.010
+perl-Perl-Tidy-20260109.0.0
+perl-Pod-Parser-1.66
+perl-Pod-POM-2.01
+perl-Pod-Spell-1.26
+perl-PPI-1.279.0
+perl-PPIx-QuoteLike-0.023
+perl-PPIx-Regexp-0.088
+perl-PPIx-Utils-0.003
+perl-Readonly-2.05
+perl-Regexp-Common-2024080801.0.0
+perl-Role-Tiny-2.002004
+perl-Scope-Guard-0.21
+perl-Selenium-Remote-Driver-1.49
+perl-Socket6-0.29
+perl-Socket-MsgHdr-0.05
+perl-Sort-Versions-1.62
+perl-Specio-0.490.0
+perl-Specio-Library-Path-Tiny-0.05
+perl-SQL-Abstract-2.000001
+perl-SQL-Abstract-Classic-1.91
+perl-SQL-Abstract-Pg-1.0.0
+perl-SQL-SplitStatement-1.00023
+perl-SQL-Translator-1.660.0
+perl-strictures-2.000006
+perl-String-Format-1.18
+perl-String-ShellQuote-1.04
+perl-Sub-Exporter-0.991.0
+perl-Sub-Exporter-Progressive-0.001013
+perl-Sub-Identify-0.14
+perl-Sub-Install-0.929
+perl-Sub-Name-0.280.0
+perl-Sub-Quote-2.006008
+perl-Sub-Uplevel-0.2800
+perl-SUPER-1.20190531
+perl-Syntax-Keyword-Try-0.300.0
+perl-TAP-Harness-JUnit-0.42
+perl-Task-Weaken-1.06
+perl-Test-CheckGitStatus-0.1.2
+perl-Test-Deep-1.205.0
+perl-Test-Differences-0.710.0
+perl-Test-Exception-0.430000
+perl-Test-Fatal-0.017
+perl-Test-LongString-0.17
+perl-Test-MockModule-0.178.0
+perl-Test-MockObject-1.20200122
+perl-Test-Most-0.38
+perl-Test-Output-1.034
+perl-Test-Pod-1.52
+perl-Test-Strict-0.52
+perl-Test-Warn-0.37
+perl-Test-Warnings-0.38.0
+perl-Text-Brew-0.02
+perl-Text-Diff-1.45
+perl-Text-Glob-0.110.0
+perl-TimeDate-2.33
+perl-Time-Duration-Parse-0.16
+perl-Time-modules-2013.0912
+perl-Time-Moment-0.44
+perl-Try-Tiny-0.31
+perl-UNIVERSAL-can-1.20140328
+perl-UNIVERSAL-isa-1.20171012
+perl-URI-5.310.0
+perl-URI-db-0.230.0
+perl-URI-Nested-0.10
+perl-Variable-Magic-0.640.0
+perl-WWW-RobotRules-6.02
+perl-XML-LibXML-2.0210
+perl-XML-NamespaceSupport-1.12
+perl-XML-Parser-2.470.0
+perl-XML-SAX-1.02
+perl-XML-SAX-Base-1.09
+perl-XML-SAX-Expat-0.51
+perl-XML-SemanticDiff-1.0007
+perl-XML-Simple-2.25
+perl-XML-Twig-3.530.0
+perl-XS-Parse-Keyword-0.480.0
+perl-XString-0.005
+perl-YAML-1.30
+perl-YAML-LibYAML-0.903.0
+perl-YAML-PP-0.38.0
+psmisc-23.7
+python313-argparse-manpage-4.6
+python313-pathspec-0.12.1
+python313-PyYAML-6.0.2
+python313-setuptools-78.1.1
+python313-yamllint-1.36.2
+ShellCheck-0.10.0
+shfmt-3.5.1
+sqlite3-3.50.4
+sshpass-1.10

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.jidnWz/_old  2026-02-10 21:14:28.252712822 +0100
+++ /var/tmp/diff_new_pack.jidnWz/_new  2026-02-10 21:14:28.264713325 +0100
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1770308102.12dfd0e4
-mtime: 1770308102
-commit: 12dfd0e419cbde6e3773aa1f5e5c20d7dcd07ce7
+version: 5.1770718745.ce2072d3
+mtime: 1770718745
+commit: ce2072d33885ee19a7ec0d94bde7282722c02dc0
 

Reply via email to