From 1b9f1ccdbb7d00705b036d1332908fe52c2cd7ae Mon Sep 17 00:00:00 2001 From: Yaroslav Afenkin Date: Thu, 13 Jul 2023 07:24:44 +0000 Subject: [PATCH 001/104] [SECURITY-3188] --- .../main/java/hudson/AbstractMarkupText.java | 4 +- .../jenkins/security/Security3188Test.java | 52 +++++++++++++++++++ 2 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 test/src/test/java/jenkins/security/Security3188Test.java diff --git a/core/src/main/java/hudson/AbstractMarkupText.java b/core/src/main/java/hudson/AbstractMarkupText.java index b13eeaad3edd..a05cbb399d81 100644 --- a/core/src/main/java/hudson/AbstractMarkupText.java +++ b/core/src/main/java/hudson/AbstractMarkupText.java @@ -83,7 +83,7 @@ public final int length() { * @since 1.349 */ public void addHyperlink(int startPos, int endPos, String url) { - addMarkup(startPos, endPos, "", ""); + addMarkup(startPos, endPos, "", ""); } /** @@ -93,7 +93,7 @@ public void addHyperlink(int startPos, int endPos, String url) { * @since 1.395 */ public void addHyperlinkLowKey(int startPos, int endPos, String url) { - addMarkup(startPos, endPos, "", ""); + addMarkup(startPos, endPos, "", ""); } /** diff --git a/test/src/test/java/jenkins/security/Security3188Test.java b/test/src/test/java/jenkins/security/Security3188Test.java new file mode 100644 index 000000000000..28f4e58d0fe7 --- /dev/null +++ b/test/src/test/java/jenkins/security/Security3188Test.java @@ -0,0 +1,52 @@ +package jenkins.security; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; + +import hudson.Functions; +import hudson.model.FreeStyleBuild; +import hudson.model.FreeStyleProject; +import hudson.tasks.BatchFile; +import hudson.tasks.CommandInterpreter; +import hudson.tasks.Shell; +import java.util.concurrent.atomic.AtomicBoolean; +import org.htmlunit.html.HtmlPage; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; +import org.jvnet.hudson.test.Issue; +import org.jvnet.hudson.test.JenkinsRule; + +public class Security3188Test { + + @Rule + public JenkinsRule j = new JenkinsRule(); + + @Issue("SECURITY-3188") + @Test + public void linkCannotAttributeEscape() throws Exception { + FreeStyleProject p = j.createFreeStyleProject("p"); + p.getBuildersList().add(getScript("echo \"https://acme.com/search?q='onmouseover=alert(1);'Hello World\"")); + FreeStyleBuild build = j.buildAndAssertSuccess(p); + + AtomicBoolean alerts = new AtomicBoolean(); + try (JenkinsRule.WebClient wc = j.createWebClient()) { + wc.setAlertHandler((pr, s) -> alerts.set(true)); + final HtmlPage page = wc.goTo(build.getUrl() + "console"); + String content = page.getWebResponse().getContentAsString(); + assertThat(content, containsString(" Date: Sat, 15 Jul 2023 15:55:23 +0100 Subject: [PATCH 002/104] Tidy up the Parameters page (#8086) --- .../hudson/model/ParametersAction/index.jelly | 37 ++++++------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/core/src/main/resources/hudson/model/ParametersAction/index.jelly b/core/src/main/resources/hudson/model/ParametersAction/index.jelly index ae4fadf983b0..a035793cfab3 100644 --- a/core/src/main/resources/hudson/model/ParametersAction/index.jelly +++ b/core/src/main/resources/hudson/model/ParametersAction/index.jelly @@ -23,34 +23,21 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> - - + + + - + - - -

${%Build} ${build.displayName}

-
-
-
${%Parameters}
-
- - - - - - - -
-
-
-
-
+ + + ${title} + + + + +
From 9bdc291a2ec486c53d2820343bed28df81c657e6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 16 Jul 2023 09:44:37 +0200 Subject: [PATCH 003/104] Update babel monorepo to v7.22.9 (#8271) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 6 +-- war/yarn.lock | 97 ++++++++++++++++++++++++------------------------ 2 files changed, 51 insertions(+), 52 deletions(-) diff --git a/war/package.json b/war/package.json index 06826e823027..56121160e2a3 100644 --- a/war/package.json +++ b/war/package.json @@ -23,9 +23,9 @@ "lint": "yarn lint:js && yarn lint:css" }, "devDependencies": { - "@babel/cli": "7.22.6", - "@babel/core": "7.22.8", - "@babel/preset-env": "7.22.7", + "@babel/cli": "7.22.9", + "@babel/core": "7.22.9", + "@babel/preset-env": "7.22.9", "babel-loader": "9.1.3", "clean-webpack-plugin": "4.0.0", "css-loader": "6.8.1", diff --git a/war/yarn.lock b/war/yarn.lock index 58ed9dc4c9d4..ed2c86328fbc 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -22,9 +22,9 @@ __metadata: languageName: node linkType: hard -"@babel/cli@npm:7.22.6": - version: 7.22.6 - resolution: "@babel/cli@npm:7.22.6" +"@babel/cli@npm:7.22.9": + version: 7.22.9 + resolution: "@babel/cli@npm:7.22.9" dependencies: "@jridgewell/trace-mapping": ^0.3.17 "@nicolo-ribaudo/chokidar-2": 2.1.8-no-fsevents.3 @@ -45,7 +45,7 @@ __metadata: bin: babel: ./bin/babel.js babel-external-helpers: ./bin/babel-external-helpers.js - checksum: c2a6b7d68226f1601446a0e452fcbec9df40c5aabb991f427ad1e2d0eb75f123f530c1319b55b040d32b3593e003fced99e073ed556435e301d97a10965ac947 + checksum: 6acc76e521f8d657d8a85ff27387149b415507095911356417c7d26c456685153c76924bd5469f2ff026e83b65091df22d2066f1f403aeed82c4762611d9a9da languageName: node linkType: hard @@ -58,45 +58,45 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.5, @babel/compat-data@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/compat-data@npm:7.22.6" - checksum: b88631143a2ebdb75e5bac47984e950983294f1739c2133f32569c6f2fcee85f83634bb6cf4378afb44fa8eb7877d11e48811d1e6a52afa161f82276ffdc3fb4 +"@babel/compat-data@npm:^7.22.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/compat-data@npm:7.22.9" + checksum: bed77d9044ce948b4327b30dd0de0779fa9f3a7ed1f2d31638714ed00229fa71fc4d1617ae0eb1fad419338d3658d0e9a5a083297451e09e73e078d0347ff808 languageName: node linkType: hard -"@babel/core@npm:7.22.8": - version: 7.22.8 - resolution: "@babel/core@npm:7.22.8" +"@babel/core@npm:7.22.9": + version: 7.22.9 + resolution: "@babel/core@npm:7.22.9" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.22.5 - "@babel/generator": ^7.22.7 - "@babel/helper-compilation-targets": ^7.22.6 - "@babel/helper-module-transforms": ^7.22.5 + "@babel/generator": ^7.22.9 + "@babel/helper-compilation-targets": ^7.22.9 + "@babel/helper-module-transforms": ^7.22.9 "@babel/helpers": ^7.22.6 "@babel/parser": ^7.22.7 "@babel/template": ^7.22.5 "@babel/traverse": ^7.22.8 "@babel/types": ^7.22.5 - "@nicolo-ribaudo/semver-v6": ^6.3.3 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.2 - checksum: 75ed701c14ad17070382ae1dd166f7534b31f2c71e00995a5f261ee2398ee96335b0736573b8ff24ab6e3e6f5814ee2a48fa11ab90fabcd3dfc70ea87c5f30a6 + semver: ^6.3.1 + checksum: 7bf069aeceb417902c4efdaefab1f7b94adb7dea694a9aed1bda2edf4135348a080820529b1a300c6f8605740a00ca00c19b2d5e74b5dd489d99d8c11d5e56d1 languageName: node linkType: hard -"@babel/generator@npm:^7.22.7": - version: 7.22.7 - resolution: "@babel/generator@npm:7.22.7" +"@babel/generator@npm:^7.22.7, @babel/generator@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/generator@npm:7.22.9" dependencies: "@babel/types": ^7.22.5 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: cee15558888bdf5564e19cfaf95101b2910fa425f30cc1a25ac9b8621bd62b63544eb1b36ad89c80b5e41915699219f78712cab128d1f7e3da6a21fbf4143927 + checksum: 7c9d2c58b8d5ac5e047421a6ab03ec2ff5d9a5ff2c2212130a0055e063ac349e0b19d435537d6886c999771aef394832e4f54cd9fc810100a7f23d982f6af06b languageName: node linkType: hard @@ -118,18 +118,18 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/helper-compilation-targets@npm:7.22.6" +"@babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-compilation-targets@npm:7.22.9" dependencies: - "@babel/compat-data": ^7.22.6 + "@babel/compat-data": ^7.22.9 "@babel/helper-validator-option": ^7.22.5 - "@nicolo-ribaudo/semver-v6": ^6.3.3 browserslist: ^4.21.9 lru-cache: ^5.1.1 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: c7788c48099c4f0edf2adeb367a941a930d39ed7453140ceb10d7114c4091922adf56d3cdd832050fd4501f25e872886390629042ddd365d3bce2ecad69ed394 + checksum: ea0006c6a93759025f4a35a25228ae260538c9f15023e8aac2a6d45ca68aef4cf86cfc429b19af9a402cbdd54d5de74ad3fbcf6baa7e48184dc079f1a791e178 languageName: node linkType: hard @@ -224,19 +224,18 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-module-transforms@npm:7.22.5" +"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-module-transforms@npm:7.22.9" dependencies: "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-module-imports": ^7.22.5 "@babel/helper-simple-access": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 "@babel/helper-validator-identifier": ^7.22.5 - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: 8985dc0d971fd17c467e8b84fe0f50f3dd8610e33b6c86e5b3ca8e8859f9448bcc5c84e08a2a14285ef388351c0484797081c8f05a03770bf44fc27bf4900e68 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 2751f77660518cf4ff027514d6f4794f04598c6393be7b04b8e46c6e21606e11c19f3f57ab6129a9c21bacdf8b3ffe3af87bb401d972f34af2d0ffde02ac3001 languageName: node linkType: hard @@ -1199,12 +1198,12 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:7.22.7": - version: 7.22.7 - resolution: "@babel/preset-env@npm:7.22.7" +"@babel/preset-env@npm:7.22.9": + version: 7.22.9 + resolution: "@babel/preset-env@npm:7.22.9" dependencies: - "@babel/compat-data": ^7.22.6 - "@babel/helper-compilation-targets": ^7.22.6 + "@babel/compat-data": ^7.22.9 + "@babel/helper-compilation-targets": ^7.22.9 "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-validator-option": ^7.22.5 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.22.5 @@ -1278,14 +1277,14 @@ __metadata: "@babel/plugin-transform-unicode-sets-regex": ^7.22.5 "@babel/preset-modules": ^0.1.5 "@babel/types": ^7.22.5 - "@nicolo-ribaudo/semver-v6": ^6.3.3 babel-plugin-polyfill-corejs2: ^0.4.4 babel-plugin-polyfill-corejs3: ^0.8.2 babel-plugin-polyfill-regenerator: ^0.5.1 core-js-compat: ^3.31.0 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: eabde70e450dd54f57997b0f92317f69f268e9a1f85b13f5ef5540d2a38cfae5620bd8e48ddffb547c55fbd2f17673276e6eb9411d6b5fb82e3422faf44cb6cf + checksum: 6caa2897bbda30c6932aed0a03827deb1337c57108050c9f97dc9a857e1533c7125b168b6d70b9d191965bf05f9f233f0ad20303080505dff7ce39740aaa759d languageName: node linkType: hard @@ -4376,9 +4375,9 @@ __metadata: version: 0.0.0-use.local resolution: "jenkins-ui@workspace:." dependencies: - "@babel/cli": 7.22.6 - "@babel/core": 7.22.8 - "@babel/preset-env": 7.22.7 + "@babel/cli": 7.22.9 + "@babel/core": 7.22.9 + "@babel/preset-env": 7.22.9 babel-loader: 9.1.3 clean-webpack-plugin: 4.0.0 css-loader: 6.8.1 @@ -6483,12 +6482,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.3.0": - version: 6.3.0 - resolution: "semver@npm:6.3.0" +"semver@npm:^6.3.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" bin: - semver: ./bin/semver.js - checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 + semver: bin/semver.js + checksum: ae47d06de28836adb9d3e25f22a92943477371292d9b665fb023fae278d345d508ca1958232af086d85e0155aee22e313e100971898bbb8d5d89b8b1d4054ca2 languageName: node linkType: hard From fa49802765e241b0366c1f17fdd5f6bb677731b7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 08:50:53 +0100 Subject: [PATCH 004/104] Update dependency postcss to v8.4.26 (#8272) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/war/package.json b/war/package.json index 56121160e2a3..3e69cca391a2 100644 --- a/war/package.json +++ b/war/package.json @@ -34,7 +34,7 @@ "eslint-config-prettier": "8.8.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.6", - "postcss": "8.4.25", + "postcss": "8.4.26", "postcss-loader": "7.3.3", "postcss-preset-env": "9.0.0", "postcss-scss": "4.0.6", diff --git a/war/yarn.lock b/war/yarn.lock index ed2c86328fbc..2ac6facd3cd0 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4390,7 +4390,7 @@ __metadata: jquery: 3.7.0 lodash: 4.17.21 mini-css-extract-plugin: 2.7.6 - postcss: 8.4.25 + postcss: 8.4.26 postcss-loader: 7.3.3 postcss-preset-env: 9.0.0 postcss-scss: 4.0.6 @@ -6098,14 +6098,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.25, postcss@npm:^8.4.21, postcss@npm:^8.4.24": - version: 8.4.25 - resolution: "postcss@npm:8.4.25" +"postcss@npm:8.4.26, postcss@npm:^8.4.21, postcss@npm:^8.4.24": + version: 8.4.26 + resolution: "postcss@npm:8.4.26" dependencies: nanoid: ^3.3.6 picocolors: ^1.0.0 source-map-js: ^1.0.2 - checksum: 9ed3ab8af43ad5210c28f56f916fd9b8c9f94fbeaebbf645dcf579bc28bdd8056c2a7ecc934668d399b81fedb6128f0c4b299f931e50454964bc911c25a3a0a2 + checksum: 1cf08ee10d58cbe98f94bf12ac49a5e5ed1588507d333d2642aacc24369ca987274e1f60ff4cbf0081f70d2ab18a5cd3a4a273f188d835b8e7f3ba381b184e57 languageName: node linkType: hard From 18000770fc007171ffb319196425b6f975ea2f62 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon, 17 Jul 2023 08:51:23 +0100 Subject: [PATCH 005/104] Small tweaks to theme.scss (#8219) --- war/src/main/scss/abstracts/theme.scss | 46 +++++++++++-------- war/src/main/scss/form/reorderable-list.scss | 2 +- .../main/scss/modules/buttons-deprecated.scss | 6 +-- war/src/main/scss/modules/buttons.scss | 6 +-- war/src/main/scss/modules/icons.scss | 8 ++-- war/src/main/scss/pages/plugin-manager.scss | 4 +- 6 files changed, 39 insertions(+), 33 deletions(-) diff --git a/war/src/main/scss/abstracts/theme.scss b/war/src/main/scss/abstracts/theme.scss index 8723cabd8448..be48ffd9d74d 100644 --- a/war/src/main/scss/abstracts/theme.scss +++ b/war/src/main/scss/abstracts/theme.scss @@ -2,7 +2,7 @@ @use "../base/breakpoints"; $colors: ( - "blue": #007aff, + "blue": #006fe6, "brown": #a2845e, "cyan": #32ade6, "green": #1ea64b, @@ -12,9 +12,13 @@ $colors: ( "purple": #af52de, "red": #e6001f, "yellow": #ffb31a, + "white": #fff, + "black": #14141f, ); $semantics: ( + "accent": var(--blue), + "text": var(--black), "error": var(--red), "warning": var(--orange), "success": var(--green), @@ -40,19 +44,13 @@ $semantics: ( --line-height-heading: 1.2; // Color palette - --white: #fff; --very-light-grey: #f8f8f8; --light-grey: hsl(240, 20%, 96.5%); --medium-grey: #9ba7af; --dark-grey: #4d545d; - --black: hsl(240, 20%, 10%); // branding - --primary: hsl(212, 100%, 41%); --secondary: hsl(240, 10%, 50%); - --success: var(--green); - --danger: var(--red); - --warning: var(--orange); --focus: #3fb3f7; --focus-btn-primary: #{color.change(#0b6aa2, $alpha: 0.5)}; --focus-btn-secondary: #{color.change(#0b6aa2, $alpha: 0.5)}; @@ -67,7 +65,7 @@ $semantics: ( --danger-active: #b50003; // Status icon colors - --weather-icon-color: var(--primary); + --weather-icon-color: var(--accent-color); --unstable-build-icon-color: var(--orange); // Background colors @@ -118,7 +116,6 @@ $semantics: ( --alert-danger-border-color: #ebccd1; // Typography - --text-color: var(--black); --text-color-secondary: var(--secondary); // Button generic @@ -137,17 +134,17 @@ $semantics: ( --btn-secondary-color: var(--secondary); --btn-secondary-bg: var(--btn-text-color); --btn-secondary-border: var(--medium-grey); - --btn-secondary-color--hover: var(--primary); + --btn-secondary-color--hover: var(--accent-color); --btn-secondary-bg--hover: var(--btn-secondary-bg); - --btn-secondary-border--hover: var(--primary); - --btn-secondary-color--focus: var(--primary); + --btn-secondary-border--hover: var(--accent-color); + --btn-secondary-color--focus: var(--accent-color); --btn-secondary-bg--focus: var(--btn-secondary-bg); - --btn-secondary-border--focus: var(--primary); + --btn-secondary-border--focus: var(--accent-color); --btn-secondary-color--active: var(--primary-active); --btn-secondary-bg--active: var(--btn-secondary-bg); --btn-secondary-border--active: var(--primary-active); // Button link - --btn-link-color: var(--primary); + --btn-link-color: var(--accent-color); --btn-link-font-weight: var(--link-font-weight); --btn-link-color--hover: var(--primary-hover); --btn-link-bg--hover: var(--very-light-grey); @@ -160,9 +157,9 @@ $semantics: ( // Table --table-background: var(--panel-header-bg-color); - --table-header-foreground: black; - --table-body-background: white; - --table-body-foreground: black; + --table-header-foreground: var(--text-color); + --table-body-background: var(--background); + --table-body-foreground: var(--text-color); --table-border-radius: 10px; --table-row-border-radius: 4px; @@ -179,7 +176,7 @@ $semantics: ( --table-striped-bg--hover: var(--light-grey); // Link - --link-color: var(--primary); + --link-color: var(--accent-color); --link-visited-color: var(--link-color); --link-color--hover: var(--link-color); --link-color--active: var(--link-color); @@ -359,11 +356,20 @@ $semantics: ( --item-background--active: hsla(240, 25%, 75%, 0.225); --item-box-shadow--focus: hsla(240, 25%, 75%, 0.105); + // Deprecated + --primary: var(--accent-color); // Use var(--accent-color) instead + --success: var(--green); // Use var(--success-color) instead + --danger: var(--red); // Use var(--destructive-color) instead + --warning: var(--orange); // Use var(--warning-color) instead + // Colors @each $key, $value in $colors { - --light-#{$key}: #{lighten($value, 20%)}; --#{$key}: #{$value}; - --dark-#{$key}: #{darken($value, 20%)}; + + @if $key != "black" and $key != "white" { + --light-#{$key}: #{lighten($value, 20%)}; + --dark-#{$key}: #{darken($value, 20%)}; + } } @each $key, $value in $semantics { diff --git a/war/src/main/scss/form/reorderable-list.scss b/war/src/main/scss/form/reorderable-list.scss index 04ab28a65253..577f1853d4b9 100644 --- a/war/src/main/scss/form/reorderable-list.scss +++ b/war/src/main/scss/form/reorderable-list.scss @@ -98,7 +98,7 @@ div.to-be-removed { width: 100%; height: 100px; background-color: transparent; - border: 2px solid var(--primary); + border: 2px solid var(--accent-color); & > * { display: none; diff --git a/war/src/main/scss/modules/buttons-deprecated.scss b/war/src/main/scss/modules/buttons-deprecated.scss index 49c64603d4fc..b716d2c5a1bf 100644 --- a/war/src/main/scss/modules/buttons-deprecated.scss +++ b/war/src/main/scss/modules/buttons-deprecated.scss @@ -2,8 +2,8 @@ @mixin button-danger { color: var(--btn-text-color); - background-color: var(--danger); - border-color: var(--danger); + background-color: var(--destructive-color); + border-color: var(--destructive-color); &:hover, &:focus { @@ -74,7 +74,7 @@ } @mixin button-link { - color: var(--primary); + color: var(--accent-color); background-color: transparent; border-color: transparent; font-weight: var(--btn-link-font-weight); diff --git a/war/src/main/scss/modules/buttons.scss b/war/src/main/scss/modules/buttons.scss index c289f71ccc88..cfa3633b18d8 100644 --- a/war/src/main/scss/modules/buttons.scss +++ b/war/src/main/scss/modules/buttons.scss @@ -48,11 +48,11 @@ font-weight: 600; &::before { - background: var(--primary) !important; + background: var(--accent-color) !important; } &::after { - box-shadow: 0 0 0 0.66rem var(--primary); + box-shadow: 0 0 0 0.66rem var(--accent-color); opacity: 0; } @@ -70,7 +70,7 @@ } &::after { - box-shadow: 0 0 0 0.33rem var(--primary); + box-shadow: 0 0 0 0.33rem var(--accent-color); opacity: 0.2; } } diff --git a/war/src/main/scss/modules/icons.scss b/war/src/main/scss/modules/icons.scss index ce0540aa2626..5a823400871e 100644 --- a/war/src/main/scss/modules/icons.scss +++ b/war/src/main/scss/modules/icons.scss @@ -1,5 +1,5 @@ .icon-help { - color: var(--primary); + color: var(--accent-color); &:hover, &:focus { @@ -53,12 +53,12 @@ .icon-blue, .icon-blue-anime { - @include status-icon-color(var(--success)); + @include status-icon-color(var(--success-color)); } .icon-red, .icon-red-anime { - @include status-icon-color(var(--danger)); + @include status-icon-color(var(--destructive-color)); } .icon-yellow, @@ -80,7 +80,7 @@ .icon-grey-anime, .icon-nobuilt, .icon-nobuilt-anime { - @include status-icon-color(var(--primary)); + @include status-icon-color(var(--accent-color)); } .build-status-icon__wrapper { diff --git a/war/src/main/scss/pages/plugin-manager.scss b/war/src/main/scss/pages/plugin-manager.scss index 80167dfddc71..6fb61e570b51 100644 --- a/war/src/main/scss/pages/plugin-manager.scss +++ b/war/src/main/scss/pages/plugin-manager.scss @@ -59,7 +59,7 @@ .uninstall-state-info { padding: 5px 20px; max-width: 70%; - border: solid 1px var(--warning); + border: solid 1px var(--warning-color); border-radius: 3px; text-align: center; } @@ -85,7 +85,7 @@ .plugin-dependency-info span { margin: 5px 5px 0 0; - background-color: var(--primary); + background-color: var(--accent-color); display: inline-block; padding: 0.2em 0.6em 0.3em; font-size: var(--font-size-xs); From 357fde992de740c666a84b9caab520b3301f7204 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon, 17 Jul 2023 08:51:41 +0100 Subject: [PATCH 006/104] Add last build status to job page (#8129) --- .../hudson/model/AbstractBuild/index.jelly | 2 +- .../resources/hudson/model/Job/index.jelly | 15 +++++- .../resources/lib/hudson/build-caption.js | 2 +- .../resources/lib/hudson/buildCaption.jelly | 54 +++++++++++-------- .../java/jenkins/bugs/Jenkins64991Test.java | 2 +- war/src/main/scss/base/layout-commons.scss | 14 ----- war/src/main/scss/base/typography.scss | 6 +-- war/src/main/scss/modules/app-bar.scss | 19 ++++++- 8 files changed, 70 insertions(+), 44 deletions(-) diff --git a/core/src/main/resources/hudson/model/AbstractBuild/index.jelly b/core/src/main/resources/hudson/model/AbstractBuild/index.jelly index 58864689d56a..2d35a86710ed 100644 --- a/core/src/main/resources/hudson/model/AbstractBuild/index.jelly +++ b/core/src/main/resources/hudson/model/AbstractBuild/index.jelly @@ -48,7 +48,7 @@ THE SOFTWARE. - ${%Build} ${it.displayName} () + ${it.displayName} ()
diff --git a/core/src/main/resources/hudson/model/Job/index.jelly b/core/src/main/resources/hudson/model/Job/index.jelly index 686bb59d6641..23a454b4d52e 100644 --- a/core/src/main/resources/hudson/model/Job/index.jelly +++ b/core/src/main/resources/hudson/model/Job/index.jelly @@ -28,7 +28,20 @@ THE SOFTWARE. -

${it.pronoun}

+
+
+ + + + + + +

+ +

+
+
+ diff --git a/core/src/main/resources/lib/hudson/build-caption.js b/core/src/main/resources/lib/hudson/build-caption.js index c3b802336205..19177e0cd186 100644 --- a/core/src/main/resources/lib/hudson/build-caption.js +++ b/core/src/main/resources/lib/hudson/build-caption.js @@ -13,7 +13,7 @@ } } rsp.text().then((responseText) => { - document.querySelector(".build-caption .icon-xlg").outerHTML = + document.querySelector(".jenkins-build-caption .icon-xlg").outerHTML = responseText; }); }); diff --git a/core/src/main/resources/lib/hudson/buildCaption.jelly b/core/src/main/resources/lib/hudson/buildCaption.jelly index 82ea5eacef82..b8fab1554e31 100644 --- a/core/src/main/resources/lib/hudson/buildCaption.jelly +++ b/core/src/main/resources/lib/hudson/buildCaption.jelly @@ -27,26 +27,36 @@ THE SOFTWARE. --> -

- - - - - -
- - -
- ${%Progress}: - - - - - - -
-
-
- -

+
+
+ +

+ +

+
+
+ +
+ + + + + + +
+ ${%Progress}: + + + + + + +
+
+
+ +
+
diff --git a/test/src/test/java/jenkins/bugs/Jenkins64991Test.java b/test/src/test/java/jenkins/bugs/Jenkins64991Test.java index d576113400ac..2a57b1ea6e16 100644 --- a/test/src/test/java/jenkins/bugs/Jenkins64991Test.java +++ b/test/src/test/java/jenkins/bugs/Jenkins64991Test.java @@ -149,7 +149,7 @@ public void testRedirectToProject() throws Exception { assertNotNull(freeStyleProject); final JenkinsRule.WebClient webClient = j.createWebClient(); final HtmlPage projectPage = webClient.getPage(freeStyleProject); - assertThat(projectPage.getWebResponse().getContentAsString(), containsStringIgnoringCase("Project " + freeStyleProject.getDisplayName())); + assertThat(projectPage.getWebResponse().getContentAsString(), containsStringIgnoringCase(freeStyleProject.getDisplayName())); final Page loginPage = projectPage.getElementsByTagName("a").stream().filter( e -> e.hasAttribute("href") && e.getAttribute("href").contains(j.jenkins.getSecurityRealm().getLoginUrl()) diff --git a/war/src/main/scss/base/layout-commons.scss b/war/src/main/scss/base/layout-commons.scss index 02c7ef96ae72..1ce9ed2aeb5f 100644 --- a/war/src/main/scss/base/layout-commons.scss +++ b/war/src/main/scss/base/layout-commons.scss @@ -122,20 +122,6 @@ body.full-screen #main-panel { } } -/* -------------------------------------- */ - -h1.build-caption.page-headline { - display: flex; - align-items: center; -} - -h1.build-caption.page-headline > span { - max-width: 1200px; - overflow: hidden; - line-height: 2.4rem; - text-overflow: ellipsis; -} - // Clearfixes extracted from responsive-grid.css as they essential .clearfix::before, .clearfix::after, diff --git a/war/src/main/scss/base/typography.scss b/war/src/main/scss/base/typography.scss index 52943873ca6f..d8ecfa61efb8 100644 --- a/war/src/main/scss/base/typography.scss +++ b/war/src/main/scss/base/typography.scss @@ -47,7 +47,7 @@ h5, h6, .h6 { line-height: var(--line-height-heading); - font-weight: bold; + font-weight: 650; display: block; margin-top: 0; margin-bottom: var(--section-padding); @@ -55,12 +55,12 @@ h6, h1, .h1 { - font-size: 1.6rem; + font-size: 1.5rem; } h2, .h2 { - font-size: 1.4rem; + font-size: 1.35rem; } h3, diff --git a/war/src/main/scss/modules/app-bar.scss b/war/src/main/scss/modules/app-bar.scss index d2bb20f00326..1e5af8727f88 100644 --- a/war/src/main/scss/modules/app-bar.scss +++ b/war/src/main/scss/modules/app-bar.scss @@ -67,6 +67,23 @@ h1, h2 { margin: 0; - font-size: 1.6rem; + font-size: 1.5rem; + } +} + +.jenkins-build-caption { + display: flex; + flex-direction: row !important; + align-items: center; + justify-content: start !important; + gap: 1rem; + max-width: 1200px; + overflow: hidden; + text-overflow: ellipsis; + + .build-status-icon__wrapper, + .build-status-icon__wrapper svg { + width: 2rem !important; + height: 2rem !important; } } From 2e936b1ee1f42e1b34267f0346cd2a2921748afb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 11:31:22 -0700 Subject: [PATCH 007/104] Update dependency eslint to v8.45.0 (#8277) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/war/package.json b/war/package.json index 3e69cca391a2..18c5d96cbe6b 100644 --- a/war/package.json +++ b/war/package.json @@ -30,7 +30,7 @@ "clean-webpack-plugin": "4.0.0", "css-loader": "6.8.1", "css-minimizer-webpack-plugin": "5.0.1", - "eslint": "8.44.0", + "eslint": "8.45.0", "eslint-config-prettier": "8.8.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.6", diff --git a/war/yarn.lock b/war/yarn.lock index 2ac6facd3cd0..1ae59658acec 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -3521,9 +3521,9 @@ __metadata: languageName: node linkType: hard -"eslint@npm:8.44.0": - version: 8.44.0 - resolution: "eslint@npm:8.44.0" +"eslint@npm:8.45.0": + version: 8.45.0 + resolution: "eslint@npm:8.45.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.4.0 @@ -3550,7 +3550,6 @@ __metadata: globals: ^13.19.0 graphemer: ^1.4.0 ignore: ^5.2.0 - import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 is-path-inside: ^3.0.3 @@ -3562,11 +3561,10 @@ __metadata: natural-compare: ^1.4.0 optionator: ^0.9.3 strip-ansi: ^6.0.1 - strip-json-comments: ^3.1.0 text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: d06309ce4aafb9d27d558c8e5e5aa5cba3bbec3ce8ceccbc7d4b7a35f2b67fd40189159155553270e2e6febeb69bd8a3b60d6241c8f5ddc2ef1702ccbd328501 + checksum: 3e6dcce5cc43c5e301662db88ee26d1d188b22c177b9f104d7eefd1191236980bd953b3670fe2fac287114b26d7c5420ab48407d7ea1c3a446d6313c000009da languageName: node linkType: hard @@ -4145,7 +4143,7 @@ __metadata: languageName: node linkType: hard -"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": +"import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -4382,7 +4380,7 @@ __metadata: clean-webpack-plugin: 4.0.0 css-loader: 6.8.1 css-minimizer-webpack-plugin: 5.0.1 - eslint: 8.44.0 + eslint: 8.45.0 eslint-config-prettier: 8.8.0 handlebars: 4.7.7 handlebars-loader: 1.7.3 @@ -6729,7 +6727,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": +"strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 From 0fde09f3bf42a5b13dc6ad0840cbe42c56918f02 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 11:31:45 -0700 Subject: [PATCH 008/104] Bump font-awesome-api from 6.4.0-1 to 6.4.0-2 (#8274) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pom.xml b/test/pom.xml index f12dc79b8a12..3bb00d903482 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -68,7 +68,7 @@ THE SOFTWARE. io.jenkins.plugins font-awesome-api - 6.4.0-1 + 6.4.0-2 io.jenkins.plugins From a55957a3061516fd732b4769f1a576e6b12bf83a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 11:44:45 -0700 Subject: [PATCH 009/104] Bump jenkins-test-harness from 2034.v41c9cb_349299 to 2042.v787a_641a_9b_26 (#8275) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pom.xml b/test/pom.xml index 3bb00d903482..d09e1556b160 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -116,7 +116,7 @@ THE SOFTWARE. ${project.groupId} jenkins-test-harness - 2034.v41c9cb_349299 + 2042.v787a_641a_9b_26 test From a855a50c3196875d96858a65448db06e7ef9205f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 16:17:02 -0700 Subject: [PATCH 010/104] Bump matrix-auth from 3.1.9 to 3.1.10 (#8276) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- test/src/test/java/hudson/PluginTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/pom.xml b/test/pom.xml index d09e1556b160..8a01dd283be3 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -209,7 +209,7 @@ THE SOFTWARE. org.jenkins-ci.plugins matrix-auth - 3.1.9 + 3.1.10 test diff --git a/test/src/test/java/hudson/PluginTest.java b/test/src/test/java/hudson/PluginTest.java index 4be0ca0f1daa..0e4192ae4bf8 100644 --- a/test/src/test/java/hudson/PluginTest.java +++ b/test/src/test/java/hudson/PluginTest.java @@ -41,8 +41,8 @@ public class PluginTest { @Issue({"SECURITY-131", "SECURITY-155", "SECURITY-705"}) @Test public void doDynamic() throws Exception { - r.createWebClient().goTo("plugin/matrix-auth/images/select-all.svg", "image/svg+xml"); - r.createWebClient().goTo("plugin/matrix-auth/images/../images/select-all.svg", "image/svg+xml"); // collapsed somewhere before it winds up in restOfPath + r.createWebClient().goTo("plugin/cloudbees-folder/images/svgs/folder.svg", "image/svg+xml"); + r.createWebClient().goTo("plugin/cloudbees-folder/images/../images/svgs/folder.svg", "image/svg+xml"); // collapsed somewhere before it winds up in restOfPath /* TODO https://github.com/apache/httpcomponents-client/commit/8c04c6ae5e5ba1432e40684428338ce68431766b#r32873542 r.createWebClient().assertFails("plugin/matrix-auth/images/%2E%2E/images/user-disabled.png", HttpServletResponse.SC_INTERNAL_SERVER_ERROR); // IAE from TokenList. r.createWebClient().assertFails("plugin/matrix-auth/images/%252E%252E/images/user-disabled.png", HttpServletResponse.SC_BAD_REQUEST); // SECURITY-131 From 5ac0a98079fb2c7aabe14c8bfd18185540349a0a Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 18 Jul 2023 12:41:14 +0000 Subject: [PATCH 011/104] [maven-release-plugin] prepare release jenkins-2.415 --- bom/pom.xml | 2 +- cli/pom.xml | 2 +- core/pom.xml | 2 +- coverage/pom.xml | 2 +- pom.xml | 4 ++-- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty10/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 143a97e95737..8eff045b46e7 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.415 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 56560342e5f4..7b737282bc05 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.415 cli diff --git a/core/pom.xml b/core/pom.xml index c77443b83e7e..d321f3b82899 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.415 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 9f27c8d11cf0..377a8d5ca606 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.415 jenkins-coverage diff --git a/pom.xml b/pom.xml index d84dddae93a9..ea1016c2303f 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.415 pom Jenkins main module @@ -63,7 +63,7 @@ THE SOFTWARE. scm:git:https://github.com/jenkinsci/jenkins.git scm:git:git@github.com:jenkinsci/jenkins.git - ${scmTag} + jenkins-2.415 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index 8a01dd283be3..0b6ca2373ad8 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.415 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 68dced780020..9f786288446c 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.415 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index eb4a169a59d1..58bdd26dfdd8 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.415 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 77abcc3b7248..06487f5e38a1 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.415 ../.. From 7fb5f24efd92eda2461e9bf2f1fdc50295e12573 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 18 Jul 2023 12:41:30 +0000 Subject: [PATCH 012/104] [maven-release-plugin] prepare for next development iteration --- bom/pom.xml | 2 +- cli/pom.xml | 2 +- core/pom.xml | 2 +- coverage/pom.xml | 2 +- pom.xml | 6 +++--- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty10/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 8eff045b46e7..143a97e95737 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.415 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 7b737282bc05..56560342e5f4 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.415 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index d321f3b82899..c77443b83e7e 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.415 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 377a8d5ca606..9f27c8d11cf0 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.415 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index ea1016c2303f..c942c51cd84b 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.415 + ${revision}${changelist} pom Jenkins main module @@ -63,7 +63,7 @@ THE SOFTWARE. scm:git:https://github.com/jenkinsci/jenkins.git scm:git:git@github.com:jenkinsci/jenkins.git - jenkins-2.415 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.415 + 2.416 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index 0b6ca2373ad8..8a01dd283be3 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.415 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 9f786288446c..68dced780020 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.415 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index 58bdd26dfdd8..eb4a169a59d1 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.415 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 06487f5e38a1..77abcc3b7248 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.415 + ${revision}${changelist} ../.. From 627d31522dcc1780ca9232b2c3211074755ef1f6 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Mon, 24 Jul 2023 16:59:26 +0000 Subject: [PATCH 013/104] [maven-release-plugin] prepare release jenkins-2.416 --- bom/pom.xml | 2 +- cli/pom.xml | 2 +- core/pom.xml | 2 +- coverage/pom.xml | 2 +- pom.xml | 4 ++-- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty10/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 143a97e95737..d5285ef7d1df 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.416 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 56560342e5f4..701be498fa9a 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.416 cli diff --git a/core/pom.xml b/core/pom.xml index c77443b83e7e..a5f0c7a80087 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.416 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 9f27c8d11cf0..20c19deb8e9a 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.416 jenkins-coverage diff --git a/pom.xml b/pom.xml index c942c51cd84b..e8a2e46a678e 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.416 pom Jenkins main module @@ -63,7 +63,7 @@ THE SOFTWARE. scm:git:https://github.com/jenkinsci/jenkins.git scm:git:git@github.com:jenkinsci/jenkins.git - ${scmTag} + jenkins-2.416 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index 8a01dd283be3..0b905c885c7b 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.416 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 68dced780020..e4467959725b 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.416 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index eb4a169a59d1..1e93de863026 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.416 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 77abcc3b7248..a4f028a3a478 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.416 ../.. From e283ec92a086a1a96758bf578eb75349d4dcf1b8 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Mon, 24 Jul 2023 16:59:39 +0000 Subject: [PATCH 014/104] [maven-release-plugin] prepare for next development iteration --- bom/pom.xml | 2 +- cli/pom.xml | 2 +- core/pom.xml | 2 +- coverage/pom.xml | 2 +- pom.xml | 6 +++--- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty10/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index d5285ef7d1df..143a97e95737 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.416 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 701be498fa9a..56560342e5f4 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.416 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index a5f0c7a80087..c77443b83e7e 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.416 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 20c19deb8e9a..9f27c8d11cf0 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.416 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index e8a2e46a678e..e3f409d61d8e 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.416 + ${revision}${changelist} pom Jenkins main module @@ -63,7 +63,7 @@ THE SOFTWARE. scm:git:https://github.com/jenkinsci/jenkins.git scm:git:git@github.com:jenkinsci/jenkins.git - jenkins-2.416 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.416 + 2.417 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index 0b905c885c7b..8a01dd283be3 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.416 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index e4467959725b..68dced780020 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.416 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index 1e93de863026..eb4a169a59d1 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.416 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index a4f028a3a478..77abcc3b7248 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.416 + ${revision}${changelist} ../.. From e8dc103bcb22cb43644fed58878aa5b1f9de8f9c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:15:51 +0200 Subject: [PATCH 015/104] Update dependency postcss to v8.4.27 (#8296) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/war/package.json b/war/package.json index 18c5d96cbe6b..97885903fe48 100644 --- a/war/package.json +++ b/war/package.json @@ -34,7 +34,7 @@ "eslint-config-prettier": "8.8.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.6", - "postcss": "8.4.26", + "postcss": "8.4.27", "postcss-loader": "7.3.3", "postcss-preset-env": "9.0.0", "postcss-scss": "4.0.6", diff --git a/war/yarn.lock b/war/yarn.lock index 1ae59658acec..06279e7086ef 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4388,7 +4388,7 @@ __metadata: jquery: 3.7.0 lodash: 4.17.21 mini-css-extract-plugin: 2.7.6 - postcss: 8.4.26 + postcss: 8.4.27 postcss-loader: 7.3.3 postcss-preset-env: 9.0.0 postcss-scss: 4.0.6 @@ -6096,14 +6096,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.26, postcss@npm:^8.4.21, postcss@npm:^8.4.24": - version: 8.4.26 - resolution: "postcss@npm:8.4.26" +"postcss@npm:8.4.27, postcss@npm:^8.4.21, postcss@npm:^8.4.24": + version: 8.4.27 + resolution: "postcss@npm:8.4.27" dependencies: nanoid: ^3.3.6 picocolors: ^1.0.0 source-map-js: ^1.0.2 - checksum: 1cf08ee10d58cbe98f94bf12ac49a5e5ed1588507d333d2642aacc24369ca987274e1f60ff4cbf0081f70d2ab18a5cd3a4a273f188d835b8e7f3ba381b184e57 + checksum: 1cdd0c298849df6cd65f7e646a3ba36870a37b65f55fd59d1a165539c263e9b4872a402bf4ed1ca1bc31f58b68b2835545e33ea1a23b161a1f8aa6d5ded81e78 languageName: node linkType: hard From 8e52d04a0990f5d49f73d5f02b5a81c8513573fd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:16:41 +0200 Subject: [PATCH 016/104] Update dependency sass to v1.64.1 (#8295) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/war/package.json b/war/package.json index 97885903fe48..6c00457b0031 100644 --- a/war/package.json +++ b/war/package.json @@ -39,7 +39,7 @@ "postcss-preset-env": "9.0.0", "postcss-scss": "4.0.6", "prettier": "2.8.8", - "sass": "1.63.6", + "sass": "1.64.1", "sass-loader": "13.3.2", "style-loader": "3.3.3", "stylelint": "15.10.1", diff --git a/war/yarn.lock b/war/yarn.lock index 06279e7086ef..b501b8349031 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4393,7 +4393,7 @@ __metadata: postcss-preset-env: 9.0.0 postcss-scss: 4.0.6 prettier: 2.8.8 - sass: 1.63.6 + sass: 1.64.1 sass-loader: 13.3.2 sortablejs: 1.15.0 style-loader: 3.3.3 @@ -6435,16 +6435,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.63.6": - version: 1.63.6 - resolution: "sass@npm:1.63.6" +"sass@npm:1.64.1": + version: 1.64.1 + resolution: "sass@npm:1.64.1" dependencies: chokidar: ">=3.0.0 <4.0.0" immutable: ^4.0.0 source-map-js: ">=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 3372319904658eeafaf78a09a6fcb3368a68e6d76fe3c43c2d009f4f72e475ab22b82ef483ef5c00fcda3ab00066846c0bd88c36b42771b855f6ab80c7eda541 + checksum: e908f96f3d5fa5869e2f2aec97548c93d6ef390680af89870fcae8bdbaee2392ac650fbeae8d2ef8e4c99cb9f81e6b3624e1cb659af6d6e746332a22233b5ad8 languageName: node linkType: hard From 0df534e62b10dce21ccc7d60c778f65dc683d329 Mon Sep 17 00:00:00 2001 From: Mysterious_Dev <40738104+Mysterious-Dev@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:18:16 +0200 Subject: [PATCH 017/104] Add French translation for Build Step string (#8290) --- .../resources/lib/hudson/project/config-builders_fr.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/main/resources/lib/hudson/project/config-builders_fr.properties b/core/src/main/resources/lib/hudson/project/config-builders_fr.properties index 83ad69e8de0f..0fdbdd7d8e1c 100644 --- a/core/src/main/resources/lib/hudson/project/config-builders_fr.properties +++ b/core/src/main/resources/lib/hudson/project/config-builders_fr.properties @@ -20,4 +20,5 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +Build\ Steps=Étapes du build Add\ build\ step=Ajouter une étape au build From bd4663c3fb2eb8d7a72e183be7d414b4efd166be Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:18:37 +0200 Subject: [PATCH 018/104] Update dependency webpack to v5.88.2 (#8287) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/war/package.json b/war/package.json index 6c00457b0031..10e15e3fa9cb 100644 --- a/war/package.json +++ b/war/package.json @@ -45,7 +45,7 @@ "stylelint": "15.10.1", "stylelint-checkstyle-reporter": "0.2.0", "stylelint-config-standard": "33.0.0", - "webpack": "5.88.1", + "webpack": "5.88.2", "webpack-cli": "5.1.4", "webpack-remove-empty-scripts": "1.0.3" }, diff --git a/war/yarn.lock b/war/yarn.lock index b501b8349031..4293e0981556 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4401,7 +4401,7 @@ __metadata: stylelint-checkstyle-reporter: 0.2.0 stylelint-config-standard: 33.0.0 tippy.js: 6.3.7 - webpack: 5.88.1 + webpack: 5.88.2 webpack-cli: 5.1.4 webpack-remove-empty-scripts: 1.0.3 window-handle: 1.0.1 @@ -7208,9 +7208,9 @@ __metadata: languageName: node linkType: hard -"webpack@npm:5.88.1": - version: 5.88.1 - resolution: "webpack@npm:5.88.1" +"webpack@npm:5.88.2": + version: 5.88.2 + resolution: "webpack@npm:5.88.2" dependencies: "@types/eslint-scope": ^3.7.3 "@types/estree": ^1.0.0 @@ -7241,7 +7241,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 726e7e05ab2e7c142609a673dd6aa1a711ed97f349418a2a393d650c5ddad172d191257f60e1e37f6b2a77261571c202aabd5ce9240791a686774f0801cf5ec2 + checksum: 79476a782da31a21f6dd38fbbd06b68da93baf6a62f0d08ca99222367f3b8668f5a1f2086b7bb78e23172e31fa6df6fa7ab09b25e827866c4fc4dc2b30443ce2 languageName: node linkType: hard From 237839f10bcc044f8be9bcf61e19f4fa98a74f9a Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Wed, 26 Jul 2023 17:19:33 +0200 Subject: [PATCH 019/104] Post LTS pre-releases to discourse and dev mailing list (#8282) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com> --- .github/workflows/announce-lts-rc.yml | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/announce-lts-rc.yml diff --git a/.github/workflows/announce-lts-rc.yml b/.github/workflows/announce-lts-rc.yml new file mode 100644 index 000000000000..b544abd78f3e --- /dev/null +++ b/.github/workflows/announce-lts-rc.yml @@ -0,0 +1,30 @@ +name: Announce LTS RCs + +on: + release: + types: [prereleased] + +jobs: + post: + runs-on: ubuntu-latest + steps: + - name: Post on Discourse + uses: roots/discourse-topic-github-release-action@fc9e50fa1a1ce6255ba4d03f104382845b79ad5f # v1.0.0 + with: + discourse-api-key: ${{ secrets.DISCOURSE_RELEASES_API_KEY }} + discourse-base-url: https://community.jenkins.io/ + discourse-author-username: jenkins-release-bot + discourse-category: 23 + - name: Post on mailing list + uses: dawidd6/action-send-mail@v3 + with: + server_address: smtp.gmail.com + server_port: 465 + username: ${{secrets.MAIL_USERNAME}} + password: ${{secrets.MAIL_PASSWORD}} + secure: true + subject: ${{ github.event.release.tag_name }} has been released + to: jenkinsci-dev@googlegroups.com + from: Jenkins Release Bot + html_body: ${{ github.event.release.body }} + convert_markdown: true From cbe47860d4423d20e0f398f806c54c28309167c0 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Wed, 26 Jul 2023 08:20:23 -0700 Subject: [PATCH 020/104] `ReverseProxySetupMonitor` changed from POST to GET (#8280) --- .../hudson/diagnosis/ReverseProxySetupMonitor/resources.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/resources.js b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/resources.js index fa020b9eb6e6..154be92ec41b 100644 --- a/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/resources.js +++ b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/resources.js @@ -9,13 +9,16 @@ var urlToTest = redirectForm.getAttribute("data-url"); var callUrlToTest = function (testWithContext, callback) { + var headers = {}; var body = null; if (testWithContext === true) { + headers["Content-Type"] = "application/x-www-form-urlencoded"; body = new URLSearchParams({ testWithContext: "true" }); } fetch(urlToTest, { + method: "POST", cache: "no-cache", - headers: crumb.wrap({}), + headers: crumb.wrap(headers), body, }) .then((rsp) => callback(rsp)) From 3db67a8e762aa44e5a011b7da4c966ae2bb2574b Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Wed, 26 Jul 2023 08:21:21 -0700 Subject: [PATCH 021/104] Pass POST parameters in body rather than query string (#8279) --- .../build-timeline-widget.js | 21 +++++++++---------- .../resources/lib/form/combobox/combobox.js | 8 ++++--- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/core/src/main/resources/hudson/model/BuildTimelineWidget/build-timeline-widget.js b/core/src/main/resources/hudson/model/BuildTimelineWidget/build-timeline-widget.js index 4437c99d13dc..0415c95cc730 100644 --- a/core/src/main/resources/hudson/model/BuildTimelineWidget/build-timeline-widget.js +++ b/core/src/main/resources/hudson/model/BuildTimelineWidget/build-timeline-widget.js @@ -11,17 +11,16 @@ function getData(eventSource1, current, min, max) { } if (!eventSource1.loaded[current]) { eventSource1.loaded[current] = true; - fetch( - "timeline/data/?" + - new URLSearchParams({ - min: current * interval, - max: (current + 1) * interval, - }), - { - method: "POST", - headers: crumb.wrap({}), - } - ).then((t) => { + fetch("timeline/data", { + method: "POST", + headers: crumb.wrap({ + "Content-Type": "application/x-www-form-urlencoded", + }), + body: new URLSearchParams({ + min: current * interval, + max: (current + 1) * interval, + }), + }).then((t) => { if (t.ok) { t.json() .then((json) => { diff --git a/core/src/main/resources/lib/form/combobox/combobox.js b/core/src/main/resources/lib/form/combobox/combobox.js index 67fde93abaa2..94ac5610fce5 100644 --- a/core/src/main/resources/lib/form/combobox/combobox.js +++ b/core/src/main/resources/lib/form/combobox/combobox.js @@ -19,10 +19,12 @@ Behaviour.specify("INPUT.combobox2", "combobox", 100, function (e) { ); refillOnChange(e, function (params) { - var urlSearchParams = new URLSearchParams(params); - fetch(e.getAttribute("fillUrl") + "?" + urlSearchParams, { - headers: crumb.wrap({}), + fetch(e.getAttribute("fillUrl"), { + headers: crumb.wrap({ + "Content-Type": "application/x-www-form-urlencoded", + }), method: "post", + body: new URLSearchParams(params), }).then((rsp) => { if (rsp.ok) { rsp.json().then((json) => { From 72a335a0890708440e2c8cac238423cea69a99d2 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Wed, 26 Jul 2023 08:22:05 -0700 Subject: [PATCH 022/104] Add missing `application/x-www-form-urlencoded` header (#8278) --- .../jenkins/security/ApiTokenProperty/resources.js | 8 ++++++-- core/src/main/resources/lib/form/textarea/textarea.js | 4 +++- core/src/main/resources/lib/hudson/progressive-text.js | 4 +++- war/src/main/webapp/scripts/hudson-behavior.js | 4 +++- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/core/src/main/resources/jenkins/security/ApiTokenProperty/resources.js b/core/src/main/resources/jenkins/security/ApiTokenProperty/resources.js index 64395ecd9b2c..a6bf359f5a91 100644 --- a/core/src/main/resources/jenkins/security/ApiTokenProperty/resources.js +++ b/core/src/main/resources/jenkins/security/ApiTokenProperty/resources.js @@ -61,7 +61,9 @@ function revokeToken(anchorRevoke) { fetch(targetUrl, { body: new URLSearchParams({ tokenUuid: tokenUuid }), method: "post", - headers: crumb.wrap({}), + headers: crumb.wrap({ + "Content-Type": "application/x-www-form-urlencoded", + }), }).then((rsp) => { if (rsp.ok) { if (repeatedChunk.querySelectorAll(".legacy-token").length > 0) { @@ -97,7 +99,9 @@ function saveApiToken(button) { fetch(targetUrl, { body: new URLSearchParams({ newTokenName: tokenName }), method: "post", - headers: crumb.wrap({}), + headers: crumb.wrap({ + "Content-Type": "application/x-www-form-urlencoded", + }), }).then((rsp) => { if (rsp.ok) { rsp.json().then((json) => { diff --git a/core/src/main/resources/lib/form/textarea/textarea.js b/core/src/main/resources/lib/form/textarea/textarea.js index 3d6c7cfa339e..221afb01bf28 100644 --- a/core/src/main/resources/lib/form/textarea/textarea.js +++ b/core/src/main/resources/lib/form/textarea/textarea.js @@ -67,7 +67,9 @@ Behaviour.specify( fetch(rootURL + showPreview.getAttribute("previewEndpoint"), { method: "post", - headers: crumb.wrap({}), + headers: crumb.wrap({ + "Content-Type": "application/x-www-form-urlencoded", + }), body: new URLSearchParams({ text: text, }), diff --git a/core/src/main/resources/lib/hudson/progressive-text.js b/core/src/main/resources/lib/hudson/progressive-text.js index 6600604d7844..4790fc8ff29f 100644 --- a/core/src/main/resources/lib/hudson/progressive-text.js +++ b/core/src/main/resources/lib/hudson/progressive-text.js @@ -18,7 +18,9 @@ Behaviour.specify( Where to retrieve additional text from */ function fetchNext(e, href, onFinishEvent) { - var headers = crumb.wrap({}); + var headers = crumb.wrap({ + "Content-Type": "application/x-www-form-urlencoded", + }); if (e.consoleAnnotator !== undefined) { headers["X-ConsoleAnnotator"] = e.consoleAnnotator; } diff --git a/war/src/main/webapp/scripts/hudson-behavior.js b/war/src/main/webapp/scripts/hudson-behavior.js index cef7fb74019d..650ffaa860c2 100644 --- a/war/src/main/webapp/scripts/hudson-behavior.js +++ b/war/src/main/webapp/scripts/hudson-behavior.js @@ -1958,7 +1958,9 @@ function replaceDescription(initialDescription, submissionUrl) { } fetch("./descriptionForm", { method: "post", - headers: crumb.wrap({}), + headers: crumb.wrap({ + "Content-Type": "application/x-www-form-urlencoded", + }), body: objectToUrlFormEncoded(parameters), }).then((rsp) => { rsp.text().then((responseText) => { From 1e7e2417deeb5743ed674f2563d7301132e7bde3 Mon Sep 17 00:00:00 2001 From: Matt Pulver Date: Wed, 26 Jul 2023 11:23:14 -0400 Subject: [PATCH 023/104] [JENKINS-71366] Set sandbox allow-same-origin in DEFAULT_CSP_VALUE. (#8273) --- core/src/main/java/hudson/model/DirectoryBrowserSupport.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/model/DirectoryBrowserSupport.java b/core/src/main/java/hudson/model/DirectoryBrowserSupport.java index b88e478740a6..6f8bf2e6ee77 100644 --- a/core/src/main/java/hudson/model/DirectoryBrowserSupport.java +++ b/core/src/main/java/hudson/model/DirectoryBrowserSupport.java @@ -869,5 +869,5 @@ private static OpenOption[] getOpenOptions() { private static final Logger LOGGER = Logger.getLogger(DirectoryBrowserSupport.class.getName()); @Restricted(NoExternalUse.class) - public static final String DEFAULT_CSP_VALUE = "sandbox; default-src 'none'; img-src 'self'; style-src 'self';"; + public static final String DEFAULT_CSP_VALUE = "sandbox allow-same-origin; default-src 'none'; img-src 'self'; style-src 'self';"; } From 05ebe94c55301a9ff4f23ddca1fe6c67c011b0e3 Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Wed, 26 Jul 2023 17:24:33 +0200 Subject: [PATCH 024/104] [JENKINS-71496] Make tab pane selection reachable via keyboard (#8262) --- war/src/main/js/section-to-tabs.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/war/src/main/js/section-to-tabs.js b/war/src/main/js/section-to-tabs.js index 56d2a191cefc..6313cc227bf5 100644 --- a/war/src/main/js/section-to-tabs.js +++ b/war/src/main/js/section-to-tabs.js @@ -25,7 +25,8 @@ tabPanes.forEach((tabPane, index) => { tab.classList.add("active"); } - tab.addEventListener("click", function () { + tab.addEventListener("click", function (e) { + e.preventDefault(); document.querySelectorAll(".tab").forEach((tab) => { tab.classList.remove("active"); }); @@ -38,6 +39,7 @@ tabPanes.forEach((tabPane, index) => { }); const tabLink = document.createElement("a"); + tabLink.setAttribute("href", "#"); tabLink.innerText = tabPaneTitle.textContent; tab.append(tabLink); From 7de6ef056ddcc34e827ac6af3a82e6eb8f3d84d3 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Wed, 26 Jul 2023 11:24:44 -0400 Subject: [PATCH 025/104] Flake in `ExecutorTest.disconnectCause` (#8259) Co-authored-by: Alexander Brandes --- .../test/java/hudson/model/ExecutorTest.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/test/src/test/java/hudson/model/ExecutorTest.java b/test/src/test/java/hudson/model/ExecutorTest.java index b6cf7d18f5f1..200880655683 100644 --- a/test/src/test/java/hudson/model/ExecutorTest.java +++ b/test/src/test/java/hudson/model/ExecutorTest.java @@ -9,6 +9,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import hudson.Functions; import hudson.Launcher; import hudson.remoting.VirtualChannel; import hudson.slaves.DumbSlave; @@ -20,8 +21,10 @@ import jenkins.model.InterruptedBuildAction; import jenkins.model.Jenkins; import org.junit.Assert; +import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; +import org.jvnet.hudson.test.BuildWatcher; import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; import org.jvnet.hudson.test.MockAuthorizationStrategy; @@ -32,6 +35,9 @@ public class ExecutorTest { @Rule public JenkinsRule j = new JenkinsRule(); + @ClassRule + public static BuildWatcher buildWatcher = new BuildWatcher(); + @Test @Issue("JENKINS-4756") public void whenAnExecutorDiesHardANewExecutorTakesItsPlace() throws Exception { @@ -204,11 +210,20 @@ private BlockingBuilder(OneShotEvent e) { public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { VirtualChannel channel = launcher.getChannel(); Node node = build.getBuiltOn(); + channel.call(node.getClockDifferenceCallable()); // warm up class loading e.signal(); // we are safe to be interrupted for (;;) { // Keep using the channel - channel.call(node.getClockDifferenceCallable()); + try { + channel.call(node.getClockDifferenceCallable()); + } catch (IOException x) { + if (x.getMessage().contains("RemoteClassLoader.ClassLoaderProxy")) { + Functions.printStackTrace(x, listener.error("TODO unreproducible error from MultiClassLoaderSerializer.Input.readClassLoader")); + } else { + throw x; + } + } Thread.sleep(100); } } From c6b7914236def3f43e34b0b80255fdbdf85d48c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:25:10 +0200 Subject: [PATCH 026/104] Bump spring-security-bom from 5.8.4 to 5.8.5 (#8281) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 143a97e95737..9f255a92df24 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -64,7 +64,7 @@ THE SOFTWARE. org.springframework.security spring-security-bom - 5.8.4 + 5.8.5 pom import From d6fb182e2e104b84d5fd419cbf26d0468c063e66 Mon Sep 17 00:00:00 2001 From: Jan Meiswinkel Date: Wed, 26 Jul 2023 17:25:54 +0200 Subject: [PATCH 027/104] Add logging for agent usage by job (#8283) --- core/src/main/java/hudson/slaves/SlaveComputer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/slaves/SlaveComputer.java b/core/src/main/java/hudson/slaves/SlaveComputer.java index ce58aa0fae8b..b7610683be6d 100644 --- a/core/src/main/java/hudson/slaves/SlaveComputer.java +++ b/core/src/main/java/hudson/slaves/SlaveComputer.java @@ -329,10 +329,11 @@ protected Future _connect(boolean forceReconnect) { @Override public void taskAccepted(Executor executor, Queue.Task task) { + LOGGER.log(Level.FINER, "Accepted {0} on {1}", new Object[] {task.toString(), executor.getOwner().getDisplayName()}); + if (launcher instanceof ExecutorListener) { ((ExecutorListener) launcher).taskAccepted(executor, task); } - //getNode() can return null at indeterminate times when nodes go offline Slave node = getNode(); if (node != null && node.getRetentionStrategy() instanceof ExecutorListener) { @@ -342,6 +343,7 @@ public void taskAccepted(Executor executor, Queue.Task task) { @Override public void taskStarted(Executor executor, Queue.Task task) { + LOGGER.log(Level.FINER, "Started {0} on {1}", new Object[] {task.toString(), executor.getOwner().getDisplayName()}); if (launcher instanceof ExecutorListener) { ((ExecutorListener) launcher).taskStarted(executor, task); } @@ -353,6 +355,7 @@ public void taskStarted(Executor executor, Queue.Task task) { @Override public void taskCompleted(Executor executor, Queue.Task task, long durationMS) { + LOGGER.log(Level.FINE, "Completed {0} on {1}", new Object[] {task.toString(), executor.getOwner().getDisplayName()}); if (launcher instanceof ExecutorListener) { ((ExecutorListener) launcher).taskCompleted(executor, task, durationMS); } @@ -364,6 +367,7 @@ public void taskCompleted(Executor executor, Queue.Task task, long durationMS) { @Override public void taskCompletedWithProblems(Executor executor, Queue.Task task, long durationMS, Throwable problems) { + LOGGER.log(Level.FINE, "Completed with problems {0} on {1}", new Object[] {task.toString(), executor.getOwner().getDisplayName()}); if (launcher instanceof ExecutorListener) { ((ExecutorListener) launcher).taskCompletedWithProblems(executor, task, durationMS, problems); } From 6d641d8b99a21b68d44d5a3b6338701a3bc0ae4e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 26 Jul 2023 17:27:20 +0200 Subject: [PATCH 028/104] Update dependency node to v18.17.0 (#8294) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/war/pom.xml b/war/pom.xml index 68dced780020..1ee40c9f9386 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -46,7 +46,7 @@ THE SOFTWARE. localhost 8080 - 18.16.1 + 18.17.0 1.22.19 From 3306d5653f794ded7203fbd7a64f7613f1a8bc94 Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Wed, 26 Jul 2023 21:11:57 +0200 Subject: [PATCH 029/104] Update dependabot branch for LTS 2.414.x (#8302) --- .github/dependabot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 3a2d16526433..6e7d93447f7d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -58,7 +58,7 @@ updates: versions: [">=7.0.0"] - package-ecosystem: "maven" directory: "/" - target-branch: "stable-2.401" + target-branch: "stable-2.414" labels: - "into-lts" - "needs-justification" From b3342f845c23ab34d2689c2e82a85d5b49b4b434 Mon Sep 17 00:00:00 2001 From: Tim Jacomb <21194782+timja@users.noreply.github.com> Date: Wed, 26 Jul 2023 20:14:01 +0100 Subject: [PATCH 030/104] [JENKINS-71698] Only disable plugin manager button if none are selected (#8293) --- war/src/main/js/plugin-manager-ui.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/war/src/main/js/plugin-manager-ui.js b/war/src/main/js/plugin-manager-ui.js index 95a95e7bc43e..740a742b8c77 100644 --- a/war/src/main/js/plugin-manager-ui.js +++ b/war/src/main/js/plugin-manager-ui.js @@ -92,8 +92,10 @@ function updateInstallButtonState() { const installAfterRestartButton = document.querySelector( "#button-install-after-restart" ); - installButton.disabled = true; - installAfterRestartButton.disabled = true; + if (!anyCheckboxesSelected()) { + installButton.disabled = true; + installAfterRestartButton.disabled = true; + } const checkboxes = document.querySelectorAll("input[type='checkbox']"); checkboxes.forEach((checkbox) => { checkbox.addEventListener("click", () => { From 74610e024a6b8fd8feccdc51b8f7741aa6c30e3b Mon Sep 17 00:00:00 2001 From: Alexander Brandes Date: Thu, 27 Jul 2023 09:28:43 +0200 Subject: [PATCH 031/104] Update to Prettier 3 and add trailing commas (#8244) Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Basil Crow --- .../hudson/PluginManager/_installed.js | 4 +- .../resources/hudson/PluginManager/_table.js | 22 ++-- .../console/ExpandableDetailsNote/script.js | 2 +- .../ReverseProxySetupMonitor/resources.js | 2 +- .../build-timeline-widget.js | 2 +- .../model/Job/buildTimeTrend_resources.js | 10 +- .../hudson/model/LoadStatistics/resources.js | 2 +- .../model/UpdateCenter/_download-failure.js | 2 +- .../model/UpdateCenter/update-center.js | 2 +- .../hudson/views/BuildButtonColumn/icon.js | 2 +- .../URICheckEncodingMonitor/adjunct.js | 4 +- .../setInitialRootUrlFieldValue.js | 2 +- .../resources.js | 14 +-- .../security/ApiTokenProperty/resources.js | 16 +-- .../resources.js | 8 +- .../resources/lib/form/advanced/advanced.js | 8 +- .../main/resources/lib/form/apply/apply.js | 2 +- .../resources/lib/form/combobox/combobox.js | 2 +- .../expandableTextbox/expandableTextbox.js | 2 +- .../filter-menu-button/filter-menu-button.js | 3 +- .../lib/form/hetero-list/hetero-list.js | 8 +- .../resources/lib/form/password/password.js | 6 +- .../lib/form/radioBlock/radioBlock.js | 2 +- .../lib/form/repeatable/repeatable.js | 16 +-- .../main/resources/lib/form/select/select.js | 2 +- .../resources/lib/form/textarea/textarea.js | 2 +- .../lib/form/validateButton/adjunct.js | 2 +- .../resources/lib/hudson/build-caption.js | 2 +- .../resources/lib/hudson/progressive-text.js | 2 +- .../resources/lib/hudson/property-table.js | 2 +- .../resources/lib/hudson/widget-refresh.js | 2 +- .../lib/layout/copyButton/copyButton.js | 4 +- .../progressiveRendering.js | 10 +- war/package.json | 2 +- war/src/main/js/add-item.js | 2 +- war/src/main/js/api/pluginManager.js | 20 ++-- war/src/main/js/api/securityConfig.js | 4 +- .../js/components/confirmation-link/index.js | 4 +- war/src/main/js/components/dialogs/index.js | 16 +-- .../components/dropdowns/inpage-jumplist.js | 4 +- .../main/js/components/dropdowns/jumplists.js | 10 +- .../components/dropdowns/overflow-button.js | 2 +- .../main/js/components/dropdowns/templates.js | 8 +- war/src/main/js/components/dropdowns/utils.js | 12 +- .../main/js/components/notifications/index.js | 2 +- .../row-selection-controller/index.js | 16 +-- .../main/js/components/search-bar/index.js | 18 +-- .../js/components/stop-button-link/index.js | 2 +- war/src/main/js/components/tooltips/index.js | 14 +-- war/src/main/js/filter-build-history.js | 18 +-- war/src/main/js/pages/dashboard/index.js | 2 +- war/src/main/js/pages/manage-jenkins/index.js | 2 +- war/src/main/js/pages/register/index.js | 2 +- war/src/main/js/plugin-manager-ui.js | 8 +- war/src/main/js/pluginSetupWizardGui.js | 78 ++++++------- war/src/main/js/section-to-sidebar-items.js | 2 +- war/src/main/js/util/jenkins.js | 6 +- war/src/main/js/util/keyboard.js | 2 +- war/src/main/js/widgets/add/addform.scss | 35 ++++-- war/src/main/scss/base/style.scss | 5 +- war/src/main/scss/form/checkbox.scss | 32 ++++-- war/src/main/scss/form/codemirror.scss | 4 +- war/src/main/scss/form/input.scss | 5 +- war/src/main/scss/form/radio.scss | 16 ++- war/src/main/scss/form/search-bar.scss | 7 +- war/src/main/scss/form/toggle-switch.scss | 7 +- .../main/scss/modules/buttons-deprecated.scss | 4 +- war/src/main/scss/modules/notifications.scss | 6 +- .../modules/row-selection-controller.scss | 26 +++-- war/src/main/scss/modules/skip-link.scss | 11 +- war/src/main/scss/pluginSetupWizard.scss | 18 ++- war/src/main/webapp/scripts/behavior.js | 4 +- war/src/main/webapp/scripts/combobox.js | 2 +- .../main/webapp/scripts/hudson-behavior.js | 104 +++++++++--------- war/src/main/webapp/scripts/sortable.js | 14 +-- war/webpack.config.js | 2 +- war/yarn.lock | 12 +- 77 files changed, 407 insertions(+), 334 deletions(-) diff --git a/core/src/main/resources/hudson/PluginManager/_installed.js b/core/src/main/resources/hudson/PluginManager/_installed.js index 8e1f9c656033..e3712b850818 100644 --- a/core/src/main/resources/hudson/PluginManager/_installed.js +++ b/core/src/main/resources/hudson/PluginManager/_installed.js @@ -22,7 +22,7 @@ { method: "post", headers: crumb.wrap({}), - } + }, ).then((rsp) => { if (!rsp.ok) { rsp.text().then((responseText) => { @@ -38,7 +38,7 @@ let e = Array.from( document .getElementById("plugins") - .querySelectorAll("input[type='checkbox']") + .querySelectorAll("input[type='checkbox']"), ).find(function (e) { return String(e.checked) !== e.getAttribute("original"); }); diff --git a/core/src/main/resources/hudson/PluginManager/_table.js b/core/src/main/resources/hudson/PluginManager/_table.js index e29329e5d41b..8174fa1e833d 100644 --- a/core/src/main/resources/hudson/PluginManager/_table.js +++ b/core/src/main/resources/hudson/PluginManager/_table.js @@ -41,7 +41,7 @@ Behaviour.specify("#filter-box", "_table", 0, function (e) { } } var instructions = document.getElementById( - "hidden-by-default-instructions" + "hidden-by-default-instructions", ); if (instructions) { instructions.style.display = anyVisible ? "none" : ""; @@ -53,7 +53,7 @@ Behaviour.specify("#filter-box", "_table", 0, function (e) { (function () { var instructionsTd = document.getElementById( - "hidden-by-default-instructions-td" + "hidden-by-default-instructions-td", ); if (instructionsTd) { // only on Available tab @@ -372,19 +372,19 @@ Behaviour.specify("#filter-box", "_table", 0, function (e) { if (dependenciesDiv) { pluginTR.jenkinsPluginMetadata.dependencies = selectAll( "span", - dependenciesDiv + dependenciesDiv, ); pluginTR.jenkinsPluginMetadata.dependencyIds = processSpanSet( - pluginTR.jenkinsPluginMetadata.dependencies + pluginTR.jenkinsPluginMetadata.dependencies, ); } if (dependentsDiv) { pluginTR.jenkinsPluginMetadata.dependents = selectAll( "span", - dependentsDiv + dependentsDiv, ); pluginTR.jenkinsPluginMetadata.dependentIds = processSpanSet( - pluginTR.jenkinsPluginMetadata.dependents + pluginTR.jenkinsPluginMetadata.dependents, ); } @@ -462,7 +462,7 @@ Behaviour.specify("#filter-box", "_table", 0, function (e) { window.addEventListener("load", function () { const compatibleCheckbox = document.querySelector( - "[data-select='compatible']" + "[data-select='compatible']", ); if (compatibleCheckbox) { compatibleCheckbox.addEventListener("click", () => { @@ -478,7 +478,7 @@ window.addEventListener("load", function () { } const uninstallButtons = document.querySelectorAll( - "[data-action='uninstall']" + "[data-action='uninstall']", ); uninstallButtons.forEach((uninstallButton) => { uninstallButton.addEventListener("click", () => { @@ -499,7 +499,7 @@ window.addEventListener("load", function () { document.body.appendChild(form); form.submit(); }, - () => {} + () => {}, ); }); }); @@ -513,7 +513,7 @@ window.addEventListener("load", function () { }; const updateButton = document.querySelector("#button-update"); const checkboxes = document.querySelectorAll( - "input[type='checkbox'], [data-select], .jenkins-table__checkbox" + "input[type='checkbox'], [data-select], .jenkins-table__checkbox", ); checkboxes.forEach((checkbox) => { checkbox.addEventListener("click", () => { @@ -528,7 +528,7 @@ window.addEventListener("load", function () { if (updateCenterError) { notificationBar.show( updateCenterError.content.textContent, - notificationBar.ERROR + notificationBar.ERROR, ); } }); diff --git a/core/src/main/resources/hudson/console/ExpandableDetailsNote/script.js b/core/src/main/resources/hudson/console/ExpandableDetailsNote/script.js index edccad221f51..bd71b5fec807 100644 --- a/core/src/main/resources/hudson/console/ExpandableDetailsNote/script.js +++ b/core/src/main/resources/hudson/console/ExpandableDetailsNote/script.js @@ -9,6 +9,6 @@ detail.style.display = detail.style.display == "block" ? "none" : "block"; }); - } + }, ); })(); diff --git a/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/resources.js b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/resources.js index 154be92ec41b..baf1a0654c77 100644 --- a/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/resources.js +++ b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/resources.js @@ -2,7 +2,7 @@ var redirectForm = document.getElementById("redirect-error"); if (!redirectForm) { console.warn( - 'This script expects to have an element with id="redirect-error" to be working.' + 'This script expects to have an element with id="redirect-error" to be working.', ); return; } diff --git a/core/src/main/resources/hudson/model/BuildTimelineWidget/build-timeline-widget.js b/core/src/main/resources/hudson/model/BuildTimelineWidget/build-timeline-widget.js index 0415c95cc730..eb7c1fa2cc88 100644 --- a/core/src/main/resources/hudson/model/BuildTimelineWidget/build-timeline-widget.js +++ b/core/src/main/resources/hudson/model/BuildTimelineWidget/build-timeline-widget.js @@ -128,6 +128,6 @@ if (window.addEventListener) { tl.layout(); }, null, - true + true, ); })(); diff --git a/core/src/main/resources/hudson/model/Job/buildTimeTrend_resources.js b/core/src/main/resources/hudson/model/Job/buildTimeTrend_resources.js index 4d78549beab7..7fcfa705ff73 100644 --- a/core/src/main/resources/hudson/model/Job/buildTimeTrend_resources.js +++ b/core/src/main/resources/hudson/model/Job/buildTimeTrend_resources.js @@ -109,20 +109,20 @@ function generateSVGIcon(iconName, iconSizeClass) { "href", imagesURL + "/build-status/build-status-sprite.svg#build-status-" + - (isInProgress ? "in-progress" : "static") + (isInProgress ? "in-progress" : "static"), ); svg1.appendChild(use1); const svg2 = document.createElementNS("http://www.w3.org/2000/svg", "svg"); svg2.setAttribute( "class", - "svg-icon icon-" + iconName + " " + (iconSizeClass || "icon-sm") + "svg-icon icon-" + iconName + " " + (iconSizeClass || "icon-sm"), ); svg2.setAttribute("viewBox", "0 0 24 24"); const use2 = document.createElementNS("http://www.w3.org/2000/svg", "use"); use2.setAttribute( "href", - imagesURL + "/build-status/build-status-sprite.svg#" + buildStatus + imagesURL + "/build-status/build-status-sprite.svg#" + buildStatus, ); svg2.appendChild(use2); @@ -174,7 +174,7 @@ window.displayBuilds = function (data) { "jenkins-table__link", "jenkins-table__badge", "model-link", - "inside" + "inside", ); a2.href = rootUrl + "/" + e.url; a2.textContent = e.displayName; @@ -190,7 +190,7 @@ window.displayBuilds = function (data) { "onclick", 'javascript:tl.getBand(0).scrollToCenter(Timeline.DateTime.parseGregorianDateTime("' + e.timestampString3 + - '"))' + '"))', ); button.textContent = e.timestampString; td3.appendChild(button); diff --git a/core/src/main/resources/hudson/model/LoadStatistics/resources.js b/core/src/main/resources/hudson/model/LoadStatistics/resources.js index e53560a45245..2ffbf37ed892 100644 --- a/core/src/main/resources/hudson/model/LoadStatistics/resources.js +++ b/core/src/main/resources/hudson/model/LoadStatistics/resources.js @@ -29,7 +29,7 @@ if (graphLocation) { const type = timespanSelect.value; const parentSelector = graphLocation.getAttribute( - "data-graph-parent-selector" + "data-graph-parent-selector", ); const baseUrl = graphLocation.getAttribute("data-graph-base-url"); const graphAlt = graphLocation.getAttribute("data-graph-alt"); diff --git a/core/src/main/resources/hudson/model/UpdateCenter/_download-failure.js b/core/src/main/resources/hudson/model/UpdateCenter/_download-failure.js index c7876c0c2b52..2040aab6684e 100644 --- a/core/src/main/resources/hudson/model/UpdateCenter/_download-failure.js +++ b/core/src/main/resources/hudson/model/UpdateCenter/_download-failure.js @@ -12,5 +12,5 @@ Behaviour.specify( n.style.display = "block"; this.style.display = "none"; }; - } + }, ); diff --git a/core/src/main/resources/hudson/model/UpdateCenter/update-center.js b/core/src/main/resources/hudson/model/UpdateCenter/update-center.js index 379816a1d459..aa426cb9adfa 100644 --- a/core/src/main/resources/hudson/model/UpdateCenter/update-center.js +++ b/core/src/main/resources/hudson/model/UpdateCenter/update-center.js @@ -9,7 +9,7 @@ Behaviour.specify( crumb.appendToForm(form); form.submit(); }); - } + }, ); function refresh() { diff --git a/core/src/main/resources/hudson/views/BuildButtonColumn/icon.js b/core/src/main/resources/hudson/views/BuildButtonColumn/icon.js index 472a894ce61e..80977933eaaa 100644 --- a/core/src/main/resources/hudson/views/BuildButtonColumn/icon.js +++ b/core/src/main/resources/hudson/views/BuildButtonColumn/icon.js @@ -16,5 +16,5 @@ Behaviour.specify( hoverNotification(message, this, -100); return false; }; - } + }, ); diff --git a/core/src/main/resources/jenkins/diagnostics/URICheckEncodingMonitor/adjunct.js b/core/src/main/resources/jenkins/diagnostics/URICheckEncodingMonitor/adjunct.js index 05ff9efc19fa..fda1897c03b1 100644 --- a/core/src/main/resources/jenkins/diagnostics/URICheckEncodingMonitor/adjunct.js +++ b/core/src/main/resources/jenkins/diagnostics/URICheckEncodingMonitor/adjunct.js @@ -8,10 +8,10 @@ Behaviour.specify( fetch(url + "?" + params).then((rsp) => { rsp.text().then((responseText) => { var message = document.getElementById( - "URICheckEncodingMonitor-message" + "URICheckEncodingMonitor-message", ); message.innerHTML = responseText; }); }); - } + }, ); diff --git a/core/src/main/resources/jenkins/install/SetupWizard/setInitialRootUrlFieldValue.js b/core/src/main/resources/jenkins/install/SetupWizard/setInitialRootUrlFieldValue.js index 64808b501098..40d800cea6fc 100644 --- a/core/src/main/resources/jenkins/install/SetupWizard/setInitialRootUrlFieldValue.js +++ b/core/src/main/resources/jenkins/install/SetupWizard/setInitialRootUrlFieldValue.js @@ -13,7 +13,7 @@ rootUrlField.onkeydown = function (event) { var iframeRelativeUrl = "setupWizard/setupWizardConfigureInstance"; var rootUrl = iframeUrl.substr( 0, - iframeUrl.length - iframeRelativeUrl.length + iframeUrl.length - iframeRelativeUrl.length, ); // to keep only the root url rootUrlField.value = rootUrl; diff --git a/core/src/main/resources/jenkins/management/AdministrativeMonitorsDecorator/resources.js b/core/src/main/resources/jenkins/management/AdministrativeMonitorsDecorator/resources.js index 3167869377ca..7278b6021ddf 100644 --- a/core/src/main/resources/jenkins/management/AdministrativeMonitorsDecorator/resources.js +++ b/core/src/main/resources/jenkins/management/AdministrativeMonitorsDecorator/resources.js @@ -87,19 +87,19 @@ document.getElementById("visible-am-container"), { closeAll: closeAll, - } + }, ); var securityMonitors = initializeAmMonitor( document.getElementById("visible-sec-am-container"), { closeAll: closeAll, - } + }, + ); + monitorWidgets = [normalMonitors, securityMonitors].filter( + function (widget) { + return widget !== null; + }, ); - monitorWidgets = [normalMonitors, securityMonitors].filter(function ( - widget - ) { - return widget !== null; - }); monitorWidgets.forEach(function (widget) { widget.startListeners(); diff --git a/core/src/main/resources/jenkins/security/ApiTokenProperty/resources.js b/core/src/main/resources/jenkins/security/ApiTokenProperty/resources.js index a6bf359f5a91..a87820c61e90 100644 --- a/core/src/main/resources/jenkins/security/ApiTokenProperty/resources.js +++ b/core/src/main/resources/jenkins/security/ApiTokenProperty/resources.js @@ -30,7 +30,7 @@ Behaviour.specify( event.preventDefault(); revokeToken(element); }); - } + }, ); Behaviour.specify( @@ -41,7 +41,7 @@ Behaviour.specify( element.addEventListener("click", function () { saveApiToken(element); }); - } + }, ); function revokeToken(anchorRevoke) { @@ -69,7 +69,7 @@ function revokeToken(anchorRevoke) { if (repeatedChunk.querySelectorAll(".legacy-token").length > 0) { // we are revoking the legacy token var messageIfLegacyRevoked = anchorRevoke.getAttribute( - "data-message-if-legacy-revoked" + "data-message-if-legacy-revoked", ); var legacyInput = document.getElementById("apiToken"); @@ -80,7 +80,7 @@ function revokeToken(anchorRevoke) { } }); }, - () => {} + () => {}, ); } @@ -125,7 +125,7 @@ function saveApiToken(button) { // show the copy button var tokenCopyButton = repeatedChunk.querySelector( - ".jenkins-copy-button" + ".jenkins-copy-button", ); tokenCopyButton.setAttribute("text", tokenValue); tokenCopyButton.classList.remove("jenkins-hidden"); @@ -135,7 +135,7 @@ function saveApiToken(button) { uuidInput.value = tokenUuid; var warningMessage = repeatedChunk.querySelector( - ".display-after-generation" + ".display-after-generation", ); warningMessage.classList.add("visible"); @@ -143,7 +143,7 @@ function saveApiToken(button) { button.remove(); var revokeButton = repeatedChunk.querySelector( - ".api-token-property-token-revoke" + ".api-token-property-token-revoke", ); revokeButton.classList.remove("hidden-button"); @@ -164,7 +164,7 @@ function adjustTokenEmptyListMessage(tokenList) { // number of token that are already existing or freshly created var numOfToken = tokenList.querySelectorAll( - ".token-list-existing-item, .token-list-fresh-item" + ".token-list-existing-item, .token-list-fresh-item", ).length; if (numOfToken >= 1) { if (!emptyListMessage.classList.contains("hidden-message")) { diff --git a/core/src/main/resources/jenkins/security/apitoken/LegacyApiTokenAdministrativeMonitor/resources.js b/core/src/main/resources/jenkins/security/apitoken/LegacyApiTokenAdministrativeMonitor/resources.js index c6185144ab54..dc31f9d20f4a 100644 --- a/core/src/main/resources/jenkins/security/apitoken/LegacyApiTokenAdministrativeMonitor/resources.js +++ b/core/src/main/resources/jenkins/security/apitoken/LegacyApiTokenAdministrativeMonitor/resources.js @@ -33,7 +33,7 @@ function selectFresh(anchor) { var parent = anchor.closest(".legacy-token-usage"); var allCheckBoxes = parent.querySelectorAll(".token-to-revoke"); var concernedCheckBoxes = parent.querySelectorAll( - ".token-to-revoke.fresh-token" + ".token-to-revoke.fresh-token", ); checkTheDesiredOne(allCheckBoxes, concernedCheckBoxes); @@ -43,7 +43,7 @@ function selectRecent(anchor) { var parent = anchor.closest(".legacy-token-usage"); var allCheckBoxes = parent.querySelectorAll(".token-to-revoke"); var concernedCheckBoxes = parent.querySelectorAll( - ".token-to-revoke.recent-token" + ".token-to-revoke.recent-token", ); checkTheDesiredOne(allCheckBoxes, concernedCheckBoxes); @@ -93,7 +93,7 @@ function confirmAndRevokeAllSelected(button) { var confirmMessageTemplate = button.getAttribute("data-confirm-template"); var confirmMessage = confirmMessageTemplate.replace( "%num%", - allCheckedCheckBoxes.length + allCheckedCheckBoxes.length, ); dialog .confirm(confirmTitle, { message: confirmMessage, type: "destructive" }) @@ -119,7 +119,7 @@ function confirmAndRevokeAllSelected(button) { headers: crumb.wrap({ "Content-Type": "application/json" }), }).then(() => window.location.reload()); }, - () => {} + () => {}, ); } } diff --git a/core/src/main/resources/lib/form/advanced/advanced.js b/core/src/main/resources/lib/form/advanced/advanced.js index e8b257c15d5c..d155f7ec7e5d 100644 --- a/core/src/main/resources/lib/form/advanced/advanced.js +++ b/core/src/main/resources/lib/form/advanced/advanced.js @@ -37,7 +37,7 @@ Behaviour.specify( } const oneOrMoreFieldsEditedNotice = parentContainer.querySelector( - ".jenkins-edited-section-label" + ".jenkins-edited-section-label", ); if (oneOrMoreFieldsEditedNotice.classList.contains("jenkins-hidden")) { @@ -63,7 +63,7 @@ Behaviour.specify( JSON.stringify(Object.fromEntries(formData)); oneOrMoreFieldsEditedNotice.classList.toggle( "jenkins-hidden", - result + result, ); }); }); @@ -83,7 +83,7 @@ Behaviour.specify( layoutUpdateCallback.call(); }); e = null; // avoid memory leak - } + }, ); Behaviour.specify( @@ -99,5 +99,5 @@ Behaviour.specify( const customizedFields = element.getAttribute("data-customized-fields"); console.log("no element " + id + " for " + customizedFields); } - } + }, ); diff --git a/core/src/main/resources/lib/form/apply/apply.js b/core/src/main/resources/lib/form/apply/apply.js index acf3f868dd14..d67d9306173d 100644 --- a/core/src/main/resources/lib/form/apply/apply.js +++ b/core/src/main/resources/lib/form/apply/apply.js @@ -102,5 +102,5 @@ Behaviour.specify( f.target = "_self"; } }); - } + }, ); diff --git a/core/src/main/resources/lib/form/combobox/combobox.js b/core/src/main/resources/lib/form/combobox/combobox.js index 94ac5610fce5..fda37c2713f1 100644 --- a/core/src/main/resources/lib/form/combobox/combobox.js +++ b/core/src/main/resources/lib/form/combobox/combobox.js @@ -15,7 +15,7 @@ Behaviour.specify("INPUT.combobox2", "combobox", 100, function (e) { } return candidates; }, - {} + {}, ); refillOnChange(e, function (params) { diff --git a/core/src/main/resources/lib/form/expandableTextbox/expandableTextbox.js b/core/src/main/resources/lib/form/expandableTextbox/expandableTextbox.js index 2ed84695367c..5718de0656eb 100644 --- a/core/src/main/resources/lib/form/expandableTextbox/expandableTextbox.js +++ b/core/src/main/resources/lib/form/expandableTextbox/expandableTextbox.js @@ -48,5 +48,5 @@ Behaviour.specify( element.addEventListener("click", function () { expandTextArea(element); }); - } + }, ); diff --git a/core/src/main/resources/lib/form/filter-menu-button/filter-menu-button.js b/core/src/main/resources/lib/form/filter-menu-button/filter-menu-button.js index d19e867ce218..e81ccc43fe7a 100644 --- a/core/src/main/resources/lib/form/filter-menu-button/filter-menu-button.js +++ b/core/src/main/resources/lib/form/filter-menu-button/filter-menu-button.js @@ -1,3 +1,4 @@ +// prettier-ignore window.createFilterMenuButton = function ( button, menu, @@ -39,7 +40,7 @@ function _createFilterMenuButton(menu) { filterInput.setAttribute("type", "search"); filterInput.addEventListener("input", (event) => - _applyFilterKeyword(menu, event.currentTarget) + _applyFilterKeyword(menu, event.currentTarget), ); filterInput.addEventListener("keypress", (event) => { if (event.key === "Enter") { diff --git a/core/src/main/resources/lib/form/hetero-list/hetero-list.js b/core/src/main/resources/lib/form/hetero-list/hetero-list.js index 7f4df9bd1640..a51423bf6e0b 100644 --- a/core/src/main/resources/lib/form/hetero-list/hetero-list.js +++ b/core/src/main/resources/lib/form/hetero-list/hetero-list.js @@ -58,7 +58,7 @@ Behaviour.specify( btn, menu, menuAlign.split("-"), - 250 + 250, ); // copy class names for (i = 0; i < btn.classList.length; i++) { @@ -151,14 +151,14 @@ Behaviour.specify( opacity: { to: 1 }, }, 0.2, - YAHOO.util.Easing.easeIn + YAHOO.util.Easing.easeIn, ).animate(); Behaviour.applySubtree(nc, true); ensureVisible(nc); layoutUpdateCallback.call(); }, - true + true, ); }); @@ -188,7 +188,7 @@ Behaviour.specify( } }); } - } + }, ); Behaviour.specify("DIV.dd-handle", "hetero-list", -100, function (e) { diff --git a/core/src/main/resources/lib/form/password/password.js b/core/src/main/resources/lib/form/password/password.js index 5b34ffbe7a11..4cd33dbfc6ec 100644 --- a/core/src/main/resources/lib/form/password/password.js +++ b/core/src/main/resources/lib/form/password/password.js @@ -35,12 +35,12 @@ Behaviour.specify( secretUpdateBtn.onclick = function () { e.querySelector(".hidden-password-field").setAttribute( "type", - "password" + "password", ); e.querySelector(".hidden-password-placeholder").remove(); secretUpdateBtn.remove(); }; - } + }, ); Behaviour.specify( @@ -51,5 +51,5 @@ Behaviour.specify( element.addEventListener("input", function () { element.setAttribute("type", "password"); }); - } + }, ); diff --git a/core/src/main/resources/lib/form/radioBlock/radioBlock.js b/core/src/main/resources/lib/form/radioBlock/radioBlock.js index b6b021896ba1..b504ddeb0d54 100644 --- a/core/src/main/resources/lib/form/radioBlock/radioBlock.js +++ b/core/src/main/resources/lib/form/radioBlock/radioBlock.js @@ -87,5 +87,5 @@ Behaviour.specify( r.onclick = r.onchange = function () { g.updateButtons(); }; - } + }, ); diff --git a/core/src/main/resources/lib/form/repeatable/repeatable.js b/core/src/main/resources/lib/form/repeatable/repeatable.js index 644c2d2d0dfe..b72ef304a037 100644 --- a/core/src/main/resources/lib/form/repeatable/repeatable.js +++ b/core/src/main/resources/lib/form/repeatable/repeatable.js @@ -66,7 +66,7 @@ var repeatableSupport = { opacity: { to: 1 }, }, 0.2, - YAHOO.util.Easing.easeIn + YAHOO.util.Easing.easeIn, ).animate(); Behaviour.applySubtree(nc, true); @@ -83,7 +83,7 @@ var repeatableSupport = { var addButtonElements = Array.from(this.container.children).filter( function (b) { return b.classList.contains("repeatable-add"); - } + }, ); if (addButtonElements.length == 2) { @@ -96,7 +96,7 @@ var repeatableSupport = { addButtonElements = Array.from(this.container.children).filter( function (b) { return b.classList.contains("repeatable-add"); - } + }, ); if (addButtonElements.length == 1 && this.enableTopButton) { @@ -133,7 +133,7 @@ var repeatableSupport = { height: { to: 0 }, }, 0.2, - YAHOO.util.Easing.easeIn + YAHOO.util.Easing.easeIn, ); a.onComplete.subscribe(function () { var p = n.parentNode; @@ -194,7 +194,7 @@ Behaviour.specify( repeatableSupport.onAdd(button); }); button = null; // avoid memory leak - } + }, ); /** @@ -221,9 +221,9 @@ Behaviour.specify( input.parentNode.replaceChild(button, input); console.warn( "Adapted element to new markup, it should be changed to use f:repeatableDeleteButton instead in the plugin", - button + button, ); - } + }, ); Behaviour.specify( @@ -234,7 +234,7 @@ Behaviour.specify( e.addEventListener("click", function () { repeatableSupport.onDelete(e); }); - } + }, ); // radio buttons in repeatable content diff --git a/core/src/main/resources/lib/form/select/select.js b/core/src/main/resources/lib/form/select/select.js index 450b6ab67e39..3aa7e3ecc7cf 100644 --- a/core/src/main/resources/lib/form/select/select.js +++ b/core/src/main/resources/lib/form/select/select.js @@ -18,7 +18,7 @@ function updateListBox(listBox, url, config) { if (!settingMain) { console.warn( "Couldn't find the expected validation element (.validation-error-area) for element", - listBox.parentNode + listBox.parentNode, ); return; } diff --git a/core/src/main/resources/lib/form/textarea/textarea.js b/core/src/main/resources/lib/form/textarea/textarea.js index 221afb01bf28..7085ff2a0e84 100644 --- a/core/src/main/resources/lib/form/textarea/textarea.js +++ b/core/src/main/resources/lib/form/textarea/textarea.js @@ -89,5 +89,5 @@ Behaviour.specify( hidePreview.style.display = "none"; previewDiv.style.display = "none"; }; - } + }, ); diff --git a/core/src/main/resources/lib/form/validateButton/adjunct.js b/core/src/main/resources/lib/form/validateButton/adjunct.js index 9e526dc1cf46..da2a9bf0b55f 100644 --- a/core/src/main/resources/lib/form/validateButton/adjunct.js +++ b/core/src/main/resources/lib/form/validateButton/adjunct.js @@ -6,5 +6,5 @@ Behaviour.specify( element.onclick = function () { safeValidateButton(this); }; - } + }, ); diff --git a/core/src/main/resources/lib/hudson/build-caption.js b/core/src/main/resources/lib/hudson/build-caption.js index 19177e0cd186..a62e6c482fbe 100644 --- a/core/src/main/resources/lib/hudson/build-caption.js +++ b/core/src/main/resources/lib/hudson/build-caption.js @@ -6,7 +6,7 @@ setTimeout(updateBuildCaptionIcon, 5000); } else { var progressBar = document.querySelector( - ".build-caption-progress-container" + ".build-caption-progress-container", ); if (progressBar) { progressBar.style.display = "none"; diff --git a/core/src/main/resources/lib/hudson/progressive-text.js b/core/src/main/resources/lib/hudson/progressive-text.js index 4790fc8ff29f..4d772816651a 100644 --- a/core/src/main/resources/lib/hudson/progressive-text.js +++ b/core/src/main/resources/lib/hudson/progressive-text.js @@ -77,5 +77,5 @@ Behaviour.specify( document.getElementById(idref).fetchedBytes = startOffset !== "" ? Number(startOffset) : 0; fetchNext(document.getElementById(idref), href, onFinishEvent); - } + }, ); diff --git a/core/src/main/resources/lib/hudson/property-table.js b/core/src/main/resources/lib/hudson/property-table.js index 97d17794068a..b673617fbe59 100644 --- a/core/src/main/resources/lib/hudson/property-table.js +++ b/core/src/main/resources/lib/hudson/property-table.js @@ -17,7 +17,7 @@ if (selection === null || window.getSelection().type !== "Range") { elem.parentElement.classList.add("jenkins-hidden"); elem.parentElement.previousSibling.classList.remove( - "jenkins-hidden" + "jenkins-hidden", ); } }); diff --git a/core/src/main/resources/lib/hudson/widget-refresh.js b/core/src/main/resources/lib/hudson/widget-refresh.js index 2211c93c5412..8d406488a032 100644 --- a/core/src/main/resources/lib/hudson/widget-refresh.js +++ b/core/src/main/resources/lib/hudson/widget-refresh.js @@ -6,5 +6,5 @@ Behaviour.specify( var id = e.getAttribute("data-id"); var url = e.getAttribute("data-url"); refreshPart(id, url); - } + }, ); diff --git a/core/src/main/resources/lib/layout/copyButton/copyButton.js b/core/src/main/resources/lib/layout/copyButton/copyButton.js index 0713405f019a..334d18e54179 100644 --- a/core/src/main/resources/lib/layout/copyButton/copyButton.js +++ b/core/src/main/resources/lib/layout/copyButton/copyButton.js @@ -32,9 +32,9 @@ Behaviour.specify( } else { hoverNotification( "Copy is only supported with a secure (HTTPS) connection", - copyButton + copyButton, ); } }); - } + }, ); diff --git a/core/src/main/resources/lib/layout/progressiveRendering/progressiveRendering.js b/core/src/main/resources/lib/layout/progressiveRendering/progressiveRendering.js index b55c49b6bbad..3d674da73218 100644 --- a/core/src/main/resources/lib/layout/progressiveRendering/progressiveRendering.js +++ b/core/src/main/resources/lib/layout/progressiveRendering/progressiveRendering.js @@ -34,19 +34,19 @@ function progressivelyRender(handler, callback, statusId) { "Aborted."; } else if (r.status == "error") { document.querySelector( - "#" + statusId + " .progress-bar-done" + "#" + statusId + " .progress-bar-done", ).style.width = "100%"; document.querySelector( - "#" + statusId + " .progress-bar-left" + "#" + statusId + " .progress-bar-left", ).style.width = "0%"; document.getElementById(statusId).className = "progress-bar red"; } else { callback(r.data); document.querySelector( - "#" + statusId + " .progress-bar-done" + "#" + statusId + " .progress-bar-done", ).style.width = 100 * r.status + "%"; document.querySelector( - "#" + statusId + " .progress-bar-left" + "#" + statusId + " .progress-bar-left", ).style.width = 100 - 100 * r.status + "%"; checkNewsLater(500); } @@ -68,7 +68,7 @@ document.addEventListener("DOMContentLoaded", function () { progressivelyRender( window.proxy, window[holder.getAttribute("data-callback")], - holder.getAttribute("data-id") + holder.getAttribute("data-id"), ); }); }); diff --git a/war/package.json b/war/package.json index 10e15e3fa9cb..b018a4939be2 100644 --- a/war/package.json +++ b/war/package.json @@ -38,7 +38,7 @@ "postcss-loader": "7.3.3", "postcss-preset-env": "9.0.0", "postcss-scss": "4.0.6", - "prettier": "2.8.8", + "prettier": "3.0.0", "sass": "1.64.1", "sass-loader": "13.3.2", "style-loader": "3.3.3", diff --git a/war/src/main/js/add-item.js b/war/src/main/js/add-item.js index 8bf835b8db48..99b251d690c3 100644 --- a/war/src/main/js/add-item.js +++ b/war/src/main/js/add-item.js @@ -300,7 +300,7 @@ $.when(getItems()).done(function (data) { activateValidationMessage( "#itemname-invalid", ".add-item-name", - message + message, ); } else { cleanValidationMessages(".add-item-name"); diff --git a/war/src/main/js/api/pluginManager.js b/war/src/main/js/api/pluginManager.js index 0fdcbd82d54f..2727e99cf7a4 100644 --- a/war/src/main/js/api/pluginManager.js +++ b/war/src/main/js/api/pluginManager.js @@ -24,7 +24,7 @@ pluginManager.initialPluginList = function (handler) { error: function (xhr, textStatus, errorThrown) { handler.call({ isError: true, errorMessage: errorThrown }); }, - } + }, ); }; @@ -112,7 +112,7 @@ pluginManager.installPlugins = function (plugins, handler) { error: function (xhr, textStatus, errorThrown) { handler.call({ isError: true, errorMessage: errorThrown }); }, - } + }, ); }; @@ -141,7 +141,7 @@ pluginManager.installStatus = function (handler, correlationId) { error: function (xhr, textStatus, errorThrown) { handler.call({ isError: true, errorMessage: errorThrown }); }, - } + }, ); }; @@ -168,7 +168,7 @@ pluginManager.availablePlugins = function (handler) { error: function (xhr, textStatus, errorThrown) { handler.call({ isError: true, errorMessage: errorThrown }); }, - } + }, ); }; @@ -188,7 +188,7 @@ pluginManager.availablePluginsSearch = function (query, limit, handler) { error: function (xhr, textStatus, errorThrown) { handler.call({ isError: true, errorMessage: errorThrown }); }, - } + }, ); }; @@ -217,7 +217,7 @@ pluginManager.incompleteInstallStatus = function (handler, correlationId) { error: function (xhr, textStatus, errorThrown) { handler.call({ isError: true, errorMessage: errorThrown }); }, - } + }, ); }; @@ -236,7 +236,7 @@ pluginManager.completeInstall = function (handler) { error: function (xhr, textStatus, errorThrown) { handler.call({ isError: true, message: errorThrown }); }, - } + }, ); }; @@ -254,7 +254,7 @@ pluginManager.getRestartStatus = function (handler) { error: function (xhr, textStatus, errorThrown) { handler.call({ isError: true, message: errorThrown }); }, - } + }, ); }; @@ -273,7 +273,7 @@ pluginManager.installPluginsDone = function (handler) { error: function (xhr, textStatus, errorThrown) { handler.call({ isError: true, message: errorThrown }); }, - } + }, ); }; @@ -292,7 +292,7 @@ pluginManager.restartJenkins = function (handler) { error: function (xhr, textStatus, errorThrown) { handler.call({ isError: true, message: errorThrown }); }, - } + }, ); }; diff --git a/war/src/main/js/api/securityConfig.js b/war/src/main/js/api/securityConfig.js index 51633990b186..576b0e05ff50 100644 --- a/war/src/main/js/api/securityConfig.js +++ b/war/src/main/js/api/securityConfig.js @@ -21,7 +21,7 @@ function saveFirstUser($form, success, error) { }, { error: error, - } + }, ); } @@ -38,7 +38,7 @@ function saveConfigureInstance($form, success, error) { }, { error: error, - } + }, ); } diff --git a/war/src/main/js/components/confirmation-link/index.js b/war/src/main/js/components/confirmation-link/index.js index 33f4fd615b0a..213921e71db9 100644 --- a/war/src/main/js/components/confirmation-link/index.js +++ b/war/src/main/js/components/confirmation-link/index.js @@ -24,7 +24,7 @@ function registerConfirmationLink(element) { document.body.appendChild(form); form.submit(); }, - () => {} + () => {}, ); return false; }); @@ -37,7 +37,7 @@ function init() { 0, (element) => { registerConfirmationLink(element); - } + }, ); } diff --git a/war/src/main/js/components/dialogs/index.js b/war/src/main/js/components/dialogs/index.js index 144161539fd4..3dc6ba4f9d91 100644 --- a/war/src/main/js/components/dialogs/index.js +++ b/war/src/main/js/components/dialogs/index.js @@ -48,7 +48,7 @@ Dialog.prototype.init = function () { if (this.dialogType === "modal") { if (this.options.content != null) { const content = createElementFromHtml( - `
` + `
`, ); content.appendChild(this.options.content); this.dialog.appendChild(content); @@ -62,7 +62,7 @@ Dialog.prototype.init = function () { `); this.dialog.appendChild(closeButton); closeButton.addEventListener("click", () => - this.dialog.dispatchEvent(new Event("cancel")) + this.dialog.dispatchEvent(new Event("cancel")), ); } this.dialog.addEventListener("click", function (e) { @@ -76,7 +76,7 @@ Dialog.prototype.init = function () { this.form = null; if (this.options.form != null && this.dialogType === "form") { const contents = createElementFromHtml( - `
` + `
`, ); this.form = this.options.form; contents.appendChild(this.options.form); @@ -85,7 +85,7 @@ Dialog.prototype.init = function () { } if (this.options.message != null && this.dialogType !== "form") { const message = createElementFromHtml( - `
` + `
`, ); this.dialog.appendChild(message); message.innerText = this.options.message; @@ -132,8 +132,8 @@ Dialog.prototype.appendButtons = function () { + _typeClassMap[this.options.type] + }">${this.options.okText} @@ -166,7 +166,7 @@ Dialog.prototype.show = function () { this.dialog.remove(); cancel(); }, - { once: true } + { once: true }, ); this.dialog.focus(); if (this.input != null) { @@ -192,7 +192,7 @@ Dialog.prototype.show = function () { resolve(value); } }, - { once: true } + { once: true }, ); } }); diff --git a/war/src/main/js/components/dropdowns/inpage-jumplist.js b/war/src/main/js/components/dropdowns/inpage-jumplist.js index 97add0173c09..d912b77330a2 100644 --- a/war/src/main/js/components/dropdowns/inpage-jumplist.js +++ b/war/src/main/js/components/dropdowns/inpage-jumplist.js @@ -12,8 +12,8 @@ function init() { chevron.classList.add("children"); chevron.items = Array.from( document.querySelectorAll( - "form > div > .jenkins-section > .jenkins-section__title" - ) + "form > div > .jenkins-section > .jenkins-section__title", + ), ).map((section) => { section.id = toId(section.textContent); return { label: section.textContent, url: "#" + section.id }; diff --git a/war/src/main/js/components/dropdowns/jumplists.js b/war/src/main/js/components/dropdowns/jumplists.js index 6979a3090f03..474fe0bfde4c 100644 --- a/war/src/main/js/components/dropdowns/jumplists.js +++ b/war/src/main/js/components/dropdowns/jumplists.js @@ -15,7 +15,7 @@ function generateJumplistAccessors() { const isFirefox = navigator.userAgent.indexOf("Firefox") !== -1; // Firefox adds unwanted lines when copying buttons in text, so use a span instead const dropdownChevron = document.createElement( - isFirefox ? "span" : "button" + isFirefox ? "span" : "button", ); dropdownChevron.className = "jenkins-menu-dropdown-chevron"; dropdownChevron.dataset.href = link.href; @@ -51,13 +51,13 @@ function generateDropdowns() { .then((json) => instance.setContent( Utils.generateDropdownItems( - mapChildrenItemsToDropdownItems(json.items) - ) - ) + mapChildrenItemsToDropdownItems(json.items), + ), + ), ) .catch((error) => console.log(`Jumplist request failed: ${error}`)) .finally(() => (instance.loaded = true)); - }) + }), ); } diff --git a/war/src/main/js/components/dropdowns/overflow-button.js b/war/src/main/js/components/dropdowns/overflow-button.js index a1c825d99632..55edc6e0de22 100644 --- a/war/src/main/js/components/dropdowns/overflow-button.js +++ b/war/src/main/js/components/dropdowns/overflow-button.js @@ -13,7 +13,7 @@ function init() { Utils.generateDropdown(element, (instance) => { instance.setContent(element.nextElementSibling.content); }); - } + }, ); } diff --git a/war/src/main/js/components/dropdowns/templates.js b/war/src/main/js/components/dropdowns/templates.js index c952f75cb6de..d20ae72674a0 100644 --- a/war/src/main/js/components/dropdowns/templates.js +++ b/war/src/main/js/components/dropdowns/templates.js @@ -32,7 +32,7 @@ function menuItem(options) { { type: "link", }, - options + options, ); const label = xmlEscape(itemOptions.label); @@ -78,19 +78,19 @@ function menuItem(options) { function heading(label) { return createElementFromHtml( - `

${label}

` + `

${label}

`, ); } function separator() { return createElementFromHtml( - `
` + `
`, ); } function placeholder(label) { return createElementFromHtml( - `

${label}

` + `

${label}

`, ); } diff --git a/war/src/main/js/components/dropdowns/utils.js b/war/src/main/js/components/dropdowns/utils.js index 3650d05cf0b3..8636d82befbd 100644 --- a/war/src/main/js/components/dropdowns/utils.js +++ b/war/src/main/js/components/dropdowns/utils.js @@ -31,7 +31,7 @@ function generateDropdown(element, callback) { onShown(instance) { behaviorShim.applySubtree(instance.popper); }, - }) + }), ); } @@ -62,7 +62,7 @@ function generateDropdownItems(items) { trigger: "mouseenter", placement: "right-start", offset: [-8, 0], - }) + }), ); } @@ -108,23 +108,23 @@ function generateDropdownItems(items) { const isVisible = window.getComputedStyle(container).visibility === "visible"; const isLastDropdown = Array.from( - document.querySelectorAll(".jenkins-dropdown") + document.querySelectorAll(".jenkins-dropdown"), ) .filter((dropdown) => container !== dropdown) .filter( (dropdown) => - window.getComputedStyle(dropdown).visibility === "visible" + window.getComputedStyle(dropdown).visibility === "visible", ) .every( (dropdown) => !( container.compareDocumentPosition(dropdown) & Node.DOCUMENT_POSITION_FOLLOWING - ) + ), ); return isVisible && isLastDropdown; - } + }, ); behaviorShim.applySubtree(menuItems); diff --git a/war/src/main/js/components/notifications/index.js b/war/src/main/js/components/notifications/index.js index 8c5f78400622..eb670da19290 100644 --- a/war/src/main/js/components/notifications/index.js +++ b/war/src/main/js/components/notifications/index.js @@ -56,7 +56,7 @@ function init() { this.init(); this.div.appendChild( - createElementFromHtml(options.icon || this.defaultIcon) + createElementFromHtml(options.icon || this.defaultIcon), ); const message = this.div.appendChild(document.createElement("span")); message.appendChild(document.createTextNode(text)); diff --git a/war/src/main/js/components/row-selection-controller/index.js b/war/src/main/js/components/row-selection-controller/index.js index 395619847bba..d4de91b89de4 100644 --- a/war/src/main/js/components/row-selection-controller/index.js +++ b/war/src/main/js/components/row-selection-controller/index.js @@ -1,15 +1,15 @@ const rowSelectionControllers = document.querySelectorAll( - ".jenkins-table__checkbox" + ".jenkins-table__checkbox", ); rowSelectionControllers.forEach((headerCheckbox) => { const table = headerCheckbox.closest(".jenkins-table"); const tableCheckboxes = table.querySelectorAll("input[type='checkbox']"); const moreOptionsButton = table.querySelector( - ".jenkins-table__checkbox-options" + ".jenkins-table__checkbox-options", ); const moreOptionsDropdown = table.querySelector( - ".jenkins-table__checkbox-dropdown" + ".jenkins-table__checkbox-dropdown", ); const moreOptionsAllButton = table.querySelector("[data-select='all']"); const moreOptionsNoneButton = table.querySelector("[data-select='none']"); @@ -23,14 +23,14 @@ rowSelectionControllers.forEach((headerCheckbox) => { const allCheckboxesSelected = () => { const selectedCheckboxes = Array.from(tableCheckboxes).filter( - (e) => e.checked + (e) => e.checked, ); return tableCheckboxes.length === selectedCheckboxes.length; }; const anyCheckboxesSelected = () => { const selectedCheckboxes = Array.from(tableCheckboxes).filter( - (e) => e.checked + (e) => e.checked, ); return selectedCheckboxes.length > 0; }; @@ -66,7 +66,7 @@ rowSelectionControllers.forEach((headerCheckbox) => { headerCheckbox.classList.remove("jenkins-table__checkbox--indeterminate"); if (moreOptionsDropdown !== null) { moreOptionsDropdown.classList.remove( - "jenkins-table__checkbox-dropdown--visible" + "jenkins-table__checkbox-dropdown--visible", ); } @@ -89,7 +89,7 @@ rowSelectionControllers.forEach((headerCheckbox) => { return; } moreOptionsDropdown.classList.remove( - "jenkins-table__checkbox-dropdown--visible" + "jenkins-table__checkbox-dropdown--visible", ); } }); @@ -97,7 +97,7 @@ rowSelectionControllers.forEach((headerCheckbox) => { if (moreOptionsButton !== null) { moreOptionsButton.addEventListener("click", () => { moreOptionsDropdown.classList.toggle( - "jenkins-table__checkbox-dropdown--visible" + "jenkins-table__checkbox-dropdown--visible", ); }); } diff --git a/war/src/main/js/components/search-bar/index.js b/war/src/main/js/components/search-bar/index.js index 3b5c89de2e98..7b8ede4dc704 100644 --- a/war/src/main/js/components/search-bar/index.js +++ b/war/src/main/js/components/search-bar/index.js @@ -12,11 +12,11 @@ function init() { .forEach((searchBar) => { const searchWrapper = searchBar.parentElement.parentElement; const searchResultsContainer = createElementFromHtml( - `
` + `
`, ); searchWrapper.appendChild(searchResultsContainer); const searchResults = createElementFromHtml( - `
` + `
`, ); searchResultsContainer.appendChild(searchResults); @@ -37,16 +37,16 @@ function init() { createElementFromHtml( `
${item.icon}
${xmlEscape(item.label)}
` - ) + }">
${item.icon}
${xmlEscape(item.label)}`, + ), ); }); if (results.length === 0 && container === searchResults) { container.appendChild( createElementFromHtml( - `

No results

` - ) + `

No results

`, + ), ); } } @@ -64,13 +64,13 @@ function init() { function showResultsContainer() { searchResultsContainer.classList.add( - "jenkins-search__results-container--visible" + "jenkins-search__results-container--visible", ); } function hideResultsContainer() { searchResultsContainer.classList.remove( - "jenkins-search__results-container--visible" + "jenkins-search__results-container--visible", ); searchResultsContainer.style.height = "1px"; } @@ -84,7 +84,7 @@ function init() { makeKeyboardNavigable( searchResultsContainer, () => searchResults.querySelectorAll("a"), - SELECTED_CLASS + SELECTED_CLASS, ); // Workaround: Firefox doesn't update the dropdown height correctly so diff --git a/war/src/main/js/components/stop-button-link/index.js b/war/src/main/js/components/stop-button-link/index.js index cf5d41c2d261..1bb34088dd99 100644 --- a/war/src/main/js/components/stop-button-link/index.js +++ b/war/src/main/js/components/stop-button-link/index.js @@ -28,7 +28,7 @@ function init() { 0, (element) => { registerStopButton(element); - } + }, ); } diff --git a/war/src/main/js/components/tooltips/index.js b/war/src/main/js/components/tooltips/index.js index 9f6c0918872c..6b28e3e7f52b 100644 --- a/war/src/main/js/components/tooltips/index.js +++ b/war/src/main/js/components/tooltips/index.js @@ -39,8 +39,8 @@ function registerTooltip(element) { instance.reference.setAttribute("title", instance.props.content); }, }, - TOOLTIP_BASE - ) + TOOLTIP_BASE, + ), ); } @@ -57,8 +57,8 @@ function registerTooltip(element) { "true"; }, }, - TOOLTIP_BASE - ) + TOOLTIP_BASE, + ), ); } } @@ -82,8 +82,8 @@ function hoverNotification(text, element) { }, 3000); }, }, - TOOLTIP_BASE - ) + TOOLTIP_BASE, + ), ); tooltip.show(); } @@ -95,7 +95,7 @@ function init() { 1000, (element) => { registerTooltip(element); - } + }, ); window.hoverNotification = hoverNotification; diff --git a/war/src/main/js/filter-build-history.js b/war/src/main/js/filter-build-history.js index fcae2cf415ac..05fa29d05fae 100644 --- a/war/src/main/js/filter-build-history.js +++ b/war/src/main/js/filter-build-history.js @@ -2,10 +2,10 @@ import debounce from "lodash/debounce"; const buildHistoryContainer = document.getElementById("buildHistory"); const pageSearchInputContainer = buildHistoryContainer.querySelector( - ".build-search-row .jenkins-search" + ".build-search-row .jenkins-search", ); const pageSearchInput = buildHistoryContainer.querySelector( - ".build-search-row input" + ".build-search-row input", ); const buildHistoryPage = document.getElementById("buildHistoryPage"); const properties = document.getElementById("properties"); @@ -91,7 +91,7 @@ function updateBuilds(params) { if (newDataTable.classList.contains("hasPageData")) { buildHistoryPage.setAttribute( "page-entry-newest", - newDataTable.getAttribute("page-entry-newest") + newDataTable.getAttribute("page-entry-newest"), ); } @@ -112,7 +112,7 @@ function createRefreshTimeout(params) { cancelRefreshTimeout(); buildRefreshTimeout = window.setTimeout( () => updateBuilds(params), - updateBuildsRefreshInterval + updateBuildsRefreshInterval, ); } @@ -143,19 +143,19 @@ function getDataTable(buildHistoryDiv) { function updatePageParams(dataTable) { buildHistoryPage.setAttribute( "page-has-up", - dataTable.getAttribute("page-has-up") + dataTable.getAttribute("page-has-up"), ); buildHistoryPage.setAttribute( "page-has-down", - dataTable.getAttribute("page-has-down") + dataTable.getAttribute("page-has-down"), ); buildHistoryPage.setAttribute( "page-entry-newest", - dataTable.getAttribute("page-entry-newest") + dataTable.getAttribute("page-entry-newest"), ); buildHistoryPage.setAttribute( "page-entry-oldest", - dataTable.getAttribute("page-entry-oldest") + dataTable.getAttribute("page-entry-oldest"), ); } function togglePageUpDown() { @@ -330,7 +330,7 @@ function checkRowCellOverflows(row) { // eslint-disable-next-line no-inner-declarations function expandLeftWithRight( leftCellOverFlowParams, - rightCellOverflowParams + rightCellOverflowParams, ) { // Float them left and right... leftCellOverFlowParams.element.style.float = "left"; diff --git a/war/src/main/js/pages/dashboard/index.js b/war/src/main/js/pages/dashboard/index.js index f3b0351e1bee..0ead233a0f63 100644 --- a/war/src/main/js/pages/dashboard/index.js +++ b/war/src/main/js/pages/dashboard/index.js @@ -4,7 +4,7 @@ document.querySelector("#button-icon-legend").addEventListener("click", () => { const template = document.querySelector("#template-icon-legend"); const title = template.getAttribute("data-title"); const content = createElementFromHtml( - "
" + template.innerHTML + "
" + "
" + template.innerHTML + "
", ); dialog.modal(content, { diff --git a/war/src/main/js/pages/manage-jenkins/index.js b/war/src/main/js/pages/manage-jenkins/index.js index 55861e2d6358..43d780a94828 100644 --- a/war/src/main/js/pages/manage-jenkins/index.js +++ b/war/src/main/js/pages/manage-jenkins/index.js @@ -5,7 +5,7 @@ searchBarInput.suggestions = function () { .map((item) => ({ url: item.querySelector("a").href, icon: item.querySelector( - ".jenkins-section__item__icon svg, .jenkins-section__item__icon img" + ".jenkins-section__item__icon svg, .jenkins-section__item__icon img", ).outerHTML, label: item.querySelector("dt").textContent, })) diff --git a/war/src/main/js/pages/register/index.js b/war/src/main/js/pages/register/index.js index 9da544ba4a78..01864a4379d3 100644 --- a/war/src/main/js/pages/register/index.js +++ b/war/src/main/js/pages/register/index.js @@ -4,7 +4,7 @@ const passwordField = document.querySelector("#password1"); const password2Field = document.querySelector("#password2"); const showPasswordField = document.querySelector("#showPassword"); const passwordStrengthWrapper = document.querySelector( - "#passwordStrengthWrapper" + "#passwordStrengthWrapper", ); const passwordStrengthIndicator = document.querySelector("#passwordStrength"); diff --git a/war/src/main/js/plugin-manager-ui.js b/war/src/main/js/plugin-manager-ui.js index 740a742b8c77..7ef187deae95 100644 --- a/war/src/main/js/plugin-manager-ui.js +++ b/war/src/main/js/plugin-manager-ui.js @@ -40,7 +40,7 @@ function applyFilter(searchQuery) { clearOldResults(); var rows = pluginManagerAvailable({ plugins: plugins.filter( - (plugin) => selectedPlugins.indexOf(plugin.name) === -1 + (plugin) => selectedPlugins.indexOf(plugin.name) === -1, ), admin, }); @@ -48,7 +48,7 @@ function applyFilter(searchQuery) { tbody.insertAdjacentHTML("beforeend", rows); updateInstallButtonState(); - } + }, ); } @@ -76,7 +76,7 @@ document.addEventListener("DOMContentLoaded", function () { if (updateCenterError) { notificationBar.show( updateCenterError.content.textContent, - notificationBar.ERROR + notificationBar.ERROR, ); } }); @@ -90,7 +90,7 @@ function updateInstallButtonState() { }; const installButton = document.querySelector("#button-install"); const installAfterRestartButton = document.querySelector( - "#button-install-after-restart" + "#button-install-after-restart", ); if (!anyCheckboxesSelected()) { installButton.disabled = true; diff --git a/war/src/main/js/pluginSetupWizardGui.js b/war/src/main/js/pluginSetupWizardGui.js index fefb6b811edd..7d123e39876e 100644 --- a/war/src/main/js/pluginSetupWizardGui.js +++ b/war/src/main/js/pluginSetupWizardGui.js @@ -122,7 +122,7 @@ var createPluginSetupWizard = function (appendTarget) { if (visibleDependencies[plugName]) { return options.fn(); } - } + }, ); // wrap calls with this method to handle generic errors returned by the plugin manager @@ -235,7 +235,7 @@ var createPluginSetupWizard = function (appendTarget) { onComplete(); } }, - { dataType: "html" } + { dataType: "html" }, ); }); } else { @@ -251,8 +251,8 @@ var createPluginSetupWizard = function (appendTarget) { baseUrl: jenkins.baseUrl, jenkinsVersion: getJenkinsVersion(), }, - data - ) + data, + ), ); if (panel === currentPanel) { // just replace id-marked elements @@ -300,7 +300,7 @@ var createPluginSetupWizard = function (appendTarget) { var $modalHeader = $container.find(".modal-header"); if ($modalHeader.length > 0 && $modalHeader.is(".closeable")) { $modalHeader.prepend( - '' + '', ); } @@ -310,7 +310,7 @@ var createPluginSetupWizard = function (appendTarget) { var $modalFooter = $container.find(".modal-footer"); if ($modalFooter.length === 0) { $modalFooter = $('').appendTo( - $container + $container, ); } $modalFooter.prepend( @@ -318,7 +318,7 @@ var createPluginSetupWizard = function (appendTarget) { translations.installWizard_jenkinsVersionTitle + " " + getJenkinsVersionFull() + - "
" + "
", ); } @@ -402,7 +402,7 @@ var createPluginSetupWizard = function (appendTarget) { { installStatus: "pending", }, - p + p, ); installingPlugins.push(plug); } @@ -418,14 +418,14 @@ var createPluginSetupWizard = function (appendTarget) { function () { return progressPanel(arguments); }, - { installingPlugins: [] } + { installingPlugins: [] }, ); pluginManager.installPlugins( pluginNames, handleGenericError(function () { showStatePanel(); - }) + }), ); }; @@ -526,7 +526,7 @@ var createPluginSetupWizard = function (appendTarget) { pluginManager.installStatus( handleGenericError(function (data) { showStatePanel(data.state); - }) + }), ); return; } @@ -577,7 +577,7 @@ var createPluginSetupWizard = function (appendTarget) { setPanel( progressPanel, { installingPlugins: installingPlugins }, - attachScrollEvent + attachScrollEvent, ); // call to the installStatus, update progress bar & plugin details; transition on complete @@ -663,7 +663,7 @@ var createPluginSetupWizard = function (appendTarget) { $txt.append($div); var $itemProgress = $( - '.selected-plugin[id="installing-' + idIfy(j.name) + '"]' + '.selected-plugin[id="installing-' + idIfy(j.name) + '"]', ); if ($itemProgress.length > 0 && !$itemProgress.is("." + state)) { $itemProgress.addClass(state); @@ -687,7 +687,7 @@ var createPluginSetupWizard = function (appendTarget) { $(".progress-bar").css({ width: "100%" }); showStatePanel(data.state); } - }) + }), ); }; @@ -714,7 +714,7 @@ var createPluginSetupWizard = function (appendTarget) { plug.allDependencies = getAllDependencies(plug.name); } oncomplete(); - }) + }), ); }; @@ -834,7 +834,7 @@ var createPluginSetupWizard = function (appendTarget) { ? xform : function (d) { return d; - } + }, ); return elements; }; @@ -859,7 +859,7 @@ var createPluginSetupWizard = function (appendTarget) { { scrollTop: pos, }, - 100 + 100, ); setTimeout(function () { // wait for css transitions to finish @@ -868,7 +868,7 @@ var createPluginSetupWizard = function (appendTarget) { { scrollTop: pos, }, - 50 + 50, ); }, 50); } @@ -895,7 +895,7 @@ var createPluginSetupWizard = function (appendTarget) { text.toLowerCase(), function (d) { return d.toLowerCase(); - } + }, ); if (localMatches.length > 0) { matches = matches.concat(localMatches); @@ -922,7 +922,7 @@ var createPluginSetupWizard = function (appendTarget) { function () { var val = $(this).val(); searchForPlugins(val, true); - } + }, ); // handle keyboard up/down navigation between items in @@ -989,7 +989,7 @@ var createPluginSetupWizard = function (appendTarget) { function () { var top = $pl.scrollTop() + $el.position().top; $pl.stop(true).scrollTop(top); - } + }, ); }; @@ -1023,7 +1023,7 @@ var createPluginSetupWizard = function (appendTarget) { if ($main.length > 0) { responseText = responseText.replace( /body([^>]*)[>](.|[\r\n])+[<][/]body/, - "body$1>" + $main.html() + "" + $main.html() + " 0) { responseText = responseText.replace( /body([^>]*)[>](.|[\r\n])+[<][/]body/, - "body$1>" + $main.html() + "" + $main.html() + " { const headerToScrollTo = document.getElementById( - item.querySelector(".task-link").dataset.sectionId + item.querySelector(".task-link").dataset.sectionId, ); const sectionTopPosition = diff --git a/war/src/main/js/util/jenkins.js b/war/src/main/js/util/jenkins.js index 1078467eb4b5..ddb1464108d3 100644 --- a/war/src/main/js/util/jenkins.js +++ b/war/src/main/js/util/jenkins.js @@ -214,7 +214,7 @@ jenkins.testConnectivity = function (siteId, handler) { handler.call({ isError: true, errorMessage: errorThrown }); } }, - } + }, ); }; testConnectivity(); @@ -288,8 +288,8 @@ jenkins.staplerPost = function (url, $form, success, options) { contentType: "application/x-www-form-urlencoded", crumb: crumb, }, - options - ) + options, + ), ); }; diff --git a/war/src/main/js/util/keyboard.js b/war/src/main/js/util/keyboard.js index 9a2168799d9d..3e44eb32fd11 100644 --- a/war/src/main/js/util/keyboard.js +++ b/war/src/main/js/util/keyboard.js @@ -11,7 +11,7 @@ export default function makeKeyboardNavigable( selectedClass, additionalBehaviours = () => {}, hasKeyboardPriority = () => - window.getComputedStyle(container).visibility === "visible" + window.getComputedStyle(container).visibility === "visible", ) { window.addEventListener("keydown", (e) => { let items = Array.from(itemsFunc()); diff --git a/war/src/main/js/widgets/add/addform.scss b/war/src/main/js/widgets/add/addform.scss index aa60833e059e..27b47f9425f7 100644 --- a/war/src/main/js/widgets/add/addform.scss +++ b/war/src/main/js/widgets/add/addform.scss @@ -159,36 +159,51 @@ .c-D33833 { border: 1px solid #900; - box-shadow: inset #900 0 0 1px, inset #fff 0 0 0 1px, - 0 5px 3px -2px rgba(0, 0, 0, 0.25), inset -5px -5px 10px 2px #903, + box-shadow: + inset #900 0 0 1px, + inset #fff 0 0 0 1px, + 0 5px 3px -2px rgba(0, 0, 0, 0.25), + inset -5px -5px 10px 2px #903, inset -5px -10px 15px 14px #d33833; } .c-6D6B6D { border: 1px solid #000; - box-shadow: inset #333 0 0 1px, inset #fff 0 0 0 1px, - 0 5px 3px -2px rgba(0, 0, 0, 0.25), inset -5px -5px 10px 2px #222, + box-shadow: + inset #333 0 0 1px, + inset #fff 0 0 0 1px, + 0 5px 3px -2px rgba(0, 0, 0, 0.25), + inset -5px -5px 10px 2px #222, inset -5px -10px 15px 14px #555; } .c-335061 { border: 1px solid #356; - box-shadow: inset #024 0 0 1px, inset #fff 0 0 0 1px, - 0 5px 3px -2px rgba(0, 0, 0, 0.25), inset -5px -5px 10px 2px #012, + box-shadow: + inset #024 0 0 1px, + inset #fff 0 0 0 1px, + 0 5px 3px -2px rgba(0, 0, 0, 0.25), + inset -5px -5px 10px 2px #012, inset -5px -10px 15px 14px #335061; } .c-49728B { border: 1px solid #036; - box-shadow: inset #036 0 0 1px, inset #fff 0 0 0 1px, - 0 5px 3px -2px rgba(0, 0, 0, 0.25), inset -5px -5px 10px 2px #036, + box-shadow: + inset #036 0 0 1px, + inset #fff 0 0 0 1px, + 0 5px 3px -2px rgba(0, 0, 0, 0.25), + inset -5px -5px 10px 2px #036, inset -5px -10px 15px 14px #49728b; } .c-6699CC { border: 1px solid #6699cc; - box-shadow: inset #003399 0 0 1px, inset #ffffff 0 0 0 1px, - 0 5px 3px -2px rgba(0, 0, 0, 0.25), inset -5px -5px 10px 2px #336699, + box-shadow: + inset #003399 0 0 1px, + inset #ffffff 0 0 0 1px, + 0 5px 3px -2px rgba(0, 0, 0, 0.25), + inset -5px -5px 10px 2px #336699, inset -5px -10px 15px 14px #6699cc; } diff --git a/war/src/main/scss/base/style.scss b/war/src/main/scss/base/style.scss index aa8e3a5ade5b..7b7de108f97c 100644 --- a/war/src/main/scss/base/style.scss +++ b/war/src/main/scss/base/style.scss @@ -370,7 +370,10 @@ pre.console { padding: 4px 0; margin-left: 0; border-bottom: 1px solid #090; - font: bold 12px Helvetica, Arial, sans-serif; + font: + bold 12px Helvetica, + Arial, + sans-serif; } #foldertab li { diff --git a/war/src/main/scss/form/checkbox.scss b/war/src/main/scss/form/checkbox.scss index 4a456893f874..8d23d9e3977d 100644 --- a/war/src/main/scss/form/checkbox.scss +++ b/war/src/main/scss/form/checkbox.scss @@ -31,7 +31,8 @@ &:focus { & + label { &::before { - box-shadow: 0 0 0 5px var(--focus-input-glow), + box-shadow: + 0 0 0 5px var(--focus-input-glow), inset 0 0 0 5px var(--focus-input-border); } } @@ -42,7 +43,8 @@ &:focus { & + label { &::before { - box-shadow: 0 0 0 5px var(--focus-input-glow), + box-shadow: + 0 0 0 5px var(--focus-input-glow), inset 0 0 0 12px var(--focus-input-border); } } @@ -55,7 +57,8 @@ &:focus { & + label { &::before { - box-shadow: 0 0 0 5px var(--focus-input-glow), + box-shadow: + 0 0 0 5px var(--focus-input-glow), inset 0 0 0 12px var(--focus-input-border); } } @@ -67,7 +70,8 @@ &:active, &:focus { &::before { - box-shadow: 0 0 0 5px var(--focus-input-glow), + box-shadow: + 0 0 0 5px var(--focus-input-glow), inset 0 0 0 12px var(--focus-input-border); } } @@ -75,7 +79,8 @@ & + label { &::before { - box-shadow: 0 0 0 10px transparent, + box-shadow: + 0 0 0 10px transparent, inset 0 0 0 12px var(--focus-input-border); } @@ -91,14 +96,17 @@ &::before { opacity: 0.35 !important; - box-shadow: 0 0 0 10px transparent, inset 0 0 0 2px var(--input-border) !important; + box-shadow: + 0 0 0 10px transparent, + inset 0 0 0 2px var(--input-border) !important; } } &:checked { & + label { &::before { - box-shadow: 0 0 0 10px transparent, + box-shadow: + 0 0 0 10px transparent, inset 0 0 0 12px var(--focus-input-border) !important; } @@ -129,7 +137,9 @@ border-radius: 6px; transition: var(--standard-transition); margin-right: 11px; - box-shadow: 0 0 0 10px transparent, inset 0 0 0 2px var(--input-border); + box-shadow: + 0 0 0 10px transparent, + inset 0 0 0 2px var(--input-border); } &::after { @@ -159,7 +169,8 @@ &:hover { &::before { - box-shadow: 0 0 0 10px transparent, + box-shadow: + 0 0 0 10px transparent, inset 0 0 0 5px var(--input-border-hover); } } @@ -167,7 +178,8 @@ &:active, &:focus { &::before { - box-shadow: 0 0 0 5px var(--focus-input-glow), + box-shadow: + 0 0 0 5px var(--focus-input-glow), inset 0 0 0 5px var(--focus-input-border); } } diff --git a/war/src/main/scss/form/codemirror.scss b/war/src/main/scss/form/codemirror.scss index 70426bca5662..67520192c0e5 100644 --- a/war/src/main/scss/form/codemirror.scss +++ b/war/src/main/scss/form/codemirror.scss @@ -5,7 +5,9 @@ border-radius: var(--form-input-border-radius); width: 100%; box-shadow: var(--form-input-glow); - transition: var(--standard-transition), height 0s; + transition: + var(--standard-transition), + height 0s; cursor: text; margin-bottom: var(--section-padding); diff --git a/war/src/main/scss/form/input.scss b/war/src/main/scss/form/input.scss index fef7afde3ee0..1ad67af1c9e2 100644 --- a/war/src/main/scss/form/input.scss +++ b/war/src/main/scss/form/input.scss @@ -7,7 +7,10 @@ width: 100%; box-shadow: var(--form-input-glow); // Set height transition to 0s as vertical resizing has a delay/lag otherwise - transition: all var(--standard-transition), height 0s, padding 0s; + transition: + all var(--standard-transition), + height 0s, + padding 0s; &:hover { border-color: var(--input-border-hover); diff --git a/war/src/main/scss/form/radio.scss b/war/src/main/scss/form/radio.scss index 91ca1d0c684a..68f95df38f4b 100644 --- a/war/src/main/scss/form/radio.scss +++ b/war/src/main/scss/form/radio.scss @@ -19,7 +19,8 @@ &:hover { & + label { &::before { - box-shadow: 0 0 0 10px transparent, + box-shadow: + 0 0 0 10px transparent, inset 0 0 0 5px var(--input-border-hover); } } @@ -31,7 +32,8 @@ & + label { &::before { transition: box-shadow var(--elastic-transition); - box-shadow: 0 0 0 5px var(--focus-input-glow), + box-shadow: + 0 0 0 5px var(--focus-input-glow), inset 0 0 0 5px var(--focus-input-border); } } @@ -42,7 +44,8 @@ &:active { & + label { &::before { - box-shadow: 0 0 0 5px var(--focus-input-glow), + box-shadow: + 0 0 0 5px var(--focus-input-glow), inset 0 0 0 8px var(--focus-input-border); } } @@ -55,7 +58,8 @@ &:active, &:focus { &::before { - box-shadow: 0 0 0 5px var(--focus-input-glow), + box-shadow: + 0 0 0 5px var(--focus-input-glow), inset 0 0 0 12px var(--focus-input-border); } } @@ -101,7 +105,9 @@ height: 22px; border-radius: 50%; background: transparent; - box-shadow: 0 0 0 10px transparent, inset 0 0 0 2px var(--input-border); + box-shadow: + 0 0 0 10px transparent, + inset 0 0 0 2px var(--input-border); transition: box-shadow var(--standard-transition); } } diff --git a/war/src/main/scss/form/search-bar.scss b/war/src/main/scss/form/search-bar.scss index 83cfc37527e9..19b76ff6fed1 100644 --- a/war/src/main/scss/form/search-bar.scss +++ b/war/src/main/scss/form/search-bar.scss @@ -17,7 +17,9 @@ margin: 0; padding: 0 0.5rem 0 var(--search-bar-height); line-height: 1; - box-shadow: 0 0 0 2px transparent, 0 0 0 12px transparent; + box-shadow: + 0 0 0 2px transparent, + 0 0 0 12px transparent; transition: var(--standard-transition); font-weight: 500; height: var(--search-bar-height); @@ -64,7 +66,8 @@ &:focus { outline: none; background: var(--item-background--active); - box-shadow: 0 0 0 2px var(--focus-input-border), + box-shadow: + 0 0 0 2px var(--focus-input-border), 0 0 0 7px var(--focus-input-glow); &::-webkit-search-cancel-button { diff --git a/war/src/main/scss/form/toggle-switch.scss b/war/src/main/scss/form/toggle-switch.scss index fd10b1ef0655..451bceb71cfb 100644 --- a/war/src/main/scss/form/toggle-switch.scss +++ b/war/src/main/scss/form/toggle-switch.scss @@ -112,7 +112,9 @@ border-radius: 19px; transition: var(--standard-transition); margin-right: 1rem; - box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05), 0 0 0 10px transparent; + box-shadow: + inset 0 0 0 1px rgba(0, 0, 0, 0.05), + 0 0 0 10px transparent; } &::after { @@ -140,7 +142,8 @@ &:active, &:focus { &::before { - box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05), + box-shadow: + inset 0 0 0 1px rgba(0, 0, 0, 0.05), 0 0 0 5px var(--focus-input-glow); } diff --git a/war/src/main/scss/modules/buttons-deprecated.scss b/war/src/main/scss/modules/buttons-deprecated.scss index b716d2c5a1bf..ec891de9acc2 100644 --- a/war/src/main/scss/modules/buttons-deprecated.scss +++ b/war/src/main/scss/modules/buttons-deprecated.scss @@ -144,7 +144,9 @@ a.yui-button:visited { text-decoration: none; border: 2px solid; border-radius: 4px; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + transition: + color 0.15s ease-in-out, + background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; @include button-secondary; diff --git a/war/src/main/scss/modules/notifications.scss b/war/src/main/scss/modules/notifications.scss index 02e7a8065f9e..b9fee05c423a 100644 --- a/war/src/main/scss/modules/notifications.scss +++ b/war/src/main/scss/modules/notifications.scss @@ -12,8 +12,10 @@ font-weight: 500; line-height: 1.66; color: var(--text-color); - box-shadow: 0 0 1px 1px rgba(darken(#024cb6, 50%), 0.075), - 0 10px 30px rgba(darken(#024cb6, 50%), 0.25), 0 0 30px 5px var(--background); + box-shadow: + 0 0 1px 1px rgba(darken(#024cb6, 50%), 0.075), + 0 10px 30px rgba(darken(#024cb6, 50%), 0.25), + 0 0 30px 5px var(--background); will-change: opacity, transform; z-index: 999; cursor: pointer; diff --git a/war/src/main/scss/modules/row-selection-controller.scss b/war/src/main/scss/modules/row-selection-controller.scss index 802ee2d9055a..f74dd37a0634 100644 --- a/war/src/main/scss/modules/row-selection-controller.scss +++ b/war/src/main/scss/modules/row-selection-controller.scss @@ -11,20 +11,24 @@ background: transparent; outline: none; border: none; - box-shadow: 0 0 0 10px transparent, inset 0 0 0 0.125rem var(--input-border); + box-shadow: + 0 0 0 10px transparent, + inset 0 0 0 0.125rem var(--input-border); border-radius: 6px; transition: var(--standard-transition); cursor: pointer; padding: 0; &:hover { - box-shadow: 0 0 0 10px transparent, + box-shadow: + 0 0 0 10px transparent, inset 0 0 0 0.3125rem var(--input-border-hover); } &:active, &:focus { - box-shadow: 0 0 0 5px var(--focus-input-glow), + box-shadow: + 0 0 0 5px var(--focus-input-glow), inset 0 0 0 0.3125rem var(--focus-input-border); } @@ -57,17 +61,20 @@ } &--all { - box-shadow: 0 0 0 10px transparent, + box-shadow: + 0 0 0 10px transparent, inset 0 0 0 0.6875rem var(--focus-input-border); &:hover { - box-shadow: 0 0 0 10px transparent, + box-shadow: + 0 0 0 10px transparent, inset 0 0 0 1.375rem var(--focus-input-border); } &:active, &:focus { - box-shadow: 0 0 0 5px var(--focus-input-glow), + box-shadow: + 0 0 0 5px var(--focus-input-glow), inset 0 0 0 1.375rem var(--focus-input-border); } @@ -139,8 +146,11 @@ border-radius: 0.8rem; z-index: 999; padding: 0.4rem; - box-shadow: inset 0 0 0 2px rgba(white, 0.05), 0 0 0 1px rgba(black, 0.05), - 0 5px 10px rgba(black, 0.1), 0 5px 20px rgba(black, 0.3); + box-shadow: + inset 0 0 0 2px rgba(white, 0.05), + 0 0 0 1px rgba(black, 0.05), + 0 5px 10px rgba(black, 0.1), + 0 5px 20px rgba(black, 0.3); min-width: 170px; opacity: 0; visibility: collapse; diff --git a/war/src/main/scss/modules/skip-link.scss b/war/src/main/scss/modules/skip-link.scss index 7df73fc3bf00..c8ed3238c690 100644 --- a/war/src/main/scss/modules/skip-link.scss +++ b/war/src/main/scss/modules/skip-link.scss @@ -8,13 +8,16 @@ $skip-link-box-shadow: 0 0 50px -15px var(--yellow); left: calc(var(--section-padding) - $skip-link-inline-padding); z-index: 2000; background: var(--background); - box-shadow: 0 0 0 1rem transparent, $skip-link-box-shadow; + box-shadow: + 0 0 0 1rem transparent, + $skip-link-box-shadow; color: var(--text-color) !important; padding: $skip-link-block-padding $skip-link-inline-padding; border-radius: 0.66rem; outline: none; text-decoration: none !important; - transition: var(--elastic-transition), + transition: + var(--elastic-transition), box-shadow var(--standard-transition) 0.1s; opacity: 0; scale: 80%; @@ -43,7 +46,9 @@ $skip-link-box-shadow: 0 0 50px -15px var(--yellow); } &:focus-visible { - box-shadow: 0 0 0 0.2rem var(--yellow), $skip-link-box-shadow; + box-shadow: + 0 0 0 0.2rem var(--yellow), + $skip-link-box-shadow; opacity: 1; scale: 100%; text-decoration: none !important; diff --git a/war/src/main/scss/pluginSetupWizard.scss b/war/src/main/scss/pluginSetupWizard.scss index 6bb5418da529..9b9f5b72ed8d 100644 --- a/war/src/main/scss/pluginSetupWizard.scss +++ b/war/src/main/scss/pluginSetupWizard.scss @@ -384,7 +384,8 @@ &:hover { background: rgba(100, 200, 255, 0.1); - box-shadow: inset 0 400px 400px -100px rgba(100, 200, 255, 0.33), + box-shadow: + inset 0 400px 400px -100px rgba(100, 200, 255, 0.33), inset 0 0 0 1px rgba(100, 200, 255, 0.33); } @@ -718,7 +719,8 @@ background: rgba(255, 255, 255, 0.75); &:nth-child(odd) { - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 0 0 999px rgba(0, 0, 0, 0.05); } @@ -807,7 +809,8 @@ margin-right: 1.3%; margin-top: 1em; padding: 20px 25px; - box-shadow: inset 0 -200px 200px -100px rgba(0, 0, 0, 0.1), + box-shadow: + inset 0 -200px 200px -100px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.2); border: 1px solid rgba(0, 60, 100, 0.5); text-shadow: #fff 0 1px 3px; @@ -827,7 +830,8 @@ &:focus { background: #fff; - box-shadow: inset 0 -200px 200px -100px rgba(0, 0, 0, 0.1), + box-shadow: + inset 0 -200px 200px -100px rgba(0, 0, 0, 0.1), 0 0 5px 3px rgba(00, 180, 250, 0.2); } @@ -837,7 +841,8 @@ &.btn-primary { background: rgba(200, 240, 255, 0.2); - box-shadow: inset 0 -200px 200px -100px rgba(0, 120, 160, 0.2), + box-shadow: + inset 0 -200px 200px -100px rgba(0, 120, 160, 0.2), 0 1px 3px rgba(0, 0, 0, 0.2); color: rgba(0, 80, 120, 1); @@ -847,7 +852,8 @@ } &:focus { - box-shadow: inset 0 -200px 200px -100px rgba(0, 120, 160, 0.2), + box-shadow: + inset 0 -200px 200px -100px rgba(0, 120, 160, 0.2), 0 0 5px 3px rgba(00, 180, 250, 0.2); } } diff --git a/war/src/main/webapp/scripts/behavior.js b/war/src/main/webapp/scripts/behavior.js index dc1d493c2e4d..791aa9d3adfb 100644 --- a/war/src/main/webapp/scripts/behavior.js +++ b/war/src/main/webapp/scripts/behavior.js @@ -128,7 +128,7 @@ var Behaviour = (function () { var list = findElementsBySelector( node, registration.selector, - includeSelf + includeSelf, ); if (list.length > 0) { //console.log(registration.id + ":" + registration.selector + " @" + registration.priority + " on " + list.length + " elements"); @@ -196,7 +196,7 @@ function findElementsBySelector(startNode, selector, includeSelf) { } }; return Array.from(startNode.parentNode.querySelectorAll(selector)).filter( - isSelfOrChild + isSelfOrChild, ); } else { return Array.from(startNode.querySelectorAll(selector)); diff --git a/war/src/main/webapp/scripts/combobox.js b/war/src/main/webapp/scripts/combobox.js index 191ae0079d59..d8323b42d2e6 100644 --- a/war/src/main/webapp/scripts/combobox.js +++ b/war/src/main/webapp/scripts/combobox.js @@ -89,7 +89,7 @@ function ComboBox(idOrField, callback, config) { : idOrField; if (typeof this.field == "undefined") { alert( - "You have specified an invalid id for the field you want to turn into a combo box" + "You have specified an invalid id for the field you want to turn into a combo box", ); } this.dropdown = document.createElement("div"); diff --git a/war/src/main/webapp/scripts/hudson-behavior.js b/war/src/main/webapp/scripts/hudson-behavior.js index 650ffaa860c2..ec62f0644256 100644 --- a/war/src/main/webapp/scripts/hudson-behavior.js +++ b/war/src/main/webapp/scripts/hudson-behavior.js @@ -161,7 +161,7 @@ var crumb = { (function initializeCrumb() { var extensionsAvailable = document.head.getAttribute( - "data-extensions-available" + "data-extensions-available", ); if (extensionsAvailable === "true") { var crumbHeaderName = document.head.getAttribute("data-crumb-header"); @@ -663,7 +663,7 @@ function registerValidator(e) { if (!tr) { console.warn( "Couldn't find the expected validation element (.validation-error-area) for element", - e.closest(".jenkins-form-item") + e.closest(".jenkins-form-item"), ); return; } @@ -681,13 +681,13 @@ function registerValidator(e) { } catch (e) { if (window.console != null) { console.warn( - "Legacy checkUrl '" + url + "' is not valid JavaScript: " + e + "Legacy checkUrl '" + url + "' is not valid JavaScript: " + e, ); } if (window.YUI != null) { YUI.log( "Legacy checkUrl '" + url + "' is not valid JavaScript: " + e, - "warn" + "warn", ); } return url; // return plain url as fallback @@ -698,7 +698,7 @@ function registerValidator(e) { depends.split(" ").forEach( TryEach(function (n) { q.nearBy(n); - }) + }), ); } return url + q.toString(); @@ -717,7 +717,7 @@ function registerValidator(e) { "Failed to register validation method: " + e.getAttribute("checkUrl") + " : " + - e + e, ); return; } @@ -732,7 +732,7 @@ function registerValidator(e) { const errorMessage = `
An internal error occurred during form field validation (HTTP ${response.status}). Please reload the page and if the problem persists, ask the administrator for help.
`; updateValidationArea( validationArea, - response.status === 200 ? responseText : errorMessage + response.status === 200 ? responseText : errorMessage, ); }); }, @@ -760,13 +760,13 @@ function registerValidator(e) { if (window.YUI != null) { YUI.log( "Unable to find a nearby control of the name " + name, - "warn" + "warn", ); } return; } c.addEventListener("change", checker.bind(e)); - }) + }), ); } @@ -780,7 +780,7 @@ function registerRegexpValidator(e, regexp, message) { if (!tr) { console.warn( "Couldn't find the expected parent element (.setting-main) for element", - e.closest(".jenkins-form-item") + e.closest(".jenkins-form-item"), ); return; } @@ -800,7 +800,7 @@ function registerRegexpValidator(e, regexp, message) { } else { updateValidationArea( this.targetElement, - `
${message}
` + `
${message}
`, ); set = true; } @@ -821,7 +821,7 @@ function registerMinMaxValidator(e) { if (!tr) { console.warn( "Couldn't find the expected parent element (.setting-main) for element", - e.closest(".jenkins-form-item") + e.closest(".jenkins-form-item"), ); return; } @@ -857,7 +857,7 @@ function registerMinMaxValidator(e) { // The value is out of range updateValidationArea( this.targetElement, - `
This value should be between ${min} and ${max}
` + `
This value should be between ${min} and ${max}
`, ); set = true; } else { @@ -876,7 +876,7 @@ function registerMinMaxValidator(e) { if (parseInt(min) > parseInt(this.value)) { updateValidationArea( this.targetElement, - `
This value should be larger than ${min}
` + `
This value should be larger than ${min}
`, ); set = true; } else { @@ -894,7 +894,7 @@ function registerMinMaxValidator(e) { if (parseInt(max) < parseInt(this.value)) { updateValidationArea( this.targetElement, - `
This value should be less than ${max}
` + `
This value should be less than ${max}
`, ); set = true; } else { @@ -1232,7 +1232,7 @@ function rowvgStartEachRow(recursive, f) { function (e) { // progressBar.jelly e.onclick = progressBarOnClick; - } + }, ); //
- +
diff --git a/core/src/main/resources/lib/form/expandableTextbox/expandableTextbox.js b/core/src/main/resources/lib/form/expandableTextbox/expandableTextbox.js index 5718de0656eb..80ef7dba917f 100644 --- a/core/src/main/resources/lib/form/expandableTextbox/expandableTextbox.js +++ b/core/src/main/resources/lib/form/expandableTextbox/expandableTextbox.js @@ -41,7 +41,7 @@ function expandTextArea(button) { } Behaviour.specify( - ".expanding-input__button > input[type='button']", + ".expanding-input__button > button[type='button']", "expandable-textbox-expand-button", 0, function (element) { diff --git a/test/src/test/java/lib/form/ExpandableTextboxTest.java b/test/src/test/java/lib/form/ExpandableTextboxTest.java index f6b8420731dd..5e40ea263b30 100644 --- a/test/src/test/java/lib/form/ExpandableTextboxTest.java +++ b/test/src/test/java/lib/form/ExpandableTextboxTest.java @@ -41,7 +41,7 @@ import org.htmlunit.WebRequest; import org.htmlunit.html.DomElement; import org.htmlunit.html.DomNodeList; -import org.htmlunit.html.HtmlButtonInput; +import org.htmlunit.html.HtmlButton; import org.htmlunit.html.HtmlElement; import org.htmlunit.html.HtmlElementUtil; import org.htmlunit.html.HtmlInput; @@ -120,11 +120,10 @@ private void checkInjectionInName(TestRootAction testParams) throws Exception { assertNotEquals("hacked", p.getTitleText()); } - private HtmlButtonInput getExpandButton(HtmlPage page) { - DomNodeList buttons = page.getElementById("test-panel").getElementsByTagName("input"); - // the first one is the text input - assertEquals(2, buttons.size()); - return (HtmlButtonInput) buttons.get(1); + private HtmlButton getExpandButton(HtmlPage page) { + DomNodeList buttons = page.getElementById("test-panel").getElementsByTagName("button"); + assertEquals(1, buttons.size()); + return (HtmlButton) buttons.get(0); } @TestExtension("noInjectionArePossible") @@ -166,7 +165,7 @@ public void noXssUsingInputValue() throws Exception { int numberOfH1Before = configurePage.getElementsByTagName("h1").size(); HtmlInput xssInput = configurePage.getElementByName("_.theField"); - HtmlInput expandButton = (HtmlInput) xssInput.getParentNode().getNextSibling().getFirstChild(); + HtmlButton expandButton = (HtmlButton) xssInput.getParentNode().getNextSibling().getFirstChild(); HtmlElementUtil.click(expandButton); // no additional h1, meaning the "payload" is not interpreted @@ -186,7 +185,7 @@ public void expandsIntoNewlines() throws Exception { HtmlPage configurePage = wc.getPage(p, "configure"); HtmlInput input = configurePage.getElementByName("_.theField"); - HtmlInput expandButton = (HtmlInput) input.getParentNode().getNextSibling().getFirstChild(); + HtmlButton expandButton = (HtmlButton) input.getParentNode().getNextSibling().getFirstChild(); HtmlElementUtil.click(expandButton); final DomElement textArea = configurePage.getElementByName("_.theField"); assertThat(textArea, instanceOf(HtmlTextArea.class)); diff --git a/war/src/main/scss/base/style.scss b/war/src/main/scss/base/style.scss index 7b7de108f97c..944d31153e81 100644 --- a/war/src/main/scss/base/style.scss +++ b/war/src/main/scss/base/style.scss @@ -316,6 +316,7 @@ pre.console { .expanding-input { display: flex; + align-items: center; } .expanding-input__input { @@ -326,13 +327,6 @@ pre.console { flex-shrink: 1; } -.expanding-input__button input { - border: 2px solid var(--input-border) !important; - border-radius: var(--form-input-border-radius) !important; - min-width: 0 !important; - height: 100%; -} - /* div that looks like a hyperlink */ .pseudoLink { cursor: pointer; From 1a410e9fa4b56a8a011eaa28e4ef5783a2afe6a5 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sat, 29 Jul 2023 07:36:51 -0700 Subject: [PATCH 040/104] Remove `java.desktop/com.sun.beans.introspect` from `Add-Opens` (#8193) --- core/pom.xml | 2 +- test/pom.xml | 2 +- war/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/pom.xml b/core/pom.xml index c77443b83e7e..26f9a102c81e 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -654,7 +654,7 @@ THE SOFTWARE. - @{jacocoSurefireArgs} --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.desktop/com.sun.beans.introspect=ALL-UNNAMED + @{jacocoSurefireArgs} --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED false diff --git a/test/pom.xml b/test/pom.xml index b733581af9a2..78f6d0c8c5dd 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -44,7 +44,7 @@ THE SOFTWARE. Filled in by maven-hpi-plugin from the MANIFEST.MF entry in jenkins.war, but we provide a default value for the benefit of IDEs. Make sure to keep the directives in core/pom.xml and war/pom.xml in sync with these. --> - --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.desktop/com.sun.beans.introspect=ALL-UNNAMED + --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED diff --git a/war/pom.xml b/war/pom.xml index 1ee40c9f9386..963a3b0d50fc 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -219,7 +219,7 @@ THE SOFTWARE. - java.base/java.lang java.base/java.io java.base/java.util java.desktop/com.sun.beans.introspect + java.base/java.lang java.base/java.io java.base/java.util ${project.version} 1.395 ${project.version} From 3b83252af278f2d005f58cc5d4bef84b383459ee Mon Sep 17 00:00:00 2001 From: Yaroslav <91559310+yaroslavafenkin@users.noreply.github.com> Date: Sat, 29 Jul 2023 17:37:55 +0300 Subject: [PATCH 041/104] [JENKINS-71052] CSP compatibility: SetupWizard/wizard-ui.jelly (#8211) Co-authored-by: niralmaruda <85137760+niralmaruda@users.noreply.github.com> Co-authored-by: Niral Maruda Co-authored-by: Yaroslav Afenkin --- .../jenkins/install/SetupWizard/_wizard-ui.js | 12 ++++++++++++ .../jenkins/install/SetupWizard/wizard-ui.jelly | 10 ++-------- 2 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 core/src/main/resources/jenkins/install/SetupWizard/_wizard-ui.js diff --git a/core/src/main/resources/jenkins/install/SetupWizard/_wizard-ui.js b/core/src/main/resources/jenkins/install/SetupWizard/_wizard-ui.js new file mode 100644 index 000000000000..d4f79462c47e --- /dev/null +++ b/core/src/main/resources/jenkins/install/SetupWizard/_wizard-ui.js @@ -0,0 +1,12 @@ +// all variables declared here have to be in global scope +window.defaultUpdateSiteId = (function () { + var defaultSiteId = document + .querySelector("#default-site-id") + .getAttribute("data-default-update-site-id"); + return defaultSiteId ? defaultSiteId.replace("'", "") : "default"; +})(); + +window.setupWizardExtensions = []; +window.onSetupWizardInitialized = function (extension) { + setupWizardExtensions.push(extension); +}; diff --git a/core/src/main/resources/jenkins/install/SetupWizard/wizard-ui.jelly b/core/src/main/resources/jenkins/install/SetupWizard/wizard-ui.jelly index b25f58b27394..7a70313fe3b1 100644 --- a/core/src/main/resources/jenkins/install/SetupWizard/wizard-ui.jelly +++ b/core/src/main/resources/jenkins/install/SetupWizard/wizard-ui.jelly @@ -1,13 +1,7 @@ - +
+ From 521da3275e5a680a7abde1205f914305bb9a4418 Mon Sep 17 00:00:00 2001 From: Yaroslav <91559310+yaroslavafenkin@users.noreply.github.com> Date: Sat, 29 Jul 2023 17:38:26 +0300 Subject: [PATCH 042/104] [JENKINS-71054] Remove the treeview option for artifactList (#8265) Co-authored-by: Yaroslav Afenkin --- core/src/main/java/hudson/model/Run.java | 7 +- .../resources/lib/hudson/artifactList.jelly | 89 ++++++------------- 2 files changed, 29 insertions(+), 67 deletions(-) diff --git a/core/src/main/java/hudson/model/Run.java b/core/src/main/java/hudson/model/Run.java index 113b5a742efb..87644b3aa343 100644 --- a/core/src/main/java/hudson/model/Run.java +++ b/core/src/main/java/hudson/model/Run.java @@ -1242,12 +1242,7 @@ private static int addArtifacts(@NonNull VirtualFile dir, /** * Maximum number of artifacts to list before using switching to the tree view. */ - public static final int LIST_CUTOFF = Integer.parseInt(SystemProperties.getString("hudson.model.Run.ArtifactList.listCutoff", "16")); - - /** - * Maximum number of artifacts to show in tree view before just showing a link. - */ - public static final int TREE_CUTOFF = Integer.parseInt(SystemProperties.getString("hudson.model.Run.ArtifactList.treeCutoff", "40")); + public static final int LIST_CUTOFF = Integer.parseInt(SystemProperties.getString("hudson.model.Run.ArtifactList.listCutoff", "20")); // ..and then "too many" diff --git a/core/src/main/resources/lib/hudson/artifactList.jelly b/core/src/main/resources/lib/hudson/artifactList.jelly index 60e17bf92376..446696db65d2 100644 --- a/core/src/main/resources/lib/hudson/artifactList.jelly +++ b/core/src/main/resources/lib/hudson/artifactList.jelly @@ -39,7 +39,7 @@ THE SOFTWARE. - + ${caption} @@ -48,67 +48,34 @@ THE SOFTWARE. ${%building}

- - - - - - - - - - - - -
- - - ${f.displayPath} - - ${h.humanReadableByteSize(f.getFileSize())} - - - - - - - - ${%view} -
-
- - - - - -
- - ${%Expand all} - - ${%Collapse all} - -
- -
+ + + + + + + + + + + +
+ + + ${f.displayPath} + + ${h.humanReadableByteSize(f.getFileSize())} + + + + + + + + ${%view} +
+
-
From d841f1d1f7bd3a164c00cdfa2048df0e2ed9746d Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Sat, 29 Jul 2023 10:39:22 -0400 Subject: [PATCH 043/104] Simpler `Jenkins.getComputers` (#8299) --- core/src/main/java/jenkins/model/Jenkins.java | 9 ++------- .../test/java/jenkins/model/JenkinsTest.java | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index 17914efda4f2..9bf94cf9389a 100644 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -225,6 +225,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -2049,13 +2050,7 @@ public boolean isUpgradedFromBefore(VersionNumber v) { * Gets the read-only list of all {@link Computer}s. */ public Computer[] getComputers() { - Computer[] r = computers.values().toArray(new Computer[0]); - Arrays.sort(r, (lhs, rhs) -> { - if (lhs.getNode() == Jenkins.this) return -1; - if (rhs.getNode() == Jenkins.this) return 1; - return lhs.getName().compareTo(rhs.getName()); - }); - return r; + return computers.values().stream().sorted(Comparator.comparing(Computer::getName)).toArray(Computer[]::new); } @CLIResolver diff --git a/test/src/test/java/jenkins/model/JenkinsTest.java b/test/src/test/java/jenkins/model/JenkinsTest.java index a5ebe8753375..479837a4cab8 100644 --- a/test/src/test/java/jenkins/model/JenkinsTest.java +++ b/test/src/test/java/jenkins/model/JenkinsTest.java @@ -25,6 +25,7 @@ package jenkins.model; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.arrayContaining; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.hasItem; @@ -50,6 +51,7 @@ import hudson.model.RestartListener; import hudson.model.RootAction; import hudson.model.Saveable; +import hudson.model.Slave; import hudson.model.TaskListener; import hudson.model.UnprotectedRootAction; import hudson.model.User; @@ -67,9 +69,12 @@ import java.net.HttpURLConnection; import java.net.Socket; import java.net.URL; +import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Set; +import java.util.stream.Stream; import jenkins.AgentProtocol; import org.htmlunit.FailingHttpStatusCodeException; import org.htmlunit.HttpMethod; @@ -701,6 +706,19 @@ public void handle(Socket socket) throws IOException, InterruptedException { } } + @Test + public void getComputers() throws Exception { + List agents = new ArrayList<>(); + for (String n : List.of("zestful", "bilking", "grouchiest")) { + agents.add(j.createSlave(n, null, null)); + } + for (Slave agent : agents) { + j.waitOnline(agent); + } + assertThat(Stream.of(j.jenkins.getComputers()).map(Computer::getName).toArray(String[]::new), + arrayContaining("", "bilking", "grouchiest", "zestful")); + } + @Issue("JENKINS-42577") @Test public void versionIsSavedInSave() throws Exception { From 9bb909c036b5191c6b4233626b6906eb07f45f5e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 08:56:15 +0100 Subject: [PATCH 044/104] Update dependency eslint-config-prettier to v8.9.0 (#8312) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/war/package.json b/war/package.json index 587c34da7374..35e7f5bf3d38 100644 --- a/war/package.json +++ b/war/package.json @@ -31,7 +31,7 @@ "css-loader": "6.8.1", "css-minimizer-webpack-plugin": "5.0.1", "eslint": "8.45.0", - "eslint-config-prettier": "8.8.0", + "eslint-config-prettier": "8.9.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.6", "postcss": "8.4.27", diff --git a/war/yarn.lock b/war/yarn.lock index f809e89731cf..0b378aa03c83 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -3485,14 +3485,14 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:8.8.0": - version: 8.8.0 - resolution: "eslint-config-prettier@npm:8.8.0" +"eslint-config-prettier@npm:8.9.0": + version: 8.9.0 + resolution: "eslint-config-prettier@npm:8.9.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 1e94c3882c4d5e41e1dcfa2c368dbccbfe3134f6ac7d40101644d3bfbe3eb2f2ffac757f3145910b5eacf20c0e85e02b91293d3126d770cbf3dc390b3564681c + checksum: a675d0dabd76b700ef2d062b5ec6a634e105a8e8c070f95281fd2ccb614527fac60b4c758132058c50f0521fd19313f1f5be45ce9ebf081f2e5f77ae6eb7d8db languageName: node linkType: hard @@ -4383,7 +4383,7 @@ __metadata: css-loader: 6.8.1 css-minimizer-webpack-plugin: 5.0.1 eslint: 8.45.0 - eslint-config-prettier: 8.8.0 + eslint-config-prettier: 8.9.0 handlebars: 4.7.7 handlebars-loader: 1.7.3 hotkeys-js: 3.11.2 From 39b449a7fe702b8eff62f0d58fae73ad91de6e30 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 15:24:36 -0700 Subject: [PATCH 045/104] Update dependency eslint to v8.46.0 (#8316) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 74 ++++++++++++++++++++++++------------------------ 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/war/package.json b/war/package.json index 35e7f5bf3d38..d07c508b8045 100644 --- a/war/package.json +++ b/war/package.json @@ -30,7 +30,7 @@ "clean-webpack-plugin": "4.0.0", "css-loader": "6.8.1", "css-minimizer-webpack-plugin": "5.0.1", - "eslint": "8.45.0", + "eslint": "8.46.0", "eslint-config-prettier": "8.9.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.6", diff --git a/war/yarn.lock b/war/yarn.lock index 0b378aa03c83..ec75647895d9 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -1744,16 +1744,16 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/regexpp@npm:4.4.0" - checksum: 2d127af0c752b80e8a782eacfe996a86925d21de92da3ffc6f9e615e701145e44a62e26bdd88bfac2cd76779c39ba8d9875a91046ec5e7e5f23cb647c247ea6a +"@eslint-community/regexpp@npm:^4.6.1": + version: 4.6.2 + resolution: "@eslint-community/regexpp@npm:4.6.2" + checksum: a3c341377b46b54fa228f455771b901d1a2717f95d47dcdf40199df30abc000ba020f747f114f08560d119e979d882a94cf46cfc51744544d54b00319c0f2724 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.0": - version: 2.1.0 - resolution: "@eslint/eslintrc@npm:2.1.0" +"@eslint/eslintrc@npm:^2.1.1": + version: 2.1.1 + resolution: "@eslint/eslintrc@npm:2.1.1" dependencies: ajv: ^6.12.4 debug: ^4.3.2 @@ -1764,14 +1764,14 @@ __metadata: js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: d5ed0adbe23f6571d8c9bb0ca6edf7618dc6aed4046aa56df7139f65ae7b578874e0d9c796df784c25bda648ceb754b6320277d828c8b004876d7443b8dc018c + checksum: bf909ea183d27238c257a82d4ffdec38ca94b906b4b8dfae02ecbe7ecc9e5a8182ef5e469c808bb8cb4fea4750f43ac4ca7c4b4a167b6cd7e3aaacd386b2bd25 languageName: node linkType: hard -"@eslint/js@npm:8.44.0": - version: 8.44.0 - resolution: "@eslint/js@npm:8.44.0" - checksum: fc539583226a28f5677356e9f00d2789c34253f076643d2e32888250e509a4e13aafe0880cb2425139051de0f3a48d25bfc5afa96b7304f203b706c17340e3cf +"@eslint/js@npm:^8.46.0": + version: 8.46.0 + resolution: "@eslint/js@npm:8.46.0" + checksum: 7aed479832302882faf5bec37e9d068f270f84c19b3fb529646a7c1b031e73a312f730569c78806492bc09cfce3d7651dfab4ce09a56cbb06bc6469449e56377 languageName: node linkType: hard @@ -2429,7 +2429,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.12.4, ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -3506,43 +3506,43 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.0": - version: 7.2.0 - resolution: "eslint-scope@npm:7.2.0" +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" dependencies: esrecurse: ^4.3.0 estraverse: ^5.2.0 - checksum: 64591a2d8b244ade9c690b59ef238a11d5c721a98bcee9e9f445454f442d03d3e04eda88e95a4daec558220a99fa384309d9faae3d459bd40e7a81b4063980ae + checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1": - version: 3.4.1 - resolution: "eslint-visitor-keys@npm:3.4.1" - checksum: f05121d868202736b97de7d750847a328fcfa8593b031c95ea89425333db59676ac087fa905eba438d0a3c5769632f828187e0c1a0d271832a2153c1d3661c2c +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.2": + version: 3.4.2 + resolution: "eslint-visitor-keys@npm:3.4.2" + checksum: 9e0e7e4aaea705c097ae37c97410e5f167d4d2193be2edcb1f0760762ede3df01545e4820ae314f42dcec687745f2c6dcaf6d83575c4a2a241eb0c8517d724f2 languageName: node linkType: hard -"eslint@npm:8.45.0": - version: 8.45.0 - resolution: "eslint@npm:8.45.0" +"eslint@npm:8.46.0": + version: 8.46.0 + resolution: "eslint@npm:8.46.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 - "@eslint-community/regexpp": ^4.4.0 - "@eslint/eslintrc": ^2.1.0 - "@eslint/js": 8.44.0 + "@eslint-community/regexpp": ^4.6.1 + "@eslint/eslintrc": ^2.1.1 + "@eslint/js": ^8.46.0 "@humanwhocodes/config-array": ^0.11.10 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 - ajv: ^6.10.0 + ajv: ^6.12.4 chalk: ^4.0.0 cross-spawn: ^7.0.2 debug: ^4.3.2 doctrine: ^3.0.0 escape-string-regexp: ^4.0.0 - eslint-scope: ^7.2.0 - eslint-visitor-keys: ^3.4.1 - espree: ^9.6.0 + eslint-scope: ^7.2.2 + eslint-visitor-keys: ^3.4.2 + espree: ^9.6.1 esquery: ^1.4.2 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 @@ -3566,18 +3566,18 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 3e6dcce5cc43c5e301662db88ee26d1d188b22c177b9f104d7eefd1191236980bd953b3670fe2fac287114b26d7c5420ab48407d7ea1c3a446d6313c000009da + checksum: 7a7d36b1a3bbc12e08fbb5bc36fd482a7a5a1797e62e762499dd45601b9e45aaa53a129f31ce0b4444551a9639b8b681ad535f379893dd1e3ae37b31dccd82aa languageName: node linkType: hard -"espree@npm:^9.6.0": - version: 9.6.0 - resolution: "espree@npm:9.6.0" +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" dependencies: acorn: ^8.9.0 acorn-jsx: ^5.3.2 eslint-visitor-keys: ^3.4.1 - checksum: 1287979510efb052a6a97c73067ea5d0a40701b29adde87bbe2d3eb1667e39ca55e8129e20e2517fed3da570150e7ef470585228459a8f3e3755f45007a1c662 + checksum: eb8c149c7a2a77b3f33a5af80c10875c3abd65450f60b8af6db1bfcfa8f101e21c1e56a561c6dc13b848e18148d43469e7cd208506238554fb5395a9ea5a1ab9 languageName: node linkType: hard @@ -4382,7 +4382,7 @@ __metadata: clean-webpack-plugin: 4.0.0 css-loader: 6.8.1 css-minimizer-webpack-plugin: 5.0.1 - eslint: 8.45.0 + eslint: 8.46.0 eslint-config-prettier: 8.9.0 handlebars: 4.7.7 handlebars-loader: 1.7.3 From 75d658a9bc44fdb23c09564f79dba12ef7d52078 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 15:25:00 -0700 Subject: [PATCH 046/104] Bump org.jenkins-ci.main:jenkins-test-harness from 2042.v787a_641a_9b_26 to 2044.v03c87927ff5c (#8317) Bump org.jenkins-ci.main:jenkins-test-harness Bumps [org.jenkins-ci.main:jenkins-test-harness](https://github.com/jenkinsci/jenkins-test-harness) from 2042.v787a_641a_9b_26 to 2044.v03c87927ff5c. - [Release notes](https://github.com/jenkinsci/jenkins-test-harness/releases) - [Changelog](https://github.com/jenkinsci/jenkins-test-harness/blob/master/docs/CHANGELOG-OLD.md) - [Commits](https://github.com/jenkinsci/jenkins-test-harness/commits) --- updated-dependencies: - dependency-name: org.jenkins-ci.main:jenkins-test-harness dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pom.xml b/test/pom.xml index 78f6d0c8c5dd..cc0e7ec9e3ca 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -116,7 +116,7 @@ THE SOFTWARE. ${project.groupId} jenkins-test-harness - 2042.v787a_641a_9b_26 + 2044.v03c87927ff5c test From 356551084cff78599b91a07c0b53a9f5f1777bf9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Jul 2023 16:13:33 -0700 Subject: [PATCH 047/104] Bump com.puppycrawl.tools:checkstyle from 10.12.1 to 10.12.2 (#8315) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e3f409d61d8e..08635d873113 100644 --- a/pom.xml +++ b/pom.xml @@ -332,7 +332,7 @@ THE SOFTWARE. com.puppycrawl.tools checkstyle - 10.12.1 + 10.12.2 From 4e6e3dcdc775fe740487a997a62837a154642a33 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Tue, 1 Aug 2023 04:43:06 -0400 Subject: [PATCH 048/104] Flake in `AbstractBuildTest.workspaceLock` (#8309) --- .../src/test/java/hudson/model/AbstractBuildTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/src/test/java/hudson/model/AbstractBuildTest.java b/test/src/test/java/hudson/model/AbstractBuildTest.java index e56d4e45e185..777152262f37 100644 --- a/test/src/test/java/hudson/model/AbstractBuildTest.java +++ b/test/src/test/java/hudson/model/AbstractBuildTest.java @@ -52,6 +52,8 @@ import java.util.Set; import java.util.TreeSet; import java.util.concurrent.TimeUnit; +import java.util.logging.Level; +import java.util.logging.Logger; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.htmlunit.Page; @@ -65,6 +67,7 @@ import org.jvnet.hudson.test.FakeChangeLogSCM; import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.LoggerRule; import org.jvnet.hudson.test.TestBuilder; import org.jvnet.hudson.test.TestExtension; import org.jvnet.hudson.test.UnstableBuilder; @@ -81,6 +84,9 @@ public class AbstractBuildTest { @Rule public JenkinsRule j = new JenkinsRule(); + @Rule + public LoggerRule logging = new LoggerRule(); + @Test @Issue("JENKINS-30730") public void reportErrorShouldNotFailForNonPublisherClass() throws Exception { @@ -287,6 +293,7 @@ public static class DescriptorImpl extends Descriptor {} @Test @Issue("JENKINS-10615") public void workspaceLock() throws Exception { + logging.record(Run.class, Level.FINER); FreeStyleProject p = j.createFreeStyleProject(); p.setConcurrentBuild(true); OneShotEvent e1 = new OneShotEvent(); @@ -330,6 +337,10 @@ private Object writeReplace() { assertNotEquals(b1.getStartCondition().get().getWorkspace(), b2.getStartCondition().get().getWorkspace()); done.signal(); + Logger.getLogger(AbstractBuildTest.class.getName()).info("Test done, letting builds complete…"); + j.waitForCompletion(b1.get()); + j.waitForCompletion(b2.get()); + Logger.getLogger(AbstractBuildTest.class.getName()).info("…done."); } @Test From 3d74c37b76c4662740d60c35fc61798d73c98e4a Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Tue, 1 Aug 2023 04:43:32 -0400 Subject: [PATCH 049/104] `DescribableList.replace` called `Saveable.save` twice (#8303) --- .../main/java/hudson/util/DescribableList.java | 6 +++++- .../java/hudson/util/DescribableListTest.java | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/util/DescribableList.java b/core/src/main/java/hudson/util/DescribableList.java index 0fa5e9fa70f1..a73dac196b2c 100644 --- a/core/src/main/java/hudson/util/DescribableList.java +++ b/core/src/main/java/hudson/util/DescribableList.java @@ -100,7 +100,11 @@ public void setOwner(Owner owner) { * Removes all instances of the same type, then add the new one. */ public void replace(T item) throws IOException { - removeAll((Class) item.getClass()); + for (T t : data) { + if (t.getClass() == item.getClass()) { + data.remove(t); + } + } data.add(item); onModified(); } diff --git a/core/src/test/java/hudson/util/DescribableListTest.java b/core/src/test/java/hudson/util/DescribableListTest.java index 7ea69d83853c..b8b079bbcaa1 100644 --- a/core/src/test/java/hudson/util/DescribableListTest.java +++ b/core/src/test/java/hudson/util/DescribableListTest.java @@ -24,11 +24,16 @@ package hudson.util; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.arrayContaining; +import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertEquals; import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter; import hudson.model.Describable; import hudson.model.Descriptor; +import hudson.model.Saveable; +import java.util.concurrent.atomic.AtomicInteger; import org.junit.Test; import org.jvnet.hudson.test.Issue; @@ -48,6 +53,18 @@ public void exceptionDuringUnmarshalling() { assertEquals("[1, 3]", data.toString()); } + @Test + public void replace() throws Exception { + AtomicInteger count = new AtomicInteger(); + DescribableList> list = new DescribableList<>((Saveable) count::incrementAndGet); + list.add(new Datum(1)); + list.add(new Datum(2)); + assertThat(count.get(), is(2)); + list.replace(new Datum(3)); + assertThat(list.stream().map(d -> d.val).toArray(Integer[]::new), arrayContaining(3)); + assertThat(count.get(), is(3)); + } + private static final class Data { final DescribableList> list = new DescribableList<>(); From ede24c1de10032b8f3af0087b4603ae02f86d335 Mon Sep 17 00:00:00 2001 From: Mysterious_Dev <40738104+Mysterious-Dev@users.noreply.github.com> Date: Tue, 1 Aug 2023 11:34:49 +0200 Subject: [PATCH 050/104] Add many french translations for plugins manager (#8311) --- .../hudson/PluginManager/advanced_fr.properties | 4 +++- .../PluginManager/available_fr.properties | 9 ++++++--- .../hudson/PluginManager/updates_fr.properties | 17 ++++++++--------- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/core/src/main/resources/hudson/PluginManager/advanced_fr.properties b/core/src/main/resources/hudson/PluginManager/advanced_fr.properties index 40cc50a775eb..70e4bf603a44 100644 --- a/core/src/main/resources/hudson/PluginManager/advanced_fr.properties +++ b/core/src/main/resources/hudson/PluginManager/advanced_fr.properties @@ -20,8 +20,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +Advanced\ settings=Paramètres avancés HTTP\ Proxy\ Configuration=Configuration du proxy HTTP -Upload\ Plugin=Soumettre un plugin +Deploy\ Plugin=Déployer le plugin +Deploy=Déployer File=Fichier Update\ Site=Site de mise à jour Upload=Soumettre diff --git a/core/src/main/resources/hudson/PluginManager/available_fr.properties b/core/src/main/resources/hudson/PluginManager/available_fr.properties index b5328ed8c1ac..394582ca5a72 100644 --- a/core/src/main/resources/hudson/PluginManager/available_fr.properties +++ b/core/src/main/resources/hudson/PluginManager/available_fr.properties @@ -20,6 +20,9 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -Updates=Mises à jour -Available=Disponibles -Installed=Installés +Available\ plugins=Plugins disponibles +Search\ available\ plugins=Rechercher les plugins disponibles +Install\ after\ restart=Installer après le redémarrage +Install=Installer +Name=Nom +Released=Publié diff --git a/core/src/main/resources/hudson/PluginManager/updates_fr.properties b/core/src/main/resources/hudson/PluginManager/updates_fr.properties index bf16337fdb8f..4b7ac87894aa 100644 --- a/core/src/main/resources/hudson/PluginManager/updates_fr.properties +++ b/core/src/main/resources/hudson/PluginManager/updates_fr.properties @@ -20,16 +20,15 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -Check\ to\ install\ the\ plugin=Cocher pour installer le plugin -Click\ this\ heading\ to\ sort\ by\ category=Cliquez sur l''en-tête pour classer par catégorie -Download\ now\ and\ install\ after\ restart=Télécharger maintenant et installer après redémarrage -Filter=Filtre -Inactive=Inactif -Install=Installer -Install\ without\ restart=Installer sans redémarrer -Installed=Installé +Updates=Mises à jour +Search\ plugin\ updates=Rechercher les mises à jour du plugin +Update=Mettre à jour Name=Nom +Released=Publié(e) +Installed=Installé +Applying\ this\ update\ will\ address\ security\ vulnerabilities\ in\ the\ currently\ installed\ version.=L'application de cette mise à jour corrigera les failles de sécurité de la version actuellement installée. +No\ updates=Aucunes mises à jour +Inactive=Inactif Version=Version -No\ updates=Pas de mises à jour compatWarning=Avertissement: Cette nouvelle version n''est pas compatible avec la version installée. Il peut être nécessaire de reconfigurer les tâches utilisant ce plugin. coreWarning=Ce plugin est conçu pour Jenkins {0} ou une version plus récente. Il pourrait ne pas fonctionner avec votre version de Jenkins. From 170e0e82ec70aebd6d947d1a3ce7f3b1b2ae0782 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 09:35:29 +0000 Subject: [PATCH 051/104] Bump org.jenkins-ci.main:remoting from 3131.vf2b_b_798b_ce99 to 3142.vcfca_0cd92128 (#8314) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 08635d873113..44584880ea5f 100644 --- a/pom.xml +++ b/pom.xml @@ -86,7 +86,7 @@ THE SOFTWARE. https://www.jenkins.io/changelog - 3131.vf2b_b_798b_ce99 + 3142.vcfca_0cd92128 4.7 From fc85abbc121d3207f351f4d4068e4c8b50f4ee0b Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 1 Aug 2023 13:08:03 +0000 Subject: [PATCH 052/104] [maven-release-plugin] prepare release jenkins-2.417 --- bom/pom.xml | 2 +- cli/pom.xml | 2 +- core/pom.xml | 2 +- coverage/pom.xml | 2 +- pom.xml | 4 ++-- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty10/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 9f255a92df24..65e0be695d13 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.417 jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index 56560342e5f4..cf7d150b227f 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.417 cli diff --git a/core/pom.xml b/core/pom.xml index 26f9a102c81e..5b47b03d2afa 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.417 jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index 9f27c8d11cf0..fc4e0fe96399 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.417 jenkins-coverage diff --git a/pom.xml b/pom.xml index 44584880ea5f..222a535bb9f9 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.417 pom Jenkins main module @@ -63,7 +63,7 @@ THE SOFTWARE. scm:git:https://github.com/jenkinsci/jenkins.git scm:git:git@github.com:jenkinsci/jenkins.git - ${scmTag} + jenkins-2.417 https://github.com/jenkinsci/jenkins diff --git a/test/pom.xml b/test/pom.xml index cc0e7ec9e3ca..6b53c226e63a 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.417 jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 963a3b0d50fc..91bd5031404e 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.417 jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index eb4a169a59d1..9edba17c4cd7 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.417 ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index 77abcc3b7248..a8a2cc5329a8 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - ${revision}${changelist} + 2.417 ../.. From 55547f9aab708b2546d353d3d53a6401378cb4f2 Mon Sep 17 00:00:00 2001 From: Jenkins Release Bot <66998184+jenkins-release-bot@users.noreply.github.com> Date: Tue, 1 Aug 2023 13:08:16 +0000 Subject: [PATCH 053/104] [maven-release-plugin] prepare for next development iteration --- bom/pom.xml | 2 +- cli/pom.xml | 2 +- core/pom.xml | 2 +- coverage/pom.xml | 2 +- pom.xml | 6 +++--- test/pom.xml | 2 +- war/pom.xml | 2 +- websocket/jetty10/pom.xml | 2 +- websocket/spi/pom.xml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index 65e0be695d13..9f255a92df24 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.417 + ${revision}${changelist} jenkins-bom diff --git a/cli/pom.xml b/cli/pom.xml index cf7d150b227f..56560342e5f4 100644 --- a/cli/pom.xml +++ b/cli/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.417 + ${revision}${changelist} cli diff --git a/core/pom.xml b/core/pom.xml index 5b47b03d2afa..26f9a102c81e 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -29,7 +29,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.417 + ${revision}${changelist} jenkins-core diff --git a/coverage/pom.xml b/coverage/pom.xml index fc4e0fe96399..9f27c8d11cf0 100644 --- a/coverage/pom.xml +++ b/coverage/pom.xml @@ -5,7 +5,7 @@ org.jenkins-ci.main jenkins-parent - 2.417 + ${revision}${changelist} jenkins-coverage diff --git a/pom.xml b/pom.xml index 222a535bb9f9..9621fa87e3ce 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.417 + ${revision}${changelist} pom Jenkins main module @@ -63,7 +63,7 @@ THE SOFTWARE. scm:git:https://github.com/jenkinsci/jenkins.git scm:git:git@github.com:jenkinsci/jenkins.git - jenkins-2.417 + ${scmTag} https://github.com/jenkinsci/jenkins @@ -73,7 +73,7 @@ THE SOFTWARE. - 2.417 + 2.418 -SNAPSHOT diff --git a/test/pom.xml b/test/pom.xml index 6b53c226e63a..cc0e7ec9e3ca 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.417 + ${revision}${changelist} jenkins-test diff --git a/war/pom.xml b/war/pom.xml index 91bd5031404e..963a3b0d50fc 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.417 + ${revision}${changelist} jenkins-war diff --git a/websocket/jetty10/pom.xml b/websocket/jetty10/pom.xml index 9edba17c4cd7..eb4a169a59d1 100644 --- a/websocket/jetty10/pom.xml +++ b/websocket/jetty10/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.417 + ${revision}${changelist} ../.. diff --git a/websocket/spi/pom.xml b/websocket/spi/pom.xml index a8a2cc5329a8..77abcc3b7248 100644 --- a/websocket/spi/pom.xml +++ b/websocket/spi/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci.main jenkins-parent - 2.417 + ${revision}${changelist} ../.. From eb96b8e07bcf2da498411ede238d24a18ec075c3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 3 Aug 2023 16:35:41 +0200 Subject: [PATCH 054/104] Update dependency org.apache.maven:maven-core to v3.9.4 (#8323) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .gitpod/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitpod/Dockerfile b/.gitpod/Dockerfile index 179361532b61..9f5ab9c02d91 100644 --- a/.gitpod/Dockerfile +++ b/.gitpod/Dockerfile @@ -1,6 +1,6 @@ FROM gitpod/workspace-full -ARG MAVEN_VERSION=3.9.3 +ARG MAVEN_VERSION=3.9.4 RUN brew install gh && \ bash -c ". /home/gitpod/.sdkman/bin/sdkman-init.sh && sdk install maven ${MAVEN_VERSION} && sdk default maven ${MAVEN_VERSION}" From a53112d63f16aeefc332394112f843a78932c206 Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Sat, 5 Aug 2023 12:43:28 +0200 Subject: [PATCH 055/104] [JENKINS-71744] Fix context menu (#8322) [JENKINS-71744] fix context menu --- core/src/main/java/hudson/model/ManageJenkinsAction.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/hudson/model/ManageJenkinsAction.java b/core/src/main/java/hudson/model/ManageJenkinsAction.java index a0eda48159db..c6c37a57662a 100644 --- a/core/src/main/java/hudson/model/ManageJenkinsAction.java +++ b/core/src/main/java/hudson/model/ManageJenkinsAction.java @@ -79,13 +79,13 @@ public ContextMenu doContextMenu(StaplerRequest request, StaplerResponse respons * menu. */ @Restricted(NoExternalUse.class) - public void addContextMenuItem(ContextMenu menu, String url, String icon, String iconXml, String text, boolean post, boolean requiresConfirmation, Badge badge) { + public void addContextMenuItem(ContextMenu menu, String url, String icon, String iconXml, String text, boolean post, boolean requiresConfirmation, Badge badge, String message) { if (Stapler.getCurrentRequest().findAncestorObject(this.getClass()) != null || !Util.isSafeToRedirectTo(url)) { // Default behavior if the URL is absolute or scheme-relative, or the current object is an ancestor (i.e. would resolve correctly) - menu.add(url, icon, iconXml, text, post, requiresConfirmation, badge); + menu.add(url, icon, iconXml, text, post, requiresConfirmation, badge, message); return; } // If neither is the case, rewrite the relative URL to point to inside the /manage/ URL space - menu.add("manage/" + url, icon, iconXml, text, post, requiresConfirmation, badge); + menu.add("manage/" + url, icon, iconXml, text, post, requiresConfirmation, badge, message); } } From 4aa7952d0ac7e87cdf5b054cdc47ddbd65bc1452 Mon Sep 17 00:00:00 2001 From: Mysterious_Dev <40738104+Mysterious-Dev@users.noreply.github.com> Date: Sat, 5 Aug 2023 12:44:06 +0200 Subject: [PATCH 056/104] Add French translations for Rename panel (#8320) * Update Messages_fr.properties * Create confirm-rename_fr.properties --- core/src/main/resources/hudson/Messages_fr.properties | 3 +++ .../hudson/model/AbstractItem/confirm-rename_fr.properties | 1 + 2 files changed, 4 insertions(+) create mode 100644 core/src/main/resources/hudson/model/AbstractItem/confirm-rename_fr.properties diff --git a/core/src/main/resources/hudson/Messages_fr.properties b/core/src/main/resources/hudson/Messages_fr.properties index 700ecb7b1d22..1c948734def7 100644 --- a/core/src/main/resources/hudson/Messages_fr.properties +++ b/core/src/main/resources/hudson/Messages_fr.properties @@ -20,6 +20,9 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +AbstractItem.NewNameInUse=Le nom "{0}" est déjà utilisé. +AbstractItem.NewNameUnchanged=Le nouveau nom est identique au nom actuel. + FilePath.did_not_manage_to_validate_may_be_too_sl=Impossible de valider {0} (peut-être est-ce trop lent) FilePath.validateAntFileMask.whitespaceSeprator=\ Les espaces ne peuvent plus être utilisés comme séparateurs. Merci d''utiliser maintenant '','' comme séparateur à la place. diff --git a/core/src/main/resources/hudson/model/AbstractItem/confirm-rename_fr.properties b/core/src/main/resources/hudson/model/AbstractItem/confirm-rename_fr.properties new file mode 100644 index 000000000000..85badf43445c --- /dev/null +++ b/core/src/main/resources/hudson/model/AbstractItem/confirm-rename_fr.properties @@ -0,0 +1 @@ +Rename=Renommer From 60c6ac12cc366074775475a7c8ea0ac815e69d06 Mon Sep 17 00:00:00 2001 From: Takashi Harano Date: Sat, 5 Aug 2023 19:44:33 +0900 Subject: [PATCH 057/104] Fix mistranslation of noPrincipal_ja.properties (#8324) Fix noPrincipal_ja.properties --- .../resources/jenkins/model/Jenkins/noPrincipal_ja.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/jenkins/model/Jenkins/noPrincipal_ja.properties b/core/src/main/resources/jenkins/model/Jenkins/noPrincipal_ja.properties index 781e2c28922b..0402280515b5 100644 --- a/core/src/main/resources/jenkins/model/Jenkins/noPrincipal_ja.properties +++ b/core/src/main/resources/jenkins/model/Jenkins/noPrincipal_ja.properties @@ -22,4 +22,4 @@ blurb=\ ウェブコンテナーが認証するように設定されていないようです。\ - コンテナーのドキュメントを参考にするか、jenkinsci-users@googlegroups.comか。 + コンテナーのドキュメントを参考にするか、jenkinsci-users@googlegroups.comに問い合わせてください。 From 1758fb66a37040d7ae4d63245f663af6ed4f39ca Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Aug 2023 04:45:21 -0600 Subject: [PATCH 058/104] Update jenkins/ath Docker tag to v5686 (#8333) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- ath.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ath.sh b/ath.sh index d797163539b3..08009178739e 100644 --- a/ath.sh +++ b/ath.sh @@ -6,7 +6,7 @@ set -o xtrace cd "$(dirname "$0")" # https://github.com/jenkinsci/acceptance-test-harness/releases -export ATH_VERSION=5659.v28d85a_47a_73a_ +export ATH_VERSION=5686.vc3a_26a_d441a_9 if [[ $# -eq 0 ]]; then export JDK=17 From 5208aef92c02c0fa074c36ce5e103a4afb82ac4c Mon Sep 17 00:00:00 2001 From: Pushkar Mahajan <44649555+Pushkar-Mahajan4@users.noreply.github.com> Date: Sat, 5 Aug 2023 06:48:21 -0400 Subject: [PATCH 059/104] Minor Improvement: Add Java 20 version to assertJavaCheckPasses() in war>src>test (#8285) * Add java 20 version to assertJavaCheckPasses() in war>src>test * Discard changes to war/yarn.lock --------- Co-authored-by: Pushkar-Mahajan4 Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com> --- war/src/test/java/executable/MainTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/war/src/test/java/executable/MainTest.java b/war/src/test/java/executable/MainTest.java index 6010759546ca..e690eb3996d0 100644 --- a/war/src/test/java/executable/MainTest.java +++ b/war/src/test/java/executable/MainTest.java @@ -28,6 +28,7 @@ void future() { assertJavaCheckFails(16, false); assertJavaCheckFails(18, false); assertJavaCheckFails(19, false); + assertJavaCheckFails(20, false); assertJavaCheckPasses(12, true); assertJavaCheckPasses(13, true); assertJavaCheckPasses(14, true); @@ -35,6 +36,7 @@ void future() { assertJavaCheckPasses(16, true); assertJavaCheckPasses(18, true); assertJavaCheckPasses(19, true); + assertJavaCheckPasses(20, true); } private static void assertJavaCheckFails(int releaseVersion, boolean enableFutureJava) { From a48ca6396e1360979a66fae0df902fe885e77a12 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Aug 2023 16:28:40 +0100 Subject: [PATCH 060/104] Update dependency sass to v1.64.2 (#8325) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mark Waite --- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/war/package.json b/war/package.json index d07c508b8045..7a1c401d29df 100644 --- a/war/package.json +++ b/war/package.json @@ -39,7 +39,7 @@ "postcss-preset-env": "9.1.0", "postcss-scss": "4.0.6", "prettier": "3.0.0", - "sass": "1.64.1", + "sass": "1.64.2", "sass-loader": "13.3.2", "style-loader": "3.3.3", "stylelint": "15.10.2", diff --git a/war/yarn.lock b/war/yarn.lock index ec75647895d9..452f99c43771 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4395,7 +4395,7 @@ __metadata: postcss-preset-env: 9.1.0 postcss-scss: 4.0.6 prettier: 3.0.0 - sass: 1.64.1 + sass: 1.64.2 sass-loader: 13.3.2 sortablejs: 1.15.0 style-loader: 3.3.3 @@ -6438,16 +6438,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.64.1": - version: 1.64.1 - resolution: "sass@npm:1.64.1" +"sass@npm:1.64.2": + version: 1.64.2 + resolution: "sass@npm:1.64.2" dependencies: chokidar: ">=3.0.0 <4.0.0" immutable: ^4.0.0 source-map-js: ">=0.6.2 <2.0.0" bin: sass: sass.js - checksum: e908f96f3d5fa5869e2f2aec97548c93d6ef390680af89870fcae8bdbaee2392ac650fbeae8d2ef8e4c99cb9f81e6b3624e1cb659af6d6e746332a22233b5ad8 + checksum: 43a5c9b9b3b6ba27feb5c45eba90edc437b15a30fd443f5d2623bbd59fe4a922f2a6a9990296c6a6c2b5bce7f401922c5049357415f50b745952c2d478bc5526 languageName: node linkType: hard From a6ca8454136178870d5e5764ea436da75f3b5b8f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 5 Aug 2023 21:07:51 +0200 Subject: [PATCH 061/104] Update dependency hotkeys-js to v3.12.0 (#8335) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/war/package.json b/war/package.json index 7a1c401d29df..aba15befa802 100644 --- a/war/package.json +++ b/war/package.json @@ -51,7 +51,7 @@ }, "dependencies": { "handlebars": "4.7.7", - "hotkeys-js": "3.11.2", + "hotkeys-js": "3.12.0", "jquery": "3.7.0", "lodash": "4.17.21", "sortablejs": "1.15.0", diff --git a/war/yarn.lock b/war/yarn.lock index 452f99c43771..7a1c274b2691 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4062,10 +4062,10 @@ __metadata: languageName: node linkType: hard -"hotkeys-js@npm:3.11.2": - version: 3.11.2 - resolution: "hotkeys-js@npm:3.11.2" - checksum: 8e3d984628d2dcf75519017cfdb2c936e7bd0598cf87e3b11e90a5a0b104105042f9979de0118061e819fca95be9c26f27f76447ceeff726678737aaedcd9707 +"hotkeys-js@npm:3.12.0": + version: 3.12.0 + resolution: "hotkeys-js@npm:3.12.0" + checksum: b359d32cf926a3b4723ee4cd0978639dbad0b0b33e4d0ff75861906ea54d19c9ff2aa7cffde7fdb1bf2718a7eab2bfa326edb3974f5e4182feec5591cb23632d languageName: node linkType: hard @@ -4386,7 +4386,7 @@ __metadata: eslint-config-prettier: 8.9.0 handlebars: 4.7.7 handlebars-loader: 1.7.3 - hotkeys-js: 3.11.2 + hotkeys-js: 3.12.0 jquery: 3.7.0 lodash: 4.17.21 mini-css-extract-plugin: 2.7.6 From cef3ff7546fecc5d32804807424c83b7de3f7a61 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 6 Aug 2023 13:17:19 +0200 Subject: [PATCH 062/104] Update dependency prettier to v3.0.1 (#8337) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/war/package.json b/war/package.json index aba15befa802..fda240677937 100644 --- a/war/package.json +++ b/war/package.json @@ -38,7 +38,7 @@ "postcss-loader": "7.3.3", "postcss-preset-env": "9.1.0", "postcss-scss": "4.0.6", - "prettier": "3.0.0", + "prettier": "3.0.1", "sass": "1.64.2", "sass-loader": "13.3.2", "style-loader": "3.3.3", diff --git a/war/yarn.lock b/war/yarn.lock index 7a1c274b2691..86d3c27f48c6 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -4394,7 +4394,7 @@ __metadata: postcss-loader: 7.3.3 postcss-preset-env: 9.1.0 postcss-scss: 4.0.6 - prettier: 3.0.0 + prettier: 3.0.1 sass: 1.64.2 sass-loader: 13.3.2 sortablejs: 1.15.0 @@ -6117,12 +6117,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:3.0.0": - version: 3.0.0 - resolution: "prettier@npm:3.0.0" +"prettier@npm:3.0.1": + version: 3.0.1 + resolution: "prettier@npm:3.0.1" bin: prettier: bin/prettier.cjs - checksum: 6a832876a1552dc58330d2467874e5a0b46b9ccbfc5d3531eb69d15684743e7f83dc9fbd202db6270446deba9c82b79d24383d09924c462b457136a759425e33 + checksum: e1f3f16c7fe0495de3faa182597871f74927d787cce3c52095a66ff5d7eacc05173371d5f58bf12141a0a1b6bfe739a338531d6cf18b92c7256c1319f2c84e73 languageName: node linkType: hard From 76c0bd2ea9fc829001b7228a8dfece8fa73c0f60 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 6 Aug 2023 13:17:59 +0200 Subject: [PATCH 063/104] Update dependency eslint-config-prettier to v8.10.0 (#8338) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/war/package.json b/war/package.json index fda240677937..c8eee0113d32 100644 --- a/war/package.json +++ b/war/package.json @@ -31,7 +31,7 @@ "css-loader": "6.8.1", "css-minimizer-webpack-plugin": "5.0.1", "eslint": "8.46.0", - "eslint-config-prettier": "8.9.0", + "eslint-config-prettier": "8.10.0", "handlebars-loader": "1.7.3", "mini-css-extract-plugin": "2.7.6", "postcss": "8.4.27", diff --git a/war/yarn.lock b/war/yarn.lock index 86d3c27f48c6..07b2df8c76aa 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -3485,14 +3485,14 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:8.9.0": - version: 8.9.0 - resolution: "eslint-config-prettier@npm:8.9.0" +"eslint-config-prettier@npm:8.10.0": + version: 8.10.0 + resolution: "eslint-config-prettier@npm:8.10.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: a675d0dabd76b700ef2d062b5ec6a634e105a8e8c070f95281fd2ccb614527fac60b4c758132058c50f0521fd19313f1f5be45ce9ebf081f2e5f77ae6eb7d8db + checksum: 153266badd477e49b0759816246b2132f1dbdb6c7f313ca60a9af5822fd1071c2bc5684a3720d78b725452bbac04bb130878b2513aea5e72b1b792de5a69fec8 languageName: node linkType: hard @@ -4383,7 +4383,7 @@ __metadata: css-loader: 6.8.1 css-minimizer-webpack-plugin: 5.0.1 eslint: 8.46.0 - eslint-config-prettier: 8.9.0 + eslint-config-prettier: 8.10.0 handlebars: 4.7.7 handlebars-loader: 1.7.3 hotkeys-js: 3.12.0 From afc7e5eacc6c083d78848b9942c5731ce779ed62 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 6 Aug 2023 13:18:31 +0200 Subject: [PATCH 064/104] Update dependency lit to v2.8.0 (#8336) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- core/src/site/site.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/site/site.xml b/core/src/site/site.xml index ce8a20455a69..30eb94e3fe3a 100644 --- a/core/src/site/site.xml +++ b/core/src/site/site.xml @@ -6,7 +6,7 @@ + From 7b4acd8e7d09c78bfa69fbfa364cda44feca3e05 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Aug 2023 13:19:10 +0200 Subject: [PATCH 065/104] Bump org.jenkins-ci.plugins:antisamy-markup-formatter from 159.v25b_c67cd35fb_ to 162.v0e6ec0fcfcf6 (#8330) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pom.xml b/test/pom.xml index cc0e7ec9e3ca..672bb462f68d 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -179,7 +179,7 @@ THE SOFTWARE. org.jenkins-ci.plugins antisamy-markup-formatter - 159.v25b_c67cd35fb_ + 162.v0e6ec0fcfcf6 test From 5adaeab227f632049eca2cda4c1232db86b95f3e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Aug 2023 13:19:23 +0200 Subject: [PATCH 066/104] Bump org.jenkins-ci.plugins:script-security from 1251.vfe552ed55f8d to 1264.vecf66020eb_7d (#8329) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pom.xml b/test/pom.xml index 672bb462f68d..1a7264d1ce2e 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -101,7 +101,7 @@ THE SOFTWARE. org.jenkins-ci.plugins script-security - 1251.vfe552ed55f8d + 1264.vecf66020eb_7d From b6c0d0d6c31337d9d6bad8f21f3ae60d408c4375 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Aug 2023 13:19:31 +0200 Subject: [PATCH 067/104] Bump org.jenkins-ci.plugins:mailer from 457.v3f72cb_e015e5 to 463.vedf8358e006b_ (#8328) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pom.xml b/test/pom.xml index 1a7264d1ce2e..fd24568af0ad 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -203,7 +203,7 @@ THE SOFTWARE. org.jenkins-ci.plugins mailer - 457.v3f72cb_e015e5 + 463.vedf8358e006b_ test From ab53bb756cef5c0672fb91e85aa49e986b1b19f9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Aug 2023 13:19:49 +0200 Subject: [PATCH 068/104] Bump org.jenkins-ci.plugins:matrix-project from 789.v57a_725b_63c79 to 802.v8013b_40c7edc (#8327) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pom.xml b/test/pom.xml index fd24568af0ad..ae178619a73a 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -215,7 +215,7 @@ THE SOFTWARE. org.jenkins-ci.plugins matrix-project - 789.v57a_725b_63c79 + 802.v8013b_40c7edc test From b68f3d8ec82b00e04237c7b2db0469baa8875f2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 6 Aug 2023 13:20:19 +0200 Subject: [PATCH 069/104] Bump com.google.guava:guava from 32.1.1-jre to 32.1.2-jre (#8318) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/pom.xml b/bom/pom.xml index 9f255a92df24..537d08f11a36 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -82,7 +82,7 @@ THE SOFTWARE. com.google.guava guava - 32.1.1-jre + 32.1.2-jre From 6c9f9a2bbff6500c9fd0d1809689d21a6992287c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 6 Aug 2023 16:30:47 +0200 Subject: [PATCH 070/104] Update dependency handlebars to v4.7.8 (#8334) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- war/package.json | 2 +- war/yarn.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/war/package.json b/war/package.json index c8eee0113d32..ad68c152994e 100644 --- a/war/package.json +++ b/war/package.json @@ -50,7 +50,7 @@ "webpack-remove-empty-scripts": "1.0.3" }, "dependencies": { - "handlebars": "4.7.7", + "handlebars": "4.7.8", "hotkeys-js": "3.12.0", "jquery": "3.7.0", "lodash": "4.17.21", diff --git a/war/yarn.lock b/war/yarn.lock index 07b2df8c76aa..e1f677e327de 100644 --- a/war/yarn.lock +++ b/war/yarn.lock @@ -3998,12 +3998,12 @@ __metadata: languageName: node linkType: hard -"handlebars@npm:4.7.7": - version: 4.7.7 - resolution: "handlebars@npm:4.7.7" +"handlebars@npm:4.7.8": + version: 4.7.8 + resolution: "handlebars@npm:4.7.8" dependencies: minimist: ^1.2.5 - neo-async: ^2.6.0 + neo-async: ^2.6.2 source-map: ^0.6.1 uglify-js: ^3.1.4 wordwrap: ^1.0.0 @@ -4012,7 +4012,7 @@ __metadata: optional: true bin: handlebars: bin/handlebars - checksum: 1e79a43f5e18d15742977cb987923eab3e2a8f44f2d9d340982bcb69e1735ed049226e534d7c1074eaddaf37e4fb4f471a8adb71cddd5bc8cf3f894241df5cee + checksum: 00e68bb5c183fd7b8b63322e6234b5ac8fbb960d712cb3f25587d559c2951d9642df83c04a1172c918c41bcfc81bfbd7a7718bbce93b893e0135fc99edea93ff languageName: node linkType: hard @@ -4384,7 +4384,7 @@ __metadata: css-minimizer-webpack-plugin: 5.0.1 eslint: 8.46.0 eslint-config-prettier: 8.10.0 - handlebars: 4.7.7 + handlebars: 4.7.8 handlebars-loader: 1.7.3 hotkeys-js: 3.12.0 jquery: 3.7.0 @@ -5008,7 +5008,7 @@ __metadata: languageName: node linkType: hard -"neo-async@npm:^2.6.0, neo-async@npm:^2.6.2": +"neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 From 16311122e7f8d0d87cc2df763cd5e2605d49fac5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Aug 2023 09:47:30 -0700 Subject: [PATCH 071/104] Bump org.jenkins-ci.plugins:display-url-api from 2.3.7 to 2.3.8 (#8343) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pom.xml b/test/pom.xml index ae178619a73a..48c08d4e2de0 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -95,7 +95,7 @@ THE SOFTWARE. org.jenkins-ci.plugins display-url-api - 2.3.7 + 2.3.8 From 8af4d4c2172d4d721bbb89a1db83d552b3f9d99a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Aug 2023 09:47:35 -0700 Subject: [PATCH 072/104] Bump io.jenkins.plugins:commons-text-api from 1.10.0-36.vc008c8fcda_7b_ to 1.10.0-68.v0d0b_c439292b_ (#8342) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pom.xml b/test/pom.xml index 48c08d4e2de0..4074767623ee 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -62,7 +62,7 @@ THE SOFTWARE. io.jenkins.plugins commons-text-api - 1.10.0-36.vc008c8fcda_7b_ + 1.10.0-68.v0d0b_c439292b_ From ce7f89712d4f55afdb2b9032ed98617e0fde9df5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Aug 2023 21:40:44 -0700 Subject: [PATCH 073/104] Bump org.jenkins-ci:jenkins from 1.103 to 1.104 (#8346) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9621fa87e3ce..c64d580312ac 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ THE SOFTWARE. org.jenkins-ci jenkins - 1.103 + 1.104 From 4ccb66b0f8c0ba7fed28e7cccf8903b0f4e58dae Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue, 8 Aug 2023 13:06:42 +0100 Subject: [PATCH 074/104] [JENKINS-71238] New login page breaks `login-theme-plugin` (#8341) Move simple-header out --- .../security/HudsonPrivateSecurityRealm/signup.jelly | 7 ++++++- .../model/DefaultSimplePageDecorator/simple-header.jelly | 7 +------ core/src/main/resources/jenkins/model/Jenkins/login.jelly | 7 ++++++- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/signup.jelly b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/signup.jelly index 45339b4d3d7a..1e550e3a1497 100644 --- a/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/signup.jelly +++ b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/signup.jelly @@ -52,11 +52,16 @@ THE SOFTWARE.