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

Strange line breaks on Firefox 91.8.0esr when Build History uses wbr within display: inline-flex (regression in 2.321)

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • core
    • Jenkins 2.332.1
      Mozilla Firefox 91.8.0esr
    • 2.349

      The build history page has this hyperlink in a table cell (redacted by changing letters and digits to x and 1):

      <a class="jenkins-table__link model-link inside" href="/jenkins/job/XXX/job/xxxxxxxxxxxx-xxxxxxxx-xxxxxxxxxx/job/xxxxxxx%252FXXXXX-111_xxxxxxxxxxxxxxxxx/">Xx Xxxxxx » Xxxxxxxxxxxx xxxxxxxx xxxxxxxxxx » xxxxxxx<wbr>/XXXXX<wbr>-111<wbr>_xxxxxxxxxxxxxxxxx</a>
      

      and this CSS rule applies to it:

      .jenkins-table__link, .jenkins-table .sortheader {
          display: inline-flex;
      }
      

      Microsoft Edge 100.0.1185.29 renders it nicely:

      Mozilla Firefox 91.8.0esr however breaks the "Xx Xxxxxx » Xxxxxxxxxxxx xxxxxxxx xxxxxxxxxx » xxxxxxx" part (before the first <wbr> tag) to two lines, and then renders the rest "/XXXXX-111_xxxxxxxxxxxxxxxxx" at the right side of that, even centering it vertically:

      I don't know whether that is a Firefox bug or what, but perhaps the compatibility can be improved somehow.

      If I disable display: inline-flex; in the CSS rule, then the line breaks look a lot nicer in Firefox 91.8.0esr:

      Alternatively, if I keep the original CSS rule but replace each <wbr> with &#x200B;, then Firefox 91.8.0esr renders like this:

        1. after.png
          after.png
          30 kB
        2. before.png
          before.png
          35 kB
        3. edge-100.0.1185.29.png
          edge-100.0.1185.29.png
          18 kB
        4. firefox-91.8.0esr.png
          firefox-91.8.0esr.png
          16 kB
        5. firefox-91.8.0esr-without-inline-flex.png
          firefox-91.8.0esr-without-inline-flex.png
          14 kB
        6. firefox-91.8.0esr-ZWSP.png
          firefox-91.8.0esr-ZWSP.png
          14 kB

          [JENKINS-68205] Strange line breaks on Firefox 91.8.0esr when Build History uses wbr within display: inline-flex (regression in 2.321)

          I don't remember seeing this before, but I might just have not noticed it, so I can't tell for sure. The previous big upgrade was from Jenkins 2.319.3, I think. There has been a Firefox ESR upgrade as well.

          I suppose I should test with the latest non-ESR version of Firefox – if that works differently, then a Firefox bug report should already exist.

          Kalle Niemitalo added a comment - I don't remember seeing this before, but I might just have not noticed it, so I can't tell for sure. The previous big upgrade was from Jenkins 2.319.3, I think. There has been a Firefox ESR upgrade as well. I suppose I should test with the latest non-ESR version of Firefox – if that works differently, then a Firefox bug report should already exist.

          Basil Crow added a comment -

          I don't remember seeing this before, but I might just have not noticed it, so I can't tell for sure.

          OK, I am applying the regression label out of an abundance of caution, but if it turns out this is a long-standing issue it can be removed.

          Basil Crow added a comment - I don't remember seeing this before, but I might just have not noticed it, so I can't tell for sure. OK, I am applying the regression label out of an abundance of caution, but if it turns out this is a long-standing issue it can be removed.

          Firefox Developer Edition 100.0b3 breaks lines the same way as Firefox 91.8.0esr.

          Kalle Niemitalo added a comment - Firefox Developer Edition 100.0b3 breaks lines the same way as Firefox 91.8.0esr.

          display: inline-flex was added in jenkinsci/jenkins#5851, which was merged in jenkins-2.321.

          Kalle Niemitalo added a comment - display: inline-flex was added in jenkinsci/jenkins#5851 , which was merged in jenkins-2.321.

          Basil Crow added a comment -

          kon Thank you very much for identifying the culprit; that is very helpful to us. Are you able to confirm that with that commit reverted, the problem no longer occurs?

          Basil Crow added a comment - kon Thank you very much for identifying the culprit; that is very helpful to us. Are you able to confirm that with that commit reverted, the problem no longer occurs?

          The <wbr> seems to be inserted by hudson.Functions.breakableString, which was last modified on 2014-04-30. It is called from jenkins.widgets.BuildListTable.calculate, and this call was last modified on 2013-12-06. The resulting parentFullDisplayName is used in buildListTable.jelly, and the jenkins-table__link CSS class was added there in jenkinsci/jenkins#5851.

          Kalle Niemitalo added a comment - The <wbr> seems to be inserted by hudson.Functions.breakableString, which was last modified on 2014-04-30. It is called from jenkins.widgets.BuildListTable.calculate, and this call was last modified on 2013-12-06. The resulting parentFullDisplayName is used in buildListTable.jelly, and the jenkins-table__link CSS class was added there in jenkinsci/jenkins#5851 .

          I am not currently able to test custom versions of the Jenkins core.

          Kalle Niemitalo added a comment - I am not currently able to test custom versions of the Jenkins core.

          Basil Crow added a comment -

          Thanks kon. If I'm not asking too much, could I trouble you to confirm that the issue is present in 2.321 and absent in 2.320? If this is too much trouble, I will try to reproduce myself later next week.

          Basil Crow added a comment - Thanks kon . If I'm not asking too much, could I trouble you to confirm that the issue is present in 2.321 and absent in 2.320? If this is too much trouble, I will try to reproduce myself later next week.

          Basil Crow added a comment -

          I can reproduce the problem by creating a job with the name you have given in the folder structure you have given, then creating a list view containing only that job and then visiting the list view. I have attached before and after screenshots. I can confirm the bug was introduced in JENKINS-68229.

          Basil Crow added a comment - I can reproduce the problem by creating a job with the name you have given in the folder structure you have given, then creating a list view containing only that job and then visiting the list view. I have attached before and after screenshots. I can confirm the bug was introduced in JENKINS-68229 .

          Basil Crow added a comment -

          BTW I am running Firefox 99.0 on Ubuntu 20.04.4 LTS x86_64.

          Basil Crow added a comment - BTW I am running Firefox 99.0 on Ubuntu 20.04.4 LTS x86_64.

            felix_416 Feng-Yi Xue
            kon Kalle Niemitalo
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: