Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-26578

Adjuncts do not include CSS correctly for removable dom fragments

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • core

      Details described in here.

      CSS needs to be moved into the head tag to avoid the problem.

          [JENKINS-26578] Adjuncts do not include CSS correctly for removable dom fragments

          Daniel Beck added a comment -

          Is this related to JENKINS-14632?

          Daniel Beck added a comment - Is this related to JENKINS-14632 ?

          It may be somewhat related. I discovered it in a closed source plugin, replicated it in credentials (https://github.com/jenkinsci/credentials-plugin/pull/23) as an easier demonstration, lobbed it at KK and ran away shouting "look at the horrible hack you have forced on my beautiful credentials plugin"

          Stephen Connolly added a comment - It may be somewhat related. I discovered it in a closed source plugin, replicated it in credentials ( https://github.com/jenkinsci/credentials-plugin/pull/23 ) as an easier demonstration, lobbed it at KK and ran away shouting "look at the horrible hack you have forced on my beautiful credentials plugin"

          Code changed in jenkins
          User: Stephen Connolly
          Path:
          src/main/resources/lib/credentials/select.jelly
          http://jenkins-ci.org/commit/credentials-plugin/40cc43248d61726edacecef95d0c20160624c4cc
          Log:
          Noting https://issues.jenkins-ci.org/browse/JENKINS-26578

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/resources/lib/credentials/select.jelly http://jenkins-ci.org/commit/credentials-plugin/40cc43248d61726edacecef95d0c20160624c4cc Log: Noting https://issues.jenkins-ci.org/browse/JENKINS-26578

          Code changed in jenkins
          User: Stephen Connolly
          Path:
          src/main/java/com/cloudbees/plugins/credentials/CredentialsSelectHelper.java
          src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/DomainWrapper/newCredentials.jelly
          src/main/resources/lib/credentials/select.jelly
          src/main/resources/lib/credentials/select/select.js
          http://jenkins-ci.org/commit/credentials-plugin/cbb9fda8fb897ca40ec1520342c5ca86bb5bf97f
          Log:
          JENKINS-26578 More refined workaround

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/com/cloudbees/plugins/credentials/CredentialsSelectHelper.java src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/DomainWrapper/newCredentials.jelly src/main/resources/lib/credentials/select.jelly src/main/resources/lib/credentials/select/select.js http://jenkins-ci.org/commit/credentials-plugin/cbb9fda8fb897ca40ec1520342c5ca86bb5bf97f Log: JENKINS-26578 More refined workaround

          stephenconnolly: I think there is an issue with the JS hack introduced in select.js in your last commit, for applying new behaviours to existing DOM elements. You should call Behaviour.applySubtree with includeSelf=true, otherwise it will not apply one of the specified behaviours (the one for "DIV.credentials-select-control" itself).

          I opened a PR which does that (PR-67), referring to JENKINS-37707 (which is an issue with credentials-binding-plugin when trying to bind credentials to a project and the credentials selection code is loaded for the first time in the job configuration page).
          Tell me if you need me to edit the PR to refer to this issue instead, it's just that I've only found it afterward.

          To reproduce the issue and test the fix, here is what I did:

          1. get master sources for credentials-binding-plugin
          2. bump jenkins.version to 1.609 and credentials version to 2.1.4
          3. hpi:run, create a login/password credentials, create a freestyle job, try to bind the secret to a combined variable (for instance) => it should give you the error reported in JENKINS-37707
          4. build credentials 2.1.5-SNAPSHOT with my fix, bump dependency in credentials-binding-plugin, and repeat previous step => it should work fine

          Thomas de Grenier de Latour added a comment - stephenconnolly : I think there is an issue with the JS hack introduced in select.js in your last commit, for applying new behaviours to existing DOM elements. You should call Behaviour.applySubtree with includeSelf=true, otherwise it will not apply one of the specified behaviours (the one for "DIV.credentials-select-control" itself). I opened a PR which does that ( PR-67 ), referring to JENKINS-37707 (which is an issue with credentials-binding-plugin when trying to bind credentials to a project and the credentials selection code is loaded for the first time in the job configuration page). Tell me if you need me to edit the PR to refer to this issue instead, it's just that I've only found it afterward. To reproduce the issue and test the fix, here is what I did: get master sources for credentials-binding-plugin bump jenkins.version to 1.609 and credentials version to 2.1.4 hpi:run, create a login/password credentials, create a freestyle job, try to bind the secret to a combined variable (for instance) => it should give you the error reported in JENKINS-37707 build credentials 2.1.5-SNAPSHOT with my fix, bump dependency in credentials-binding-plugin, and repeat previous step => it should work fine

            Unassigned Unassigned
            kohsuke Kohsuke Kawaguchi
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: