1. 23 8月, 2012 3 次提交
  2. 22 8月, 2012 6 次提交
  3. 04 8月, 2012 2 次提交
    • J
      [JENKINS-14495] Refined fix - needed to pull uniqueness check out of apply()... · f39fbdb3
      Jesse Glick 提交于
      [JENKINS-14495] Refined fix - needed to pull uniqueness check out of apply() fn in case we were being passed an Array of nodes.
      Fixes test failures introduced by  dbb100da, and adds a test for it now that I know it can be done.
      f39fbdb3
    • J
      [FIXED JENKINS-14495] Hetero lists not working correctly after adding elements. · dbb100da
      Jesse Glick 提交于
      Unlike [JENKINS-14514] this is a true fix rather than a workaround (now removed), and is more general.
      cjo9900 discovered that behaviors were being redundantly registered (as of 1.474 the monolithic JS is broken up);
      this caused some behaviors to be run repeatedly on the same elements, breaking reasonable expectations of some behaviors.
      The ideal fix would be to change Behavior.register to be idempotent: for example, key it by selector, then maintain a set of distinct behavior functions for each.
      Unfortunately some adjuncts directly call Behavior.list.unshift, bypassing register(...), which would be tricky to intercept (would need to make a mock of Array).
      The known one cases are in core, but it is possible plugin adjuncts do this too, in which case it would be incompatible to (say) change the Array<Map<String,Behavior>> to a Map<String,Array<Behavior>>.
      Instead, permitting redundant registrations as before, and just silently skipping all but the first at runtime when applying behaviors.
      Beware that since adjuncts are loaded from multiple places, different JS function objects are registered each time, so a naive set of behavior functions does not work;
      have to identify functions by their toString in order to ensure that each is run only once.
      (Currently once _per selector_, conceivably >1x per element; could if necessary be refined to make sure a given behavior is only run once on a given element during one call to applySubtree even if the element matches multiple selectors.)
      dbb100da
  4. 31 7月, 2012 2 次提交
  5. 28 7月, 2012 1 次提交
  6. 24 7月, 2012 2 次提交
  7. 30 6月, 2012 1 次提交
  8. 29 6月, 2012 1 次提交
    • K
      splitting JavaScript into smaller fragments for better maintainability. · 96442cd9
      Kohsuke Kawaguchi 提交于
      One of the problems with the current way Jenkins puts JavaScripts is that most everything is in a single file. It doesn't highlight the relationship between those fragments and their corresponding tag files.
      
      So I'm experimenting with moving out these fragments into individual JavaScript files co-located with the tag file. They then get loaded into the page via <st:adjunct>. Each script is served with unique URL such that the browser will not even have to try conditional GET when loading different pages, so this should prevent the performance problem caused by the fact that there are now lots of <script> tags in the page.
      
       If for some reason even this turns out to be a problem, we can always add additional build steps to concatenate them all.
      96442cd9
  9. 23 6月, 2012 4 次提交
  10. 22 6月, 2012 1 次提交
  11. 12 6月, 2012 1 次提交
  12. 06 6月, 2012 3 次提交
    • K
      supported more complex relative path · 17317bb4
      Kohsuke Kawaguchi 提交于
      17317bb4
    • K
      fixed a bug in the neighbor field discovery. · d72a9a2b
      Kohsuke Kawaguchi 提交于
      Previously, the code was "find the nearby element of the expected @name,
      then make sure it has gotten the right parent."
      
      So if the structure is like:
      
        {/* outer object */
            name: "parent-name",  /* A */
      
            child1: {/* inner object */
              name: "child-name" /* B */
            },
      
            child2: {/* inner object */
              name: "child-name" /* C */
            }
        }
      
      ... and if we are looking for "../name", it finds B, and it gets
      rejected, so we won't be able to find A, which is what we are supposed
      to find.
      
      With this change, we keep trying until we find the right one,
      so the above case will correctly return A.
      d72a9a2b
    • V
      In ListView, wrap the list of jobs inside a scrollable div. · ec5812c8
      Vincent Latombe 提交于
      When managing instances with lots of jobs, the size of the view
      configuration screen becomes huge because there is one line per job on
      the instance.
      ec5812c8
  13. 31 5月, 2012 3 次提交
  14. 24 5月, 2012 1 次提交
  15. 17 5月, 2012 1 次提交
  16. 04 5月, 2012 1 次提交
    • K
      [FIXED JENKINS-12585] restrict where sessions are created. · 7a4858d6
      Kohsuke Kawaguchi 提交于
      If a resource with 'Set-Cookie' header is cached (either by intermediary
      like HTTP proxy and reverse proxy, or by the browser), it'll cause
      identity swap / session mix-up as discussed in this ticket.
      
      I suspect this was caused by HttpSessionContextIntegrationFilter2, which
      is the only code path that attempts to create a session when a request
      to a static resource is made.
      
      So I'm disabling the creation of session in
      HttpSessionContextIntegrationFilter2. This in turn requires that we
      have sessions already created when the authentication was successful and
      people need to login (or else the login will have no effect.)
      
      We already do so in layout.jelly, so any request that renders a Jenkins
      page would have a session, but I've also added it in
      AuthenticationProcessingFilter2, which ensures that a successful login
      does have a session.
      7a4858d6
  17. 25 4月, 2012 1 次提交
  18. 19 4月, 2012 6 次提交