From 6f88637ef098bd50b11069e7f87453041828c629 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 11 Dec 2024 14:50:26 -1000
Subject: [PATCH 01/10] Update dependency
org.jenkins-ci.plugins:cloudbees-folder to v6.971.v9a_984fd08864 (#10050)
Co-authored-by: renovate[bot] <29139614+renovate[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 563f7eb4b7cf..9a4bb6566077 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -218,7 +218,7 @@ THE SOFTWARE.
org.jenkins-ci.plugins
cloudbees-folder
- 6.969.v7d22c6eb_fde1
+ 6.971.v9a_984fd08864
test
From 5404f14af18155d62f819279a5debddcbff794c5 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 11 Dec 2024 14:52:44 -1000
Subject: [PATCH 02/10] Update dependency
org.apache.maven.skins:maven-fluido-skin to v2.0.1 (#10051)
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 52c9edf3a7f3..3e075fe497b9 100644
--- a/core/src/site/site.xml
+++ b/core/src/site/site.xml
@@ -41,7 +41,7 @@
org.apache.maven.skins
maven-fluido-skin
- 2.0.0
+ 2.0.1
From d65f0cfd0f06d2a0f76ef75639048ac68425ac19 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 12 Dec 2024 21:36:52 +0000
Subject: [PATCH 03/10] Update dependency
org.springframework:spring-framework-bom to v6.2.1 (#10053)
Co-authored-by: renovate[bot] <29139614+renovate[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 f94253ce6f70..dc442e708a6f 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -62,7 +62,7 @@ THE SOFTWARE.
org.springframework
spring-framework-bom
- 6.2.0
+ 6.2.1
pom
import
From bd7d299894d944282efd1aa058e60e059b08af89 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 12 Dec 2024 21:37:02 +0000
Subject: [PATCH 04/10] Update mina-sshd-api.version to
v2.14.0-136.v4d2b_0853615e (#10052)
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 44e2f0166269..75f7f4e7c16c 100644
--- a/war/pom.xml
+++ b/war/pom.xml
@@ -46,7 +46,7 @@ THE SOFTWARE.
localhost
8080
- 2.14.0-133.vcc091215a_358
+ 2.14.0-136.v4d2b_0853615e
3107.v665000b_51092
From 8c9caff51d7069649d7af9d6edb2b693a6bed7f0 Mon Sep 17 00:00:00 2001
From: Tim Jacomb <21194782+timja@users.noreply.github.com>
Date: Thu, 12 Dec 2024 21:39:25 +0000
Subject: [PATCH 05/10] [JENKINS-73539] Disable YUI by default (#10045)
---
.../RemoveYuiUserExperimentalFlag.java | 8 ++++++++
war/src/main/webapp/scripts/hudson-behavior.js | 10 ----------
2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/core/src/main/java/jenkins/model/experimentalflags/RemoveYuiUserExperimentalFlag.java b/core/src/main/java/jenkins/model/experimentalflags/RemoveYuiUserExperimentalFlag.java
index e8f8dcc31775..418f9c4b5406 100644
--- a/core/src/main/java/jenkins/model/experimentalflags/RemoveYuiUserExperimentalFlag.java
+++ b/core/src/main/java/jenkins/model/experimentalflags/RemoveYuiUserExperimentalFlag.java
@@ -24,8 +24,10 @@
package jenkins.model.experimentalflags;
+import edu.umd.cs.findbugs.annotations.NonNull;
import edu.umd.cs.findbugs.annotations.Nullable;
import hudson.Extension;
+import jenkins.util.SystemProperties;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
@@ -46,4 +48,10 @@ public String getDisplayName() {
public String getShortDescription() {
return "Remove YUI from all Jenkins UI pages. This will break anything that depends on YUI";
}
+
+ @NonNull
+ @Override
+ public Boolean getDefaultValue() {
+ return SystemProperties.getBoolean(RemoveYuiUserExperimentalFlag.class.getName() + ".defaultValue", true);
+ }
}
diff --git a/war/src/main/webapp/scripts/hudson-behavior.js b/war/src/main/webapp/scripts/hudson-behavior.js
index 9ae3d9298d37..043dc4677375 100644
--- a/war/src/main/webapp/scripts/hudson-behavior.js
+++ b/war/src/main/webapp/scripts/hudson-behavior.js
@@ -194,16 +194,6 @@ var resURL = "not-defined-yet"; // eslint-disable-line no-unused-vars
}
})();
-(function initializeYUIDebugLogReader() {
- Behaviour.addLoadEvent(function () {
- var logReaderElement = document.getElementById("yui-logreader");
- if (logReaderElement !== null) {
- var logReader = new YAHOO.widget.LogReader("yui-logreader");
- logReader.collapse();
- }
- });
-})();
-
// Form check code
//========================================================
var FormChecker = {
From 65bbc5d549e3d3e61c6279d92b6d7c6aea945695 Mon Sep 17 00:00:00 2001
From: Jan Faracik <43062514+janfaracik@users.noreply.github.com>
Date: Thu, 12 Dec 2024 21:39:52 +0000
Subject: [PATCH 06/10] Refine Command Palette UI (#10046)
Refine command palette
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
---
.../js/components/command-palette/index.js | 18 ++++-
.../scss/components/_command-palette.scss | 73 +++++++++++++------
src/main/scss/components/_dialogs.scss | 6 ++
src/main/scss/form/_search-bar.scss | 2 +-
4 files changed, 72 insertions(+), 27 deletions(-)
diff --git a/src/main/js/components/command-palette/index.js b/src/main/js/components/command-palette/index.js
index dfb3c6eb7efe..5ece1106aed0 100644
--- a/src/main/js/components/command-palette/index.js
+++ b/src/main/js/components/command-palette/index.js
@@ -94,18 +94,23 @@ function init() {
}
searchResultsContainer.style.height = searchResults.offsetHeight + "px";
+ debouncedSpinner.cancel();
commandPaletteSearchBarContainer.classList.remove(
"jenkins-search--loading",
);
});
}
+ const debouncedSpinner = debounce(() => {
+ commandPaletteSearchBarContainer.classList.add("jenkins-search--loading");
+ }, 150);
+
const debouncedLoad = debounce(() => {
renderResults();
}, 150);
commandPaletteInput.addEventListener("input", () => {
- commandPaletteSearchBarContainer.classList.add("jenkins-search--loading");
+ debouncedSpinner();
debouncedLoad();
});
@@ -119,7 +124,16 @@ function init() {
}
function hideCommandPalette() {
- commandPalette.close();
+ commandPalette.setAttribute("closing", "");
+
+ commandPalette.addEventListener(
+ "animationend",
+ () => {
+ commandPalette.removeAttribute("closing");
+ commandPalette.close();
+ },
+ { once: true },
+ );
}
function itemMouseEnter(item) {
diff --git a/src/main/scss/components/_command-palette.scss b/src/main/scss/components/_command-palette.scss
index 6c3b16517e3a..8aadde54608d 100644
--- a/src/main/scss/components/_command-palette.scss
+++ b/src/main/scss/components/_command-palette.scss
@@ -1,13 +1,5 @@
@use "../abstracts/mixins";
-.jenkins-command-palette__dialog {
- &::backdrop {
- background: var(--command-palette-backdrop-background);
- backdrop-filter: contrast(0.7) brightness(0.9) saturate(1.25) blur(3px);
- animation: jenkins-modal-backdrop-animate-in 0.3s;
- }
-}
-
.jenkins-command-palette__dialog {
background: none;
border: none;
@@ -17,6 +9,41 @@
max-width: 100vw !important;
margin: 0 !important;
padding: 0 !important;
+ user-select: none;
+
+ &::backdrop {
+ background: var(--command-palette-backdrop-background);
+ backdrop-filter: contrast(0.7) brightness(0.9) saturate(1.25) blur(3px);
+ animation: jenkins-dialog-backdrop-animate-in 0.1s linear;
+ }
+
+ &[open] {
+ animation: command-palette-animate-in 0.1s cubic-bezier(0, 0.68, 0.5, 1.5);
+ }
+
+ &[closing] {
+ animation: command-palette-animate-out 0.1s linear;
+
+ &::backdrop {
+ animation: jenkins-dialog-backdrop-animate-out 0.1s linear;
+ }
+ }
+}
+
+@keyframes command-palette-animate-in {
+ from {
+ translate: 0 4px;
+ scale: 98.5%;
+ opacity: 0;
+ transform: rotateX(30deg);
+ }
+}
+
+@keyframes command-palette-animate-out {
+ to {
+ scale: 98.5%;
+ opacity: 0;
+ }
}
.jenkins-command-palette__wrapper {
@@ -40,9 +67,7 @@
--search-bar-height: 3rem !important;
background: transparent;
- box-shadow:
- 0 0 0 20px transparent,
- var(--command-palette-inset-shadow);
+ box-shadow: var(--command-palette-inset-shadow);
margin-bottom: 1.5rem;
border-radius: 1rem;
transition: var(--standard-transition);
@@ -71,7 +96,8 @@
border-radius: 1rem;
backdrop-filter: var(--command-palette-results-backdrop-filter);
box-shadow: var(--command-palette-inset-shadow);
- height: 0;
+ // If set to 0, Safari won't always show the backdrop-filter
+ height: 1px;
transition: height var(--standard-transition);
overflow: hidden;
will-change: height;
@@ -83,8 +109,8 @@
padding: 0.5rem;
&__heading {
- font-weight: 600;
- font-size: 0.85rem;
+ font-weight: 500;
+ font-size: 0.875rem;
margin: 0;
padding: 0.75rem 0.75rem 0.625rem;
color: var(--text-color-secondary);
@@ -113,8 +139,7 @@
justify-content: flex-start;
background: transparent;
padding: 0.75rem;
- border-radius: 0.66rem;
- font-weight: 600;
+ border-radius: 0.5rem;
cursor: pointer;
color: var(--text-color) !important;
transition: var(--standard-transition);
@@ -132,17 +157,17 @@
display: flex;
align-items: center;
justify-content: center;
- width: 1.4rem;
- height: 1.4rem;
- margin-right: 12.5px;
+ width: 1.375rem;
+ height: 1.375rem;
+ margin-right: 0.75rem;
overflow: hidden;
pointer-events: none;
color: var(--text-color);
svg,
img {
- width: 1.2rem;
- height: 1.2rem;
+ width: 1.125rem;
+ height: 1.125rem;
}
}
@@ -163,10 +188,10 @@
}
&__info {
- font-weight: 600;
- font-size: 0.85rem;
+ font-size: 0.875rem;
margin: 0;
- padding: 12.5px 12.5px 10px;
+ padding: 0 14px;
+ line-height: 46px;
color: var(--text-color);
span {
diff --git a/src/main/scss/components/_dialogs.scss b/src/main/scss/components/_dialogs.scss
index 7040c70af0e2..fbefb7bbe275 100644
--- a/src/main/scss/components/_dialogs.scss
+++ b/src/main/scss/components/_dialogs.scss
@@ -87,6 +87,12 @@ $jenkins-dialog-padding: 1.3rem;
}
}
+@keyframes jenkins-dialog-backdrop-animate-out {
+ to {
+ opacity: 0;
+ }
+}
+
@keyframes jenkins-dialog-animate-in {
from {
scale: 85%;
diff --git a/src/main/scss/form/_search-bar.scss b/src/main/scss/form/_search-bar.scss
index ab4f6e9718cf..e520f9c7e69b 100644
--- a/src/main/scss/form/_search-bar.scss
+++ b/src/main/scss/form/_search-bar.scss
@@ -133,7 +133,7 @@
place-self: center center;
opacity: 0;
scale: 0;
- filter: blur(5px);
+ filter: blur(2.5px);
}
&::after {
From d773eb93a11261d758fd1ff84710afc665557921 Mon Sep 17 00:00:00 2001
From: Jesse Glick
Date: Thu, 12 Dec 2024 16:40:12 -0500
Subject: [PATCH 07/10] Expose `User.reload` as beta API (#10039)
---
core/src/main/java/hudson/model/User.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/core/src/main/java/hudson/model/User.java b/core/src/main/java/hudson/model/User.java
index 685a80e540a9..72d2719bc1ec 100644
--- a/core/src/main/java/hudson/model/User.java
+++ b/core/src/main/java/hudson/model/User.java
@@ -77,6 +77,7 @@
import jenkins.util.SystemProperties;
import org.jenkinsci.Symbol;
import org.kohsuke.accmod.Restricted;
+import org.kohsuke.accmod.restrictions.Beta;
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.StaplerProxy;
import org.kohsuke.stapler.StaplerRequest2;
@@ -673,9 +674,9 @@ public void doSubmitDescription(StaplerRequest2 req, StaplerResponse2 rsp) throw
}
/**
- * To be called from {@link Jenkins#reload} only.
+ * Called from {@link Jenkins#reload}.
*/
- @Restricted(NoExternalUse.class)
+ @Restricted(Beta.class)
public static void reload() throws IOException {
UserIdMapper.getInstance().reload();
AllUsers.reload();
From 4943f167de2b2a15171f7a655c58f56c6e7ca320 Mon Sep 17 00:00:00 2001
From: Jesse Glick
Date: Thu, 12 Dec 2024 16:40:26 -0500
Subject: [PATCH 08/10] Recover views after error in `Jenkins.load` (#10023)
* Recover views after error in `Jenkins.load`
* Prevent infinite recursion in `Jenkins/sidepanel.jelly` when `Jenkins.primaryView` is null
---------
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
---
core/src/main/java/jenkins/model/Jenkins.java | 14 +++++++++++---
.../jenkins/model/Jenkins/sidepanel.jelly | 7 ++++++-
.../src/test/java/jenkins/model/JenkinsTest.java | 16 ++++++++++++++++
3 files changed, 33 insertions(+), 4 deletions(-)
diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java
index eee96b5bca05..e643e848dd9b 100644
--- a/core/src/main/java/jenkins/model/Jenkins.java
+++ b/core/src/main/java/jenkins/model/Jenkins.java
@@ -3297,11 +3297,19 @@ public void load() throws IOException {
if (cfg.exists()) {
// reset some data that may not exist in the disk file
// so that we can take a proper compensation action later.
+ String originalPrimaryView = primaryView;
+ List originalViews = new ArrayList<>(views);
primaryView = null;
views.clear();
-
- // load from disk
- cfg.unmarshal(Jenkins.this);
+ try {
+ // load from disk
+ cfg.unmarshal(Jenkins.this);
+ } catch (IOException | RuntimeException x) {
+ primaryView = originalPrimaryView;
+ views.clear();
+ views.addAll(originalViews);
+ throw x;
+ }
}
// initialize views by inserting the default view if necessary
// this is both for clean Jenkins and for backward compatibility.
diff --git a/core/src/main/resources/jenkins/model/Jenkins/sidepanel.jelly b/core/src/main/resources/jenkins/model/Jenkins/sidepanel.jelly
index 9ddff73647d6..e413712d6e7c 100644
--- a/core/src/main/resources/jenkins/model/Jenkins/sidepanel.jelly
+++ b/core/src/main/resources/jenkins/model/Jenkins/sidepanel.jelly
@@ -23,4 +23,9 @@ THE SOFTWARE.
-->
-
\ No newline at end of file
+
+
+
+
+
+
diff --git a/test/src/test/java/jenkins/model/JenkinsTest.java b/test/src/test/java/jenkins/model/JenkinsTest.java
index 8469c9b46c36..acef3b6a2300 100644
--- a/test/src/test/java/jenkins/model/JenkinsTest.java
+++ b/test/src/test/java/jenkins/model/JenkinsTest.java
@@ -30,9 +30,11 @@
import static org.awaitility.Awaitility.await;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.arrayContaining;
+import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.isA;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -46,6 +48,7 @@
import hudson.XmlFile;
import hudson.init.InitMilestone;
import hudson.init.Initializer;
+import hudson.model.AllView;
import hudson.model.Computer;
import hudson.model.Failure;
import hudson.model.FreeStyleProject;
@@ -101,6 +104,7 @@
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.rules.TemporaryFolder;
+import org.jvnet.hudson.reactor.ReactorException;
import org.jvnet.hudson.test.Issue;
import org.jvnet.hudson.test.JenkinsRule;
import org.jvnet.hudson.test.JenkinsRule.WebClient;
@@ -755,4 +759,16 @@ public String getUrlName() {
return null;
}
}
+
+ @Test
+ public void reloadViews() throws Exception {
+ assertThat(j.jenkins.getPrimaryView(), isA(AllView.class));
+ assertThat(j.jenkins.getViews(), contains(isA(AllView.class)));
+ Files.writeString(j.jenkins.getConfigFile().getFile().toPath(), "
Date: Fri, 13 Dec 2024 08:00:27 +0000
Subject: [PATCH 09/10] Update dependency com.puppycrawl.tools:checkstyle to
v10.21.0 (#10055)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 3adc5e2a5a49..926fb78b6de1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -281,7 +281,7 @@ THE SOFTWARE.
com.puppycrawl.tools
checkstyle
- 10.20.2
+ 10.21.0
From 7020e80af86d6406531e4bd0cdfcd03fbce9f87c Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 13 Dec 2024 08:01:01 +0000
Subject: [PATCH 10/10] Update dependency
org.jenkins-ci.plugins:cloudbees-folder to v6.973.vc9b_85a_61e4fc (#10056)
Co-authored-by: renovate[bot] <29139614+renovate[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 9a4bb6566077..ceab77c44894 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -218,7 +218,7 @@ THE SOFTWARE.
org.jenkins-ci.plugins
cloudbees-folder
- 6.971.v9a_984fd08864
+ 6.973.vc9b_85a_61e4fc
test