* [JENKINS-69853] User experimental flags
* Applying feedbacks from Tim
* Improve default wording + padding + title
* Remove the "UI"
* Correct Spotbugs
---------
Co-authored-by: Alexander Brandes <mc.cache@web.de>
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
* [JENKINS-69955] Make websocket connection idleTimeout configurable and adjust the default
* [JENKINS-69955] Do not cache JettyWebSocketServerContainer
* [JENKINS-69955] AtomicBoolean is not needed
* [JENKINS-69955] remove unused import
---------
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
Co-authored-by: Alexander Brandes <mc.cache@web.de>
Warn user that the copy button requires HTTPS
Users that run Jenkins over an unencrypted (HTTP) connection will see
the copy button, but it does not perform a copy. Browsers will only
allow access to the clipboard if the page is in a secure context.
With this change, the text that is displayed when the user clicks the
copy button from an insecure context will alert the user that copy
requires a secure connection.
https://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript
describes the alternatives in more detail.
https://issues.jenkins.io/browse/JENKINS-21052 reported that the copy
button does not work. I've confirmed that it works when using an HTTPS
connection.
* Test redirect from installNecessaryPlugins
Jenkins LTS versions prior to 2.375.1 redirected to an existing URL.
Jenkins 2.375.1 - 2.375.3 redirect to a non-existent URL.
Test that the old behavior is restored.
* [JENKINS-70599] restore installNecessaryPlugins redirect destination
The installNecessaryPlugins API end point previously redirected to the
"/updateCenter" URL. When the side bar was added to the plugin
manager, the redirect was changed to "/updates". Unfortunately, there
is no page at "/updates", while there is a page at "/updateCenter".
This restores the redirect for the installNecessaryPlugins API call.
If the redirect is not restored, calls to the API that follow the redirect
fail with a page not found (HTTP 404).
I did not find any callers to that API from inside Jenkins core.
Change introduced in 6db88c3f5b
* Use default HttpClient version
The HttpClient documentation notes that if the default is selected but
not supported, then the client will automatically downgrade to HTTP 1.1.
Browsers only support HTTP 2 over TLS, but that's not a requirement of
the HTTP 2 specification.
https://http2.github.io/faq/#does-http2-require-encryption
* Adjust test timeouts based on actual test results
Tests on ci.jenkins.io showed that installNecessaryPluginsTest completes
as follows:
* 9.4 seconds Windows JDK 17
* 0.8 seconds Linux JDK 11
* 1.0 seconds Linux JDK 17
* 1.1 seconds Linux JDK 19
With those timings, it seems reasonable to set the crumb request to
timeout in not more than 7 seconds and the plugin installation request
to timeout in not more than 20 seconds. That will waste a little less
time in execution if there is a problem and still leaves room for low
performance systems.
* Redirect to newer pluginManager URL
* Added Copy to clipboard
* Update main.jelly
* Remove trailing spaces
* Update main.jelly
* Update main.jelly
* One copy button per region
Creates a heading over the region to be copied and create a set of
instructions for Unix agents with a different set of instructions
for Windows. The `curl.exe` call must be different on Windows due to
PowerShell having a `curl` cmdlet that is not compatible with command line
`curl.exe`.
Passed my interactive testing with a session in a secure connection.
* Remove obsolete spaces
---------
Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>
Co-authored-by: Alexander Brandes <mc.cache@web.de>