Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openQA for openSUSE:Factory checked 
in at 2025-03-13 22:04:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.19136 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Thu Mar 13 22:04:54 2025 rev:682 rq:1252814 version:5.1741882150.baca1fd8

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2025-03-10 
18:05:24.878782551 +0100
+++ /work/SRC/openSUSE:Factory/.openQA.new.19136/openQA.changes 2025-03-13 
22:05:05.951769875 +0100
@@ -1,0 +2,25 @@
+Thu Mar 13 17:13:18 UTC 2025 - ok...@suse.com
+
+- Update to version 5.1741882150.baca1fd8:
+  * Fix bugzilla product entry for SL Micro
+  * Include IDs in error message when sending AMQP message fails
+  * Bump @eslint-community/eslint-utils from 4.5.0 to 4.5.1
+  * Fix XUnit parser softfail scenario
+  * Use signatures in lib/OpenQA/Schema/ResultSet/Jobs.pm
+  * Improve reading of text_data in module results
+  * Ensure fullstack tests run under high system load
+  * Add signatures to OpenQA::Schema::Result::JobModules
+  * Bump @eslint-community/eslint-utils from 4.4.1 to 4.5.0
+  * Fix unstable UI tests by waiting for popovers
+  * Revert "Mitigate error for textData undef"
+  * Mitigate textData undef failure
+  * Fix two more sporadic test failures in `t/ui/10-tests_overview.t`
+  * Avoid race condition in `t/ui/21-admin-needles.t`
+  * Mitigate error for textData undef
+  * Make the tests consistent with the behaviour before 0b78fa6
+  * Fix more sporadic test failures in `t/ui/10-tests_overview.t`
+  * Bump eslint-config-prettier from 10.0.2 to 10.1.1
+  * Bump eslint from 9.21.0 to 9.22.0
+  * Dependency cron 2025-03-10
+
+-------------------------------------------------------------------

Old:
----
  openQA-5.1741427870.33ddb978.obscpio

New:
----
  openQA-5.1741882150.baca1fd8.obscpio

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

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.0cPl5C/_old  2025-03-13 22:05:06.867808201 +0100
+++ /var/tmp/diff_new_pack.0cPl5C/_new  2025-03-13 22:05:06.871808368 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1741427870.33ddb978
+Version:        5.1741882150.baca1fd8
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.0cPl5C/_old  2025-03-13 22:05:06.895809373 +0100
+++ /var/tmp/diff_new_pack.0cPl5C/_new  2025-03-13 22:05:06.895809373 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-devel
 Name:           %{short_name}-test
-Version:        5.1741427870.33ddb978
+Version:        5.1741882150.baca1fd8
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.0cPl5C/_old  2025-03-13 22:05:06.919810377 +0100
+++ /var/tmp/diff_new_pack.0cPl5C/_new  2025-03-13 22:05:06.923810544 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1741427870.33ddb978
+Version:        5.1741882150.baca1fd8
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.0cPl5C/_old  2025-03-13 22:05:06.947811548 +0100
+++ /var/tmp/diff_new_pack.0cPl5C/_new  2025-03-13 22:05:06.947811548 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1741427870.33ddb978
+Version:        5.1741882150.baca1fd8
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.0cPl5C/_old  2025-03-13 22:05:06.979812887 +0100
+++ /var/tmp/diff_new_pack.0cPl5C/_new  2025-03-13 22:05:06.979812887 +0100
@@ -90,7 +90,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        5.1741427870.33ddb978
+Version:        5.1741882150.baca1fd8
 Release:        0
 Summary:        The openQA web-frontend, scheduler and tools
 License:        GPL-2.0-or-later

++++++ node_modules.obscpio ++++++
Binary files old/@eslint-community-eslint-utils-4.4.1.tgz and 
new/@eslint-community-eslint-utils-4.4.1.tgz differ
Binary files old/@eslint-community-eslint-utils-4.5.1.tgz and 
new/@eslint-community-eslint-utils-4.5.1.tgz differ
Binary files old/@eslint-config-helpers-0.1.0.tgz and 
new/@eslint-config-helpers-0.1.0.tgz differ
Binary files old/@eslint-js-9.21.0.tgz and new/@eslint-js-9.21.0.tgz differ
Binary files old/@eslint-js-9.22.0.tgz and new/@eslint-js-9.22.0.tgz differ
Binary files old/eslint-9.21.0.tgz and new/eslint-9.21.0.tgz differ
Binary files old/eslint-9.22.0.tgz and new/eslint-9.22.0.tgz differ
Binary files old/eslint-config-prettier-10.0.2.tgz and 
new/eslint-config-prettier-10.0.2.tgz differ
Binary files old/eslint-config-prettier-10.1.1.tgz and 
new/eslint-config-prettier-10.1.1.tgz differ
Binary files old/eslint-scope-8.2.0.tgz and new/eslint-scope-8.2.0.tgz differ
Binary files old/eslint-scope-8.3.0.tgz and new/eslint-scope-8.3.0.tgz differ

++++++ node_modules.spec.inc ++++++
--- /var/tmp/diff_new_pack.0cPl5C/_old  2025-03-13 22:05:07.591838494 +0100
+++ /var/tmp/diff_new_pack.0cPl5C/_new  2025-03-13 22:05:07.595838661 +0100
@@ -1,147 +1,148 @@
-Source1000:         
https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#/@eslint-community-eslint-utils-4.4.1.tgz
+Source1000:         
https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz#/@eslint-community-eslint-utils-4.5.1.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.19.2.tgz#/@eslint-config-array-0.19.2.tgz
-Source1003:         
https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz#/@eslint-core-0.12.0.tgz
-Source1004:         
https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz#/@eslint-eslintrc-3.3.0.tgz
-Source1005:         
https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz#/@eslint-js-9.21.0.tgz
-Source1006:         
https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz#/@eslint-object-schema-2.1.6.tgz
-Source1007:         
https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz#/@eslint-plugin-kit-0.2.7.tgz
-Source1008:         
https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz#/@humanfs-core-0.19.1.tgz
-Source1009:         
https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz#/@humanfs-node-0.16.6.tgz
-Source1010:         
https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#/@humanwhocodes-module-importer-1.0.1.tgz
-Source1011:         
https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz#/@humanwhocodes-retry-0.3.1.tgz
-Source1012:         
https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz#/@humanwhocodes-retry-0.4.2.tgz
-Source1013:         
https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz#/@pkgr-core-0.1.1.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.6.tgz#/@types-estree-1.0.6.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.39.0.tgz#/ace-builds-1.39.0.tgz
-Source1018:         
https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz#/acorn-8.14.1.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.3.tgz#/bootstrap-5.3.3.tgz
-Source1026:         
https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#/brace-expansion-1.1.11.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.2.2.tgz#/datatables.net-2.2.2.tgz
-Source1069:         
https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.2.2.tgz#/datatables.net-bs5-2.2.2.tgz
-Source1070:         
https://registry.npmjs.org/debug/-/debug-4.4.0.tgz#/debug-4.4.0.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.21.0.tgz#/eslint-9.21.0.tgz
-Source1075:         
https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.2.tgz#/eslint-config-prettier-10.0.2.tgz
-Source1076:         
https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz#/eslint-plugin-prettier-5.2.3.tgz
-Source1077:         
https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz#/eslint-scope-8.2.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.0.tgz#/eslint-visitor-keys-4.2.0.tgz
-Source1080:         
https://registry.npmjs.org/espree/-/espree-10.3.0.tgz#/espree-10.3.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.21.tgz#/lodash-4.17.21.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.5.3.tgz#/prettier-3.5.3.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.9.2.tgz#/synckit-0.9.2.tgz
-Source1139:         
https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz#/timeago-1.6.7.tgz
-Source1140:         
https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz#/tslib-2.8.1.tgz
-Source1141:         
https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.4.0.tgz
-Source1142:         
https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
-Source1143:         
https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
-Source1144:         
https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5.tgz
-Source1145:         
https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue-0.1.0.tgz
+Source1003:         
https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz#/@eslint-config-helpers-0.1.0.tgz
+Source1004:         
https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz#/@eslint-core-0.12.0.tgz
+Source1005:         
https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz#/@eslint-eslintrc-3.3.0.tgz
+Source1006:         
https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz#/@eslint-js-9.22.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.2.7.tgz#/@eslint-plugin-kit-0.2.7.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.6.tgz#/@humanfs-node-0.16.6.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.3.1.tgz#/@humanwhocodes-retry-0.3.1.tgz
+Source1013:         
https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz#/@humanwhocodes-retry-0.4.2.tgz
+Source1014:         
https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz#/@pkgr-core-0.1.1.tgz
+Source1015:         
https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz#/@popperjs-core-2.11.8.tgz
+Source1016:         
https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz#/@types-estree-1.0.6.tgz
+Source1017:         
https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz#/@types-json-schema-7.0.15.tgz
+Source1018:         
https://registry.npmjs.org/ace-builds/-/ace-builds-1.39.0.tgz#/ace-builds-1.39.0.tgz
+Source1019:         
https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz#/acorn-8.14.1.tgz
+Source1020:         
https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2.tgz
+Source1021:         
https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
+Source1022:         
https://registry.npmjs.org/anser/-/anser-2.3.2.tgz#/anser-2.3.2.tgz
+Source1023:         
https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles-4.3.0.tgz
+Source1024:         
https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#/argparse-2.0.1.tgz
+Source1025:         
https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#/balanced-match-1.0.2.tgz
+Source1026:         
https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz#/bootstrap-5.3.3.tgz
+Source1027:         
https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#/brace-expansion-1.1.11.tgz
+Source1028:         
https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#/callsites-3.1.0.tgz
+Source1029:         
https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#/chalk-4.1.2.tgz
+Source1030:         
https://registry.npmjs.org/chosen-js/-/chosen-js-1.8.7.tgz#/chosen-js-1.8.7.tgz
+Source1031:         
https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#/color-convert-2.0.1.tgz
+Source1032:         
https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#/color-name-1.1.4.tgz
+Source1033:         
https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#/commander-7.2.0.tgz
+Source1034:         
https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#/concat-map-0.0.1.tgz
+Source1035:         
https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz#/cross-spawn-7.0.6.tgz
+Source1036:         https://registry.npmjs.org/d3/-/d3-7.9.0.tgz#/d3-7.9.0.tgz
+Source1037:         
https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz#/d3-array-3.2.4.tgz
+Source1038:         
https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz#/d3-axis-3.0.0.tgz
+Source1039:         
https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz#/d3-brush-3.0.0.tgz
+Source1040:         
https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz#/d3-chord-3.0.1.tgz
+Source1041:         
https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz#/d3-color-3.1.0.tgz
+Source1042:         
https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz#/d3-contour-4.0.2.tgz
+Source1043:         
https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz#/d3-delaunay-6.0.4.tgz
+Source1044:         
https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz#/d3-dispatch-3.0.1.tgz
+Source1045:         
https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz#/d3-drag-3.0.0.tgz
+Source1046:         
https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz#/d3-dsv-3.0.1.tgz
+Source1047:         
https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz#/d3-ease-3.0.1.tgz
+Source1048:         
https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz#/d3-fetch-3.0.1.tgz
+Source1049:         
https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz#/d3-force-3.0.0.tgz
+Source1050:         
https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz#/d3-format-3.1.0.tgz
+Source1051:         
https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz#/d3-geo-3.1.1.tgz
+Source1052:         
https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#/d3-hierarchy-3.1.2.tgz
+Source1053:         
https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz#/d3-interpolate-3.0.1.tgz
+Source1054:         
https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz#/d3-path-3.1.0.tgz
+Source1055:         
https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz#/d3-polygon-3.0.1.tgz
+Source1056:         
https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz#/d3-quadtree-3.0.1.tgz
+Source1057:         
https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz#/d3-random-3.0.1.tgz
+Source1058:         
https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz#/d3-scale-4.0.2.tgz
+Source1059:         
https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#/d3-scale-chromatic-3.1.0.tgz
+Source1060:         
https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz#/d3-selection-3.0.0.tgz
+Source1061:         
https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz#/d3-shape-3.2.0.tgz
+Source1062:         
https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz#/d3-time-3.1.0.tgz
+Source1063:         
https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz#/d3-time-format-4.1.0.tgz
+Source1064:         
https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz#/d3-timer-3.0.1.tgz
+Source1065:         
https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz#/d3-transition-3.0.1.tgz
+Source1066:         
https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz#/d3-zoom-3.0.0.tgz
+Source1067:         
https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz#/dagre-0.8.5.tgz
+Source1068:         
https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz#/dagre-d3-0.6.4.tgz
+Source1069:         
https://registry.npmjs.org/datatables.net/-/datatables.net-2.2.2.tgz#/datatables.net-2.2.2.tgz
+Source1070:         
https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.2.2.tgz#/datatables.net-bs5-2.2.2.tgz
+Source1071:         
https://registry.npmjs.org/debug/-/debug-4.4.0.tgz#/debug-4.4.0.tgz
+Source1072:         
https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz
+Source1073:         
https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz#/delaunator-5.0.1.tgz
+Source1074:         
https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#/escape-string-regexp-4.0.0.tgz
+Source1075:         
https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz#/eslint-9.22.0.tgz
+Source1076:         
https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.1.tgz#/eslint-config-prettier-10.1.1.tgz
+Source1077:         
https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz#/eslint-plugin-prettier-5.2.3.tgz
+Source1078:         
https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz#/eslint-scope-8.3.0.tgz
+Source1079:         
https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#/eslint-visitor-keys-3.4.3.tgz
+Source1080:         
https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#/eslint-visitor-keys-4.2.0.tgz
+Source1081:         
https://registry.npmjs.org/espree/-/espree-10.3.0.tgz#/espree-10.3.0.tgz
+Source1082:         
https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#/esquery-1.6.0.tgz
+Source1083:         
https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0.tgz
+Source1084:         
https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.3.0.tgz
+Source1085:         
https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz
+Source1086:         
https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fast-deep-equal-3.1.3.tgz
+Source1087:         
https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz#/fast-diff-1.3.0.tgz
+Source1088:         
https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#/fast-json-stable-stringify-2.1.0.tgz
+Source1089:         
https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/fast-levenshtein-2.0.6.tgz
+Source1090:         
https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz#/file-entry-cache-8.0.0.tgz
+Source1091:         
https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#/find-up-5.0.0.tgz
+Source1092:         
https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz#/flat-cache-4.0.1.tgz
+Source1093:         
https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz#/flatted-3.3.3.tgz
+Source1094:         
https://registry.npmjs.org/fork-awesome/-/fork-awesome-1.2.0.tgz#/fork-awesome-1.2.0.tgz
+Source1095:         
https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent-6.0.2.tgz
+Source1096:         
https://registry.npmjs.org/globals/-/globals-14.0.0.tgz#/globals-14.0.0.tgz
+Source1097:         
https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz#/graphlib-2.1.8.tgz
+Source1098:         
https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz
+Source1099:         
https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#/iconv-lite-0.6.3.tgz
+Source1100:         
https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz#/ignore-5.3.2.tgz
+Source1101:         
https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz#/import-fresh-3.3.1.tgz
+Source1102:         
https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash-0.1.4.tgz
+Source1103:         
https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz#/internmap-2.0.3.tgz
+Source1104:         
https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.1.1.tgz
+Source1105:         
https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz
+Source1106:         
https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz
+Source1107:         
https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz#/jquery-3.7.1.tgz
+Source1108:         
https://registry.npmjs.org/jquery-ujs/-/jquery-ujs-1.2.3.tgz#/jquery-ujs-1.2.3.tgz
+Source1109:         
https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#/js-yaml-4.1.0.tgz
+Source1110:         
https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer-3.0.1.tgz
+Source1111:         
https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#/json-schema-traverse-0.4.1.tgz
+Source1112:         
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
+Source1113:         
https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz
+Source1114:         
https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz
+Source1115:         
https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#/locate-path-6.0.0.tgz
+Source1116:         
https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#/lodash-4.17.21.tgz
+Source1117:         
https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.merge-4.6.2.tgz
+Source1118:         
https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#/minimatch-3.1.2.tgz
+Source1119:         https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#/ms-2.1.3.tgz
+Source1120:         
https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/natural-compare-1.4.0.tgz
+Source1121:         
https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#/optionator-0.9.4.tgz
+Source1122:         
https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#/p-limit-3.1.0.tgz
+Source1123:         
https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#/p-locate-5.0.0.tgz
+Source1124:         
https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-module-1.0.1.tgz
+Source1125:         
https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#/path-exists-4.0.0.tgz
+Source1126:         
https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
+Source1127:         
https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.2.1.tgz
+Source1128:         
https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz#/prettier-3.5.3.tgz
+Source1129:         
https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#/prettier-linter-helpers-1.0.0.tgz
+Source1130:         
https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz
+Source1131:         
https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-from-4.0.0.tgz
+Source1132:         
https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz#/robust-predicates-3.0.2.tgz
+Source1133:         https://registry.npmjs.org/rw/-/rw-1.3.3.tgz#/rw-1.3.3.tgz
+Source1134:         
https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buffer-2.1.2.tgz
+Source1135:         
https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/shebang-command-2.0.0.tgz
+Source1136:         
https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang-regex-3.0.0.tgz
+Source1137:         
https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#/strip-json-comments-3.1.1.tgz
+Source1138:         
https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/supports-color-7.2.0.tgz
+Source1139:         
https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz#/synckit-0.9.2.tgz
+Source1140:         
https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz#/timeago-1.6.7.tgz
+Source1141:         
https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz#/tslib-2.8.1.tgz
+Source1142:         
https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.4.0.tgz
+Source1143:         
https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
+Source1144:         
https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
+Source1145:         
https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5.tgz
+Source1146:         
https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue-0.1.0.tgz
 

++++++ openQA-5.1741427870.33ddb978.obscpio -> 
openQA-5.1741882150.baca1fd8.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1741427870.33ddb978/assets/javascripts/render.js 
new/openQA-5.1741882150.baca1fd8/assets/javascripts/render.js
--- old/openQA-5.1741427870.33ddb978/assets/javascripts/render.js       
2025-03-08 10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/assets/javascripts/render.js       
2025-03-13 17:09:10.000000000 +0100
@@ -136,7 +136,7 @@
 
     const url = renderTemplate(snippets.module_url, tplargs);
     const box = [];
-    const textData = step.text_data;
+    const textData = typeof step.text_data === 'string' ? step.text_data : '';
     let resborder = step.resborder;
     if (step.screenshot) {
       let thumb;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1741427870.33ddb978/lib/OpenQA/Parser/Format/XUnit.pm 
new/openQA-5.1741882150.baca1fd8/lib/OpenQA/Parser/Format/XUnit.pm
--- old/openQA-5.1741427870.33ddb978/lib/OpenQA/Parser/Format/XUnit.pm  
2025-03-08 10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/lib/OpenQA/Parser/Format/XUnit.pm  
2025-03-13 17:09:10.000000000 +0100
@@ -70,10 +70,6 @@
         $ts->children('testcase')->each(
             sub {
                 my $tc = shift;
-                my $tc_result = 'ok';
-                $tc_result = 'softfail' if ($tc->{softfailures} && 
$tc->{softfailures} > 0);
-                $tc_result = 'fail'
-                  if ($tc->{failures} && $tc->{failures} > 0) || 
($tc->{errors} && $tc->{errors} > 0);
 
                 my $text_fn = "$ts_category-$ts_name-$num";
                 $text_fn =~ s/[\/.]/_/g;
@@ -81,8 +77,9 @@
                 my $content = '# Test messages ';
                 $content .= "# $tc->{name}\n" if $tc->{name};
 
+                my $tc_result = 'ok';
                 for my $out ($tc->children('skipped, passed, error, failure, 
softfailure')->each) {
-                    if (my $res = $TC_RESULT_BY_TAG{$out->tag}) { $tc_result 
//= $res }
+                    if (my $res = $TC_RESULT_BY_TAG{$out->tag}) { $tc_result = 
$res }
                     $content .= '# ' . $out->tag . ": \n\n";
                     $content .= $out->{message} . "\n" if $out->{message};
                     $content .= $out->text . "\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1741427870.33ddb978/lib/OpenQA/Schema/Result/JobModules.pm 
new/openQA-5.1741882150.baca1fd8/lib/OpenQA/Schema/Result/JobModules.pm
--- old/openQA-5.1741427870.33ddb978/lib/OpenQA/Schema/Result/JobModules.pm     
2025-03-08 10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/lib/OpenQA/Schema/Result/JobModules.pm     
2025-03-13 17:09:10.000000000 +0100
@@ -3,8 +3,7 @@
 
 package OpenQA::Schema::Result::JobModules;
 
-
-use Mojo::Base 'DBIx::Class::Core';
+use Mojo::Base 'DBIx::Class::Core', -signatures;
 
 use OpenQA::Jobs::Constants;
 use Mojo::JSON qw(decode_json encode_json);
@@ -77,14 +76,11 @@
 );
 __PACKAGE__->add_unique_constraint([qw(job_id name category script)]);
 
-sub sqlt_deploy_hook {
-    my ($self, $sqlt_table) = @_;
-
+sub sqlt_deploy_hook ($self, $sqlt_table) {
     $sqlt_table->add_index(name => 'idx_job_modules_result', fields => 
['result']);
 }
 
-sub results {
-    my ($self, %options) = @_;
+sub results ($self, %options) {
     my $skip_text_data = $options{skip_text_data};
 
     return {} unless my $dir = $self->job->result_dir;
@@ -113,9 +109,8 @@
     for my $step (@$details) {
         my $text_file_name = $step->{text};
         if (!$skip_text_data && $text_file_name && !defined 
$step->{text_data}) {
-            my $text_file = path($dir, $text_file_name);
             $step->{text_data} = do {
-                try { decode('UTF-8', $text_file->slurp) }
+                try { decode('UTF-8', path($dir, $text_file_name)->slurp) // 
"Unable to decode $text_file_name." }
                 catch ($e) { "Unable to read $text_file_name." }
             };
         }
@@ -136,8 +131,7 @@
     return $results;
 }
 
-sub update_result {
-    my ($self, $r) = @_;
+sub update_result ($self, $r) {
     my $result = $r->{result} || 'none';
     $result =~ s,fail,failed,;
     $result =~ s,^na,none,;
@@ -151,8 +145,7 @@
 
 # if you give a needle_cache, make sure to call
 # OpenQA::Schema::Result::Needles::update_needle_cache
-sub store_needle_infos {
-    my ($self, $details, $needle_cache) = @_;
+sub store_needle_infos ($self, $details, $needle_cache = undef) {
 
     # we often see the same needles in the same test, so avoid duplicated work
     my %hash;
@@ -170,9 +163,7 @@
     OpenQA::Schema::Result::Needles::update_needle_cache(\%hash);
 }
 
-sub _save_details_screenshot {
-    my ($self, $screenshot, $known_md5_sums) = @_;
-
+sub _save_details_screenshot ($self, $screenshot, $known_md5_sums) {
     my ($full, $thumb) = OpenQA::Utils::image_md5_filename($screenshot->{md5});
     my $result_dir = $self->job->result_dir;
     my $screenshot_name = $screenshot->{name};
@@ -182,8 +173,7 @@
     return $screenshot_name;
 }
 
-sub save_results {
-    my ($self, $results, $known_md5_sums, $known_file_names) = @_;
+sub save_results ($self, $results, $known_md5_sums = undef, $known_file_names 
= undef) {
     my @dbpaths;
     my $details = $results->{details};
     my $result_dir = $self->job->result_dir;
@@ -212,9 +202,7 @@
 
 # incorporate textual step data into details JSON
 # note: Can not be called from save_results() because the upload must have 
already been concluded.
-sub finalize_results {
-    my ($self) = @_;
-
+sub finalize_results ($self) {
     # locate details JSON; skip if not present or empty
     my $dir = $self->job->result_dir;
     return undef unless $dir;
@@ -230,9 +218,8 @@
     # incorporate textual step data into details
     for my $step (@$details) {
         next unless my $text = $step->{text};
-        my $txtfile = path($dir, $text);
         my $txtdata;
-        try { $txtdata = decode('UTF-8', $txtfile->slurp) }
+        try { $txtdata = decode('UTF-8', path($dir, $text)->slurp) }
         catch ($e) { }
         $step->{text_data} = $txtdata if defined $txtdata;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1741427870.33ddb978/lib/OpenQA/Schema/ResultSet/Jobs.pm 
new/openQA-5.1741882150.baca1fd8/lib/OpenQA/Schema/ResultSet/Jobs.pm
--- old/openQA-5.1741427870.33ddb978/lib/OpenQA/Schema/ResultSet/Jobs.pm        
2025-03-08 10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/lib/OpenQA/Schema/ResultSet/Jobs.pm        
2025-03-13 17:09:10.000000000 +0100
@@ -38,8 +38,7 @@
 latest build for a given pair of distri and version.
 
 =cut
-sub latest_build {
-    my ($self, %args) = @_;
+sub latest_build ($self, %args) {
     my @conds;
     my %attrs;
     my $rsource = $self->result_source;
@@ -110,9 +109,7 @@
     return @latest;
 }
 
-sub create_from_settings {
-    my ($self, $settings, $scheduled_product_id) = @_;
-
+sub create_from_settings ($self, $settings, $scheduled_product_id = undef) {
     my %settings = %$settings;
     my %new_job_args;
 
@@ -427,9 +424,7 @@
     return $cancelled_jobs;
 }
 
-sub next_previous_jobs_query {
-    my ($self, $job, $jobid, %args) = @_;
-
+sub next_previous_jobs_query ($self, $job, $jobid, %args) {
     my $p_limit = $args{previous_limit};
     my $n_limit = $args{next_limit};
     my @params = (
@@ -452,9 +447,7 @@
 }
 
 
-sub stale_ones {
-    my ($self) = @_;
-
+sub stale_ones ($self) {
     my $dt = DateTime->from_epoch(
         epoch => time() - 
OpenQA::App->singleton->config->{global}->{worker_timeout},
         time_zone => 'UTC'
@@ -472,9 +465,7 @@
     return $self->search(\%overall_cond, \%attrs);
 }
 
-sub mark_job_linked {
-    my ($self, $jobid, $referer_url) = @_;
-
+sub mark_job_linked ($self, $jobid, $referer_url) {
     my $referer = Mojo::URL->new($referer_url);
     my $referer_host = $referer->host;
     my $app = OpenQA::App->singleton;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1741427870.33ddb978/lib/OpenQA/WebAPI/Plugin/AMQP.pm 
new/openQA-5.1741882150.baca1fd8/lib/OpenQA/WebAPI/Plugin/AMQP.pm
--- old/openQA-5.1741427870.33ddb978/lib/OpenQA/WebAPI/Plugin/AMQP.pm   
2025-03-08 10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/lib/OpenQA/WebAPI/Plugin/AMQP.pm   
2025-03-13 17:09:10.000000000 +0100
@@ -73,7 +73,8 @@
         sub ($error) {
             my $left = looks_like_number $remaining_attempts && 
$remaining_attempts > 1 ? $remaining_attempts - 1 : 0;
             my $delay = $retry_delay * $config->{publish_retry_delay_factor};
-            log_error "Publishing $topic failed: $error ($left attempts left)";
+            my ($event_id, $job_id) = ($event_data->{id} // 'none', 
$event_data->{job_id} // 'none');
+            log_error "Publishing $topic failed: $error (event ID: $event_id, 
job ID: $job_id, $left attempts left)";
             my $retry_function = sub ($loop) { $self->publish_amqp($topic, 
$event_data, $headers, $left, $delay) };
             Mojo::IOLoop->timer($retry_delay => $retry_function) if $left;
         })->finally(sub { undef $publisher });
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1741427870.33ddb978/package-lock.json 
new/openQA-5.1741882150.baca1fd8/package-lock.json
--- old/openQA-5.1741427870.33ddb978/package-lock.json  2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/package-lock.json  2025-03-13 
17:09:10.000000000 +0100
@@ -22,17 +22,18 @@
         "timeago": "^1.6.7"
       },
       "devDependencies": {
-        "eslint": "^9.21.0",
-        "eslint-config-prettier": "^10.0.2",
+        "eslint": "^9.22.0",
+        "eslint-config-prettier": "^10.1.1",
         "eslint-plugin-prettier": "^5.2.3",
         "prettier": "3.5.3"
       }
     },
     "node_modules/@eslint-community/eslint-utils": {
-      "version": "4.4.1",
-      "resolved": 
"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz";,
-      "integrity": 
"sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
+      "version": "4.5.1",
+      "resolved": 
"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz";,
+      "integrity": 
"sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "eslint-visitor-keys": "^3.4.3"
       },
@@ -70,6 +71,16 @@
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
+    "node_modules/@eslint/config-helpers": {
+      "version": "0.1.0",
+      "resolved": 
"https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz";,
+      "integrity": 
"sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "engines": {
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+      }
+    },
     "node_modules/@eslint/core": {
       "version": "0.12.0",
       "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz";,
@@ -108,9 +119,9 @@
       }
     },
     "node_modules/@eslint/js": {
-      "version": "9.21.0",
-      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz";,
-      "integrity": 
"sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==",
+      "version": "9.22.0",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz";,
+      "integrity": 
"sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -884,18 +895,19 @@
       }
     },
     "node_modules/eslint": {
-      "version": "9.21.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.21.0.tgz";,
-      "integrity": 
"sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==",
+      "version": "9.22.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz";,
+      "integrity": 
"sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.2.0",
         "@eslint-community/regexpp": "^4.12.1",
         "@eslint/config-array": "^0.19.2",
+        "@eslint/config-helpers": "^0.1.0",
         "@eslint/core": "^0.12.0",
         "@eslint/eslintrc": "^3.3.0",
-        "@eslint/js": "9.21.0",
+        "@eslint/js": "9.22.0",
         "@eslint/plugin-kit": "^0.2.7",
         "@humanfs/node": "^0.16.6",
         "@humanwhocodes/module-importer": "^1.0.1",
@@ -907,7 +919,7 @@
         "cross-spawn": "^7.0.6",
         "debug": "^4.3.2",
         "escape-string-regexp": "^4.0.0",
-        "eslint-scope": "^8.2.0",
+        "eslint-scope": "^8.3.0",
         "eslint-visitor-keys": "^4.2.0",
         "espree": "^10.3.0",
         "esquery": "^1.5.0",
@@ -944,13 +956,13 @@
       }
     },
     "node_modules/eslint-config-prettier": {
-      "version": "10.0.2",
-      "resolved": 
"https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.2.tgz";,
-      "integrity": 
"sha512-1105/17ZIMjmCOJOPNfVdbXafLCLj3hPmkmB7dLgt7XsQ/zkxSuDerE/xgO3RxoHysR1N1whmquY0lSn2O0VLg==",
+      "version": "10.1.1",
+      "resolved": 
"https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.1.tgz";,
+      "integrity": 
"sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==",
       "dev": true,
       "license": "MIT",
       "bin": {
-        "eslint-config-prettier": "build/bin/cli.js"
+        "eslint-config-prettier": "bin/cli.js"
       },
       "peerDependencies": {
         "eslint": ">=7.0.0"
@@ -987,10 +999,11 @@
       }
     },
     "node_modules/eslint-scope": {
-      "version": "8.2.0",
-      "resolved": 
"https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz";,
-      "integrity": 
"sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==",
+      "version": "8.3.0",
+      "resolved": 
"https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz";,
+      "integrity": 
"sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==",
       "dev": true,
+      "license": "BSD-2-Clause",
       "dependencies": {
         "esrecurse": "^4.3.0",
         "estraverse": "^5.2.0"
@@ -1088,6 +1101,7 @@
       "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz";,
       "integrity": 
"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
       "dev": true,
+      "license": "BSD-2-Clause",
       "dependencies": {
         "estraverse": "^5.2.0"
       },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1741427870.33ddb978/package.json 
new/openQA-5.1741882150.baca1fd8/package.json
--- old/openQA-5.1741427870.33ddb978/package.json       2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/package.json       2025-03-13 
17:09:10.000000000 +0100
@@ -12,8 +12,8 @@
   },
   "homepage": "https://github.com/os-autoinst/openQA#readme";,
   "devDependencies": {
-    "eslint": "^9.21.0",
-    "eslint-config-prettier": "^10.0.2",
+    "eslint": "^9.22.0",
+    "eslint-config-prettier": "^10.1.1",
     "eslint-plugin-prettier": "^5.2.3",
     "prettier": "3.5.3"
   },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1741427870.33ddb978/t/23-amqp.t 
new/openQA-5.1741882150.baca1fd8/t/23-amqp.t
--- old/openQA-5.1741427870.33ddb978/t/23-amqp.t        2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/t/23-amqp.t        2025-03-13 
17:09:10.000000000 +0100
@@ -301,17 +301,20 @@
 };
 
 subtest 'promise handlers' => sub {
-    combined_like { $amqp->publish_amqp('some.topic', {}) } 
qr/Sending.*some\.topic/, 'publishing logged (1)';
+    my %event_data = (id => 'foo', job_id => 'bar');
+    combined_like { $amqp->publish_amqp('some.topic', \%event_data) } 
qr/Sending.*some\.topic/, 'publishing logged (1)';
     combined_like { $last_promise->resolve(1); $last_promise->wait } 
qr/some\.topic published/, 'success logged';
-    combined_like { $amqp->publish_amqp('some.topic', {}) } 
qr/Sending.*some\.topic/, 'publishing logged (2)';
+    combined_like { $amqp->publish_amqp('some.topic', \%event_data) } 
qr/Sending.*some\.topic/, 'publishing logged (2)';
     my $previous_promise = $last_promise;
     combined_like { $last_promise->reject('some error'); $last_promise->wait }
-    qr/Publishing some\.topic failed: some error \(1 attempts left\)/, 
'failure logged, 1 attempt remaining';
+    qr/Publishing some\.topic failed: some error \(event ID: foo, job ID: bar, 
1 attempts left\)/,
+      'failure logged, 1 attempt remaining';
     combined_like { Mojo::IOLoop->one_tick } qr/Sending.*some\.topic/, 'trying 
to publish the event again';
     isnt $last_promise, $previous_promise, 'another promise has been made (to 
re-try)';
     $previous_promise = $last_promise;
     combined_like { $last_promise->reject('some error'); $last_promise->wait }
-    qr/Publishing some\.topic failed: some error \(0 attempts left\)/, 
'failure logged, no attempts remaining';
+    qr/Publishing some\.topic failed: some error \(event ID: foo, job ID: bar, 
0 attempts left\)/,
+      'failure logged, no attempts remaining';
     combined_unlike { Mojo::IOLoop->one_tick } qr/Sending.*some\.topic/, 'no 
further retry logged';
     is $last_promise, $previous_promise, 'no further promise has been made 
(running out of retries)';
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1741427870.33ddb978/t/30-test_parser.t 
new/openQA-5.1741882150.baca1fd8/t/30-test_parser.t
--- old/openQA-5.1741427870.33ddb978/t/30-test_parser.t 2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/t/30-test_parser.t 2025-03-13 
17:09:10.000000000 +0100
@@ -443,6 +443,8 @@
 
     ok $parser->generated_tests_results->first()->time;
     ok $parser->generated_tests_results->first()->softfailures;
+    is $parser->results->first->softfailures, 555, 'The test suite header says 
555 softfailures';
+
     ok $parser->generated_tests_results->first()->errors;
     ok $parser->generated_tests_results->first()->failures;
     ok $parser->generated_tests_results->first()->tests;
@@ -455,7 +457,7 @@
       'Overall 11 testsuites, 2 tests does not have title containing bacon';
     is $parser->results->search_in_details("text", qr/bacon/)->size, 16,
       'Overall 11 testsuites, 15 tests are for bacon';
-    is $parser->generated_tests_output->size, 24, "23 Outputs";
+    is $parser->generated_tests_output->size, 24, "24 Outputs";
 
     my $resultsdir = tempdir;
     $parser->write_output($resultsdir);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1741427870.33ddb978/t/32-openqa_client.t 
new/openQA-5.1741882150.baca1fd8/t/32-openqa_client.t
--- old/openQA-5.1741427870.33ddb978/t/32-openqa_client.t       2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/t/32-openqa_client.t       2025-03-13 
17:09:10.000000000 +0100
@@ -46,7 +46,7 @@
     lives_ok {
         $t->ua->upload->asset(99963 => {chunk_size => $chunk_size, file => 
$filename, name => 'hdd_image2.qcow2'})
     }
-    'No upload errors';
+    'No upload errors' or BAIL_OUT "$@";
     path($chunkdir)->remove_tree;
     ok !-d $chunkdir, 'Chunk directory should not exist anymore';
     ok -e $rp, 'Asset exists after upload';
@@ -63,7 +63,7 @@
         $t->ua->upload->asset(
             99963 => {chunk_size => $chunk_size, file => $filename, name => 
'hdd_image5.qcow2', local => 1});
     }
-    'No upload errors';
+    'No upload errors' or BAIL_OUT "$@";
     path($chunkdir)->remove_tree;
     ok !-d $chunkdir, 'Chunk directory should not exist anymore';
     ok -e $rp, 'Asset exists after upload';
@@ -83,7 +83,7 @@
         $t->ua->upload->asset(
             99963 => {chunk_size => $chunk_size, file => $filename, name => 
'hdd_image3.qcow2', asset => 'private'});
     }
-    'No upload errors' or die explain $@;
+    'No upload errors' or BAIL_OUT "$@";
     $t->ua->upload->unsubscribe('upload_local.prepare' => $local_prepare_cb);
     $t->ua->upload->unsubscribe('upload_chunl.prepare' => $chunk_prepare_cb);
     ok !$local_prepare, 'not uploaded via file copy';
@@ -113,7 +113,7 @@
                 local => 1
             });
     }
-    'No upload errors';
+    'No upload errors' or BAIL_OUT "$@";
     $t->ua->upload->unsubscribe('upload_local.prepare' => $local_prepare_cb);
     $t->ua->upload->unsubscribe('upload_chunl.prepare' => $chunk_prepare_cb);
     ok $local_prepare, 'uploaded via file copy';
@@ -139,7 +139,7 @@
         $t->ua->upload->asset(
             99963 => {chunk_size => $chunk_size, file => $filename, name => 
'hdd_image3.xml', asset => 'other'});
     }
-    'No upload errors';
+    'No upload errors' or BAIL_OUT "$@";
     ok !-d $chunkdir, 'Chunk directory should not exist anymore';
     ok -e $rp, 'Asset exists after upload';
     is $sum, OpenQA::File->file_digest($rp), 'checksum matches for other 
asset';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1741427870.33ddb978/t/data/workers.ini 
new/openQA-5.1741882150.baca1fd8/t/data/workers.ini
--- old/openQA-5.1741427870.33ddb978/t/data/workers.ini 2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/t/data/workers.ini 2025-03-13 
17:09:10.000000000 +0100
@@ -3,6 +3,9 @@
 [global]
 HOST = http://localhost:9526
 WORKER_HOSTNAME = 127.0.0.1
+# ensure fullstack tests run even under high load
+# the value set to 0 prevents jobs from being blocked in ci
+CRITICAL_LOAD_AVG_THRESHOLD = 0
 
 [1]
 WORKER_CLASS = qemu_i386,qemu_x86_64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1741427870.33ddb978/t/ui/10-tests_overview.t 
new/openQA-5.1741882150.baca1fd8/t/ui/10-tests_overview.t
--- old/openQA-5.1741427870.33ddb978/t/ui/10-tests_overview.t   2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/t/ui/10-tests_overview.t   2025-03-13 
17:09:10.000000000 +0100
@@ -132,7 +132,7 @@
 $driver->find_element_by_id('filter-todo')->click();
 $driver->find_element_by_id('filter-passed')->click();
 $driver->find_element_by_id('filter-failed')->click();
-$driver->find_element('#filter-form button')->click();
+apply_filter('failed');    # failed selected, passed and todo unselected
 $driver->find_element_by_id('res_DVD_x86_64_doc');
 my @filtered_out = $driver->find_elements('#res_DVD_x86_64_kde', 'css');
 is(scalar @filtered_out, 0, 'result filter correctly applied');
@@ -144,7 +144,10 @@
 $driver->get($url_with_escaped_parameters);
 $driver->find_element('#filter-panel .card-header')->click();
 $driver->find_element('#filter-form button')->click();
-is($driver->get_current_url(), $url_with_escaped_parameters . '#', 'escaped 
URL parameters are passed correctly');
+my $url_after_filter = "$url_with_escaped_parameters#";
+my $desc = 'escaped URL parameters are passed correctly';
+wait_until sub { $driver->get_current_url eq $url_after_filter }, $desc, 10;
+is $driver->get_current_url, $url_after_filter, $desc;
 
 # Test failed module info async update
 $driver->get($baseurl . 
'tests/overview?distri=opensuse&version=13.1&build=0091&groupid=1001');
@@ -157,7 +160,7 @@
 my @descriptions = $driver->find_elements('td.name a', 'css');
 is(scalar @descriptions, 2, 'only test suites with description content are 
shown as links');
 $descriptions[0]->click();
-is($driver->find_element('.popover-header')->get_text, 'kde', 'description 
popover shows content');
+is wait_for_element(selector => '.popover-header')->get_text, 'kde', 
'description popover shows content';
 
 # Test bug status
 my @closed_bugs = $driver->find_elements('#bug-99937 .bug_closed', 'css');
@@ -239,6 +242,16 @@
 
 $jobs->find(99961)->update({FLAVOR => 'NET', TEST => 'kde'});
 
+sub apply_filter ($filter) {
+    # submit the filter form and wait via a single XPath query until the page 
has been reloaded with the filter present
+    # note: Using a single selector (instead of a selector and then querying 
the element text/visibility) avoids
+    #       possible race conditions where querying the element 
text/visibility would run into an error because the
+    #       element got stale.
+    $driver->find_element('#filter-panel button[type="submit"]')->click();
+    my $s = 
"//*[\@id='filter-panel']/*[\@class='card-header']/span[text()='current: 
$filter']";
+    wait_for_element(selector => $s, method => 'xpath', desc => "filter 
'$filter' visible on form header");
+}
+
 subtest 'filtering by architecture' => sub {
     $driver->get('/tests/overview?distri=opensuse&version=13.1&build=0091');
 
@@ -249,7 +262,7 @@
     subtest 'filter for specific archs' => sub {
         $driver->find_element('#filter-panel .card-header')->click();
         $driver->find_element('#filter-arch')->send_keys('i586,i686');
-        $driver->find_element('#filter-panel button[type="submit"]')->click();
+        apply_filter('i586,i686');
 
         element_visible('#flavor_DVD_arch_i586', qr/i586/);
         element_not_present('#flavor_DVD_arch_x86_64');
@@ -268,7 +281,7 @@
     subtest 'filter for specific flavors' => sub {
         $driver->find_element('#filter-panel .card-header')->click();
         $driver->find_element('#filter-flavor')->send_keys('DVD');
-        $driver->find_element('#filter-panel button[type="submit"]')->click();
+        apply_filter('DVD');
 
         element_visible('#flavor_DVD_arch_i586', qr/i586/);
         element_visible('#flavor_DVD_arch_x86_64', qr/x86_64/);
@@ -300,7 +313,7 @@
     subtest 'filter for specific test' => sub {
         $driver->find_element('#filter-panel .card-header')->click();
         $driver->find_element('#filter-test')->send_keys('textmode');
-        $driver->find_element('#filter-panel button[type="submit"]')->click();
+        apply_filter 'textmode';
         check_textmode_test 'textmode zypper_up';
     };
 };
@@ -443,7 +456,7 @@
     subtest 'filter for specific machine' => sub {
         $driver->find_element('#filter-panel .card-header')->click();
         $driver->find_element('#filter-machine')->send_keys('uefi');
-        $driver->find_element('#filter-panel button[type="submit"]')->click();
+        apply_filter('uefi');
 
         wait_for_element(selector => '#flavor_DVD_arch_x86_64', like => 
qr/x86_64/, desc => 'DVD/x86_64 present');
         element_not_present("#$_") for qw(flavor_DVD_arch_i586 
flavor_GNOME-Live_arch_i686 flavor_NET_arch_x86_64);
@@ -455,7 +468,7 @@
         $driver->find_element('#filter-panel .card-header')->click();
         $driver->find_element('#filter-machine')->clear();
         $driver->find_element('#filter-machine')->send_keys('64bit,uefi');
-        $driver->find_element('#filter-panel button[type="submit"]')->click();
+        apply_filter('64bit,uefi');
 
         wait_for_element(selector => '#flavor_NET_arch_x86_64', like => 
qr/x86_64/, desc => 'NET/x86_64 present');
         wait_for_element(selector => '#flavor_DVD_arch_x86_64', like => 
qr/x86_64/, desc => 'DVD/x86_64 still present');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1741427870.33ddb978/t/ui/15-admin-workers.t 
new/openQA-5.1741882150.baca1fd8/t/ui/15-admin-workers.t
--- old/openQA-5.1741427870.33ddb978/t/ui/15-admin-workers.t    2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/t/ui/15-admin-workers.t    2025-03-13 
17:09:10.000000000 +0100
@@ -138,7 +138,7 @@
         $driver->find_element("tr#worker_$broken_worker_id 
.status")->get_text(),
         'Unavailable', "worker $broken_worker_id is broken and displayed as 
unavailable",
     );
-    like($driver->find_element('.popover')->get_text(), qr/Details\nout of 
order/, 'reason for brokenness shown');
+    like wait_for_element(selector => '.popover')->get_text, qr/Details\nout 
of order/, 'reason for brokenness shown';
 };
 
 # test delete offline worker function
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1741427870.33ddb978/t/ui/15-comments.t 
new/openQA-5.1741882150.baca1fd8/t/ui/15-comments.t
--- old/openQA-5.1741427870.33ddb978/t/ui/15-comments.t 2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/t/ui/15-comments.t 2025-03-13 
17:09:10.000000000 +0100
@@ -292,7 +292,7 @@
         disable_bootstrap_animations;
         my $help_icon = $driver->find_element('#commentForm 
.help_popover.fa-question-circle');
         $help_icon->click;
-        like($driver->find_element('.popover')->get_text, qr/Help for 
comments/, 'popover shown on click');
+        is wait_for_element(selector => '.popover-header')->get_text, 'Help 
for comments', 'popover shown on click';
         $help_icon->click;
     };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1741427870.33ddb978/t/ui/21-admin-needles.t 
new/openQA-5.1741882150.baca1fd8/t/ui/21-admin-needles.t
--- old/openQA-5.1741427870.33ddb978/t/ui/21-admin-needles.t    2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/t/ui/21-admin-needles.t    2025-03-13 
17:09:10.000000000 +0100
@@ -351,6 +351,7 @@
     is($needle_tds[1]->get_text(), 'seven_month-undef.json', 'search 
seven_month-undef needle correctly');
 
     $last_seen_options[0]->click();
+    wait_for_data_table($needles_table, 3);    # minimize chance for race 
condition, see poo#167611
     $last_match_options[6]->click();
     wait_for_data_table($needles_table, 4);
     @needle_trs = $driver->find_elements('#needles tbody tr');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1741427870.33ddb978/t/ui/25-developer_mode.t 
new/openQA-5.1741882150.baca1fd8/t/ui/25-developer_mode.t
--- old/openQA-5.1741427870.33ddb978/t/ui/25-developer_mode.t   2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/t/ui/25-developer_mode.t   2025-03-13 
17:09:10.000000000 +0100
@@ -326,7 +326,7 @@
     my $popover_icon = $driver->find_element('#developer-form .help_popover');
     if (ok $popover_icon, 'popover icon(s) present') {
         $popover_icon->click;
-        ok $driver->find_element('body > .popover'), 'popover shown';
+        ok wait_for_element(selector => 'body > .popover'), 'popover shown';
     }
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1741427870.33ddb978/templates/webapi/branding/openSUSE/external_reporting.html.ep
 
new/openQA-5.1741882150.baca1fd8/templates/webapi/branding/openSUSE/external_reporting.html.ep
--- 
old/openQA-5.1741427870.33ddb978/templates/webapi/branding/openSUSE/external_reporting.html.ep
      2025-03-08 10:57:50.000000000 +0100
+++ 
new/openQA-5.1741882150.baca1fd8/templates/webapi/branding/openSUSE/external_reporting.html.ep
      2025-03-13 17:09:10.000000000 +0100
@@ -76,7 +76,10 @@
 %     }
 % }
 % elsif ($raw_distri eq 'sle-micro') {
-%     $product = 'Micro ' . $job->VERSION;
+%     # "Enterprise" is removed in 6.1 and 6.2
+%     my $version = $job->VERSION;
+%     $product = 'Micro ' . $version;
+%     $product = 'Enterprise ' . $product unless $version eq '6.1' || $version 
eq '6.2';
 % }
 % elsif ($raw_distri eq 'opensuse' || $raw_distri eq 'microos') {
 %     $product = $job->VERSION eq 'Tumbleweed' ? 'Tumbleweed' : 'Distribution';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1741427870.33ddb978/tools/ci/autoinst.sha 
new/openQA-5.1741882150.baca1fd8/tools/ci/autoinst.sha
--- old/openQA-5.1741427870.33ddb978/tools/ci/autoinst.sha      2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/tools/ci/autoinst.sha      2025-03-13 
17:09:10.000000000 +0100
@@ -1 +1 @@
-e663ac9b40183756d32d2b897895b7adcbece05b
+723f45e4cec72d4bf22971e0943ac79167e018fa
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1741427870.33ddb978/tools/ci/ci-packages.txt 
new/openQA-5.1741882150.baca1fd8/tools/ci/ci-packages.txt
--- old/openQA-5.1741427870.33ddb978/tools/ci/ci-packages.txt   2025-03-08 
10:57:50.000000000 +0100
+++ new/openQA-5.1741882150.baca1fd8/tools/ci/ci-packages.txt   2025-03-13 
17:09:10.000000000 +0100
@@ -65,7 +65,7 @@
 perl-DBD-SQLite-1.760.0
 perl-DBI-1.647.0
 perl-DBIx-Class-0.082843
-perl-DBIx-Class-DeploymentHandler-0.002233
+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

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.0cPl5C/_old  2025-03-13 22:05:19.704346165 +0100
+++ /var/tmp/diff_new_pack.0cPl5C/_new  2025-03-13 22:05:19.704346165 +0100
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1741427870.33ddb978
-mtime: 1741427870
-commit: 33ddb978ae5dfcbb1162db1b8ca7f5862b0c8633
+version: 5.1741882150.baca1fd8
+mtime: 1741882150
+commit: baca1fd8b45f3f76a089c4342715c7c1d719f50a
 

Reply via email to