Uploaded image for project: 'Confluence Server and Data Center'
  1. Confluence Server and Data Center
  2. CONFSERVER-28105

Confluence 5 beta5 page update notifications generating invalid HTML

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Medium
    • Resolution: Won't Fix
    • Affects Version/s: 5.0-beta3, 5.0
    • Fix Version/s: None
    • Component/s: None
    • Environment:

      atlas-debug

      Description

      I'm working on getting descendant notifications' integration tests running with confluence 5 and have discovered that the HTML it's generating for update emails does not appear to be valid HTML .. other emails seem to be ok.

      ------=_Part_72_1148224277.1360840565891Content-Type: text/html; charset=UTF-8Content-Transfer-Encoding: quoted-printableContent-Disposition: inline
      <html>
      <head>
          <meta name=3D
          "viewport" content=3D"width=3Ddevice-width" />
          <base href=3D
          "http://oomwat.home:1990/confluence" />
          <style type=3D
          "text/css"> body, #email-content, #email-content-inner { font-family: Arial,FreeSan=s,Helvetica,sans-serif; } body,
          p, blockquote, pre, code, td, th, li, dt, dd { font-size: 13px; } small { font-size: 11px; }
          body { width:100% !important; -webkit-font-smoothing: antialiased; }
          body, #email-wrapper { background-color: #f0f0f0; } #email-wrapper-inner { padding: 20px; text-align: center; }
          #email-content-inner { background-color: #fff; border: 1px solid #bbb; =color: $menuTxtColour; padding:20px;
          text-align:left; } #email-wrapper-inner > table { width: 100%; } #email-wrapper-inner.thin > table { margin: 0 auto;
          width: 50%; } #email-footer { padding: 0 16px 32px 16px; margin: 0; }
          .email-indent { margin: 8px 0 16px 0; } .email-comment { margin: 0 0 0 56px; } .email-comment.removed {
          background-color: #ffe7e7; border: 1px solid #=df9898; padding: 0 8px;}
          #email-title-avatar { text-align: left; vertical-align: top; width: 48p=x; padding-right: 8px; } #email-title-flavor
          { margin: 0; padding: 0 0 4px 0; } #email-title-heading { font-size: 16px; line-height: 20px; min-height: =20px;
          margin: 0; padding: 0; } #email-title .icon { border: 0; padding: 0 2px 0 0; text-align: left; }
          #email-actions { border-top: 1px solid #bbb; color: #505050; margin: 8p=x 0 0 0; padding: 0; } #email-actions td {
          padding-top: 8px; } #email-actions .left { max-width: 45%; text-align: left; } #email-actions .right { text-align:
          right; } .email-reply-divider { border-top: 1px solid #bbb; color: #505050; marg=in: 32px 0 8px 0; padding: 8px 0; }
          .email-section-title { border-bottom: 1px solid #bbb; margin: 8px 0; pa=dding: 8px 0 0 0; }
          .email-metadata { color: #505050; }
          a { color: #326ca6; text-decoration: none; } a:hover { color: #336ca6; text-decoration: underline; } a:active
          {color: #326ca6; }
          a.email-footer-link { color: #505050; font-size: 11px; }
          .email-item-list { list-style: none; margin: 4px 0; padding-left: 0; } .email-item-list li { list-style: none;
          margin: 0; padding: 4px 0; } .email-list-divider { color: #505050; padding: 0 0.35em; }
          .avatar { -ms-interpolation-mode: bicubic; border-radius: 3px;} .avatar-link { margin: 2px; }
          .tableview th { border-bottom: 1px solid #69C; font-weight: bold; text-=align: left; } .tableview td {
          border-bottom: 1px solid #bbbbbb; text-align: left; pad=ding: 4px 16px 4px 0; }
          .aui-message { margin: 1em 0; padding: 8px; } .aui-message.info { background-color: #e0f0ff; border: 1px solid
          #9eb6d=4; } .aui-message.success { background-color: #ddfade; border: 1px solid #93=c49f; } .aui-message.error,
          .aui-message.removed { background-color: #ffe7e7; border: 1px solid #df=9898; color: #000; }
          .call-to-action-table { margin: 10px 1px 1px 1px;} .call-to-cancel-container, .call-to-action-container { padding:
          5px 20p=x; } .call-to-cancel-container { border: 1px solid #aaa; background-color: #=eee; border-radius: 3px; }
          .call-to-cancel-container a.call-to-cancel-button { background-color: #=eee; font-size: 14px; line-height: 1;
          padding: 0; margin: 0; color: #666; f=ont-family: sans-serif;} .call-to-action-container { border: 1px solid
          #486582; background-colo=r: #3068A2; border-radius: 3px; padding: 4px 10px; } .call-to-action-container
          a.call-to-action-button { background-color: #=3068A2; font-size: 14px; line-height: 1; padding: 0; margin: 0; color:
          #fff=; font-weight: bold; font-family: sans-serif; }
          /** The span around the inline task checkbox image */ .diff-inline-task-overlay { display: inline-block; text-align:
          center; height: 1.5em; padding: 5px 0px 1px 5px; margin-right: 5px; /** Unfortunately, the negative margin-left is
          stripped out in gmai=l */ margin-left: -5px; }
          @media handheld, only screen and (max-device-width: 480px) { div, a, p, td, th, li, dt, dd {
          -webkit-text-size-adjust: auto; } small, small a { -webkit-text-size-adjust: 90%; }
          td[id=3Demail-wrapper-inner] { padding: 2px !important; } td[id=3Demail-content-inner] { padding: 8px !important; }
          td[id=3D"email-wrapper-inner"][class=3D"thin"] > table { text-align=: left !important; width: 100% !important; }
          td[id=3Demail-footer] { padding: 8px 12px !important; } div[class=3Demail-indent] { margin: 8px 0px !important; }
          div[class=3Demail-comment] { margin: 0 !important; }
          p[id=3Demail-title-flavor] a { display: block; } /* puts the userna=me and the action on separate lines */
          p[id=3Demail-permalink] { padding: 4px 0 0 0 !important; }
          table[id=3Demail-actions] td { padding-top: 0 !important; } table[id=3Demail-actions] td.right { text-align: right
          !important; =} table[id=3Demail-actions] .email-list-item { display: block; margin=: 1em 0 !important; word-wrap:
          normal !important; } span[class=3Demail-list-divider] { display: none; } }
      
      
          </style>    </head>
      <body style=3D
      "font-family: Arial, FreeSans, Helvetica, sans-serif; fon=t-size: 13px; width: 100%; -webkit-font-smoothing:
      antialiased; background-=color: #f0f0f0">
      <table id=3D
      "email-wrapper" width=3D"100%" cellspacing=3D"0" cellpa=dding=3D"0" border=3D"0" style=3D"background-color: #f0f0f0">
      <tbody>
      <tr valign=3D
      "middle">
      <td id=3D
      "email-wrapper-inner" style=3D"font-size: 13px=; padding: 20px; text-align: center">
      <table id=3D
      "email-content" cellspacing=3D"0" cellp=adding=3D"0" border=3D"0" style=3D"font-family: Arial, FreeSans, Helvetica,=
      sans-serif; width: 100%">
      <tbody>
      <tr valign=3D
      "top">
      <td id=3D
      "email-content-inner" align=3D="left" style=3D"font-family: Arial, FreeSans, Helvetica, sans-serif; font-s=ize: 13px;
      background-color: #fff; border: 1px solid #bbb; padding: 20px; t=ext-align: left">
      <table id=3D
      "email-title" cellpaddi=ng=3D"0" cellspacing=3D"0" border=3D"0" width=3D"100%">
      <tbody>
      <tr>
          <td id=3D
          "email-title-a=vatar" rowspan=3D"2" style=3D"font-size: 13px; text-align: left; vertical-a=lign: top; width: 48px;
          padding-right: 8px"> <img class=3D"avatar" src=3D"c=id:avatar_909dc5ca9d66d2392b9d7bb6d625385f" border=3D"0"
          height=3D"48" widt=h=3D"48" style=3D"-ms-interpolation-mode: bicubic; border-radius: 3px" /> <=/td>
          <td valign=3D
          "top" styl=e=3D"font-size: 13px">
          <div id=3D
          "email-ti=tle-flavor" class=3D"email-metadata" style=3D"margin: 0; padding: 0 0 4px 0=; color: #505050"> <a href=3D"
          =http://oomwat.home:1990/confluence/display/~admin " style=3D"color:#326ca6;=text-decoration:none;; color: #326ca6;
          text-decoration: none">admin</a> edi=ted the
          page:                                                        </div> </td>
      </tr>
      <tr>
          <td valign=3D
          "top" styl=e=3D"font-size: 13px"> <h2 id=3D"email-title-heading" style=3D"font-size: 1=6px; line-height: 20px;
          min-height: 20px; margin: 0; padding: 0"> <a href==3D"http://oomwat.home:1990/confluence/display/CDESC/Child+Page"
          style=3D"c=olor: #326ca6; text-decoration: none"> <img class=3D"icon" src=3D"cid:page-=icon" alt=3D""
          style=3D"border: 0; padding: 0 2px 0 0; text-align: left" />= <strong style=3D"font-size:16px;line-height:20px;vertical-align:top;">Chil=d
          Page</strong> </a> </h2> </td>                                                </tr>
      </tbody>
      </table>
      <div class=3D
      "email-indent" style==3D"margin: 8px 0 16px 0">
      <div class=3D
      "email-diff">
      <div id=3D
      "page-diffs" clas=s=3D"wiki-content"> <p class=3D"diff-block-=target" style=3D"font-size: 13px"> <span class=3D"diff-html-removed"
      id=3D"=removed-diff-0" style=3D"font-size: 100%; background-color: #ffe7e7; text-d=ecoration:
      line-through;">some </span><span class=3D"diff-html-added" id=3D="added-diff-0" style=3D"font-size: 100%;
      background-color: #ddfade;">Update=d </span>
      content</p>                                                </div>                                            </div>                                        </div>
      <table id=3D
      "email-actions" class==3D"email-metadata" cellspacing=3D"0" cellpadding=3D"0" border=3D"0" width==3D"100%"
      style=3D"border-top: 1px solid #bbb; color: #505050; margin: 8px =0 0 0; padding: 0; color: #505050">
      <tbody>
      <tr>
          <td class=3D
          "left" vali=gn=3D"top" style=3D"font-size: 13px; padding-top: 8px; max-width: 45%; text=-align: left"> <span
              class=3D"email-list-item"><a href=3D"http://oomwat.hom=e:1990/confluence/display/CDESC/Child+Page"
          style=3D"color: #326ca6; text-d=ecoration: none">View Online</a> </span> <span class=3D"email-list-divider"=
          style=3D"color: #505050; padding: 0 0.350em">&middot;</span> <span class==3D"email-list-item"><a href=3D"http://oomwat.home:1990/confluence/plugins/=likes/like.action?contentId=3D950404"
          style=3D"color: #326ca6; text-decorat=ion: none">Like</a> </span> <span class=3D"email-list-divider"
          style=3D"col=or: #505050; padding: 0 0.350em">&middot;</span> <span class=3D"email-list-=item"><a href=3D"http://oomwat.home:1990/confluence/pages/diffpagesbyversio=n.action?pageId=3D950404&amp;revisedVersion=3D2&amp;originalVersion=3D1"
          st=yle=3D"color: #326ca6; text-decoration: none">View Changes</a> </span>
          <spa
          =n class=3D"email-list-divider" style=3D"color: #505050; padding: 0 0.350em"=>&middot;</span> <span class=3D"email-list-item"><a
              href=3D"http://oomwat.h=ome:1990/confluence/display/CDESC/Child+Page?showComments=3Dtrue&amp;showCo=mmentArea=3Dtrue#addcomment"
          style=3D"color: #326ca6; text-decoration: none=">Add Comment</a> </span> </td>
          <td class=3D
          "right" wid=th=3D"50%" valign=3D"top" style=3D"font-size: 13px; padding-top: 8px; text-=align: right"> <span
              class=3D"email-list-item"><a href=3D"http://oomwat.hom=e:1990/confluence/users/removepagenotification.action?pageId=3D950404"
          styl=e=3D"color: #326ca6; text-decoration: none">Stop watching page</a> </span> =<span class=3D"email-list-divider"
          style=3D"color: #505050; padding: 0 0.35=0em">&middot;</span> <span class=3D"email-list-item"><a href=3D"http://oomw=at.home:1990/confluence/users/editmyemailsettings.action"
          style=3D"color: #=326ca6; text-decoration: none">Manage Notifications</a> </span> </td>
      </tr>
      </tbody>
      </table> </td>                                </tr>                            </tbody>                        </table> </td>                </tr>
      <tr>
          <td id=3D
          "email-footer" align=3D"center" style=3D"font-=size: 13px; padding: 0 16px 32px 16px; margin: 0">
          <small style=3D
          "font-siz=e: 11px"> This message was sent by <a class=3D"email-footer-link"
          style=3D"=color:#505050;font-size:11px;text-decoration:none;; color: #326ca6; text-de=coration: none; color:
          #505050; font-size: 11px" href=3D"http://www.atlassi=an.com/software/confluence">Atlassian Confluence</a> 5.0-beta5,
          <a class=3D="email-footer-link" style=3D"color:#505050;font-size:11px;text-decoration:n=one;; color: #326ca6;
          text-decoration: none; color: #505050; font-size: 11p=x"
          href=3D"http://www.atlassian.com/software/confluence/overview/team-colla=boration-software?utm_source=3Demail-footer">Team
          Collaboration Software</a=> </small> </td>                </tr>
      </tbody>        </table>    </body>
      </html>------=_Part_72_1148224277.1360840565891Content-Type: image/png; name=avatar_909dc5ca9d66d2392b9d7bb6d625385fContent-Transfer-Encoding: base64Content-ID:
      <avatar_909dc5ca9d66d2392b9d7bb6d625385f>Content-Disposition: attachment;
          filename=avatar_909dc5ca9d66d2392b9d7bb6d625385f
          iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAABhlBMVEU2Y5b////f5+7+/v+PqcX2+Pubs8zG0+GOqcQ2ZJb9/f7e5u58m7u7y9xAa5zX4era5Ow9aZtIcqGKpsOuwtbc5e1BbJ1HcaD9/v4/apzj6vFTeqZFcJ/5+/w6Z5n6+/1ylLc7aJqSrMZpjLGasstlirBjiK91lrhtkLRJc6FDb5/l7PKTrcdtj7P7/P1cgqvP2+avwtZYgKn8/f31+Prv8/dmirCXr8lOdqSXsMlDbp62yNru8vdkiK9GcKCEob+9zd3z9vni6fDO2eX3+ft9nLx2l7m6y9xKc6KRq8ZNdqONqMRojLFYf6mctM3t8valu9FMdaOrv9RWfaiPqsU7Z5k4ZZi8zNzs8faVrsjn7fM8aJo+apvd5e03ZJe3yNo3ZZhfha2Dob+CoL7U3ui4ydphh65+nb35+vzB0N+ww9amvNLm7PPg6O9AbJ2nvNJEb5/O2ubT3uhCbZ2Mp8PAz95ni7FSeabH1OKkutGjutDV3+nW3+mbtMzG1OLQ2+bs8PXw8/dxQKWQAAACA0lEQVR42u3YhXJUMRQG4P9fv+vdum/dbduiheLu7hR3d4c3Zzoww93uTUI5KZmB+71AZpIcRSgU+t+cvnZjPJEa2oC1sW7vLv5weeNTWFfZSZ94ogdWeecnWS1SsXr521gjXoY1XUkGmNwDS7zNDNS9BXb0UmGhBBsq3VRJepDzblItC7nd1LhwEVJXdlCnHlJD1BpbglCSesOQKaWpdxUy12mw/QxEztJEGM7naDIOiREa5SAxQaMMJBZpFIdEP802QeAYzY5D4ATNTro+QH5Fjh9Z/k1dB5o8VbhOdvJ07bjgyEum66Ivb1scN17y1tF98ytv3+VOGQYQ9yOUfAh0P8bKB3G5w9WrhP4eWDfwaxmyfnRN1zkHEPrb6vIIlL8EsaZD+3NtLZkOBOhobGnL9fY14U+Vsg2RKLmssRk1thbJZdHITHYEqzaVKET9cbuv5vgMfQpHprAKrakiV3jYjirtY1yhmHr8u1X44DxrLQzC5/ZR1pqPLQFm3i0G6rzjq9N3GeheF8xiVLlf9/PbNlDlAYxKc1R61AcAryNUig7A5Al1pmOxZ9R5DoMXc5SZgN5LCr2CXoFCs83QeUOxekOPJfYWOtMU62yF2miacmWolWnBO6i9pwUfoPaRFsyqK2k+TRsGoTJMLXkkfKIVM1D5TCu+QOUrrfiGUCj0j/kOB1hCJ5qJhL4AAAAASUVORK5CYII=------=_Part_72_1148224277.1360840565891Content-Type:
          image/png; name=page-iconContent-Transfer-Encoding: base64Content-ID:
          <page-icon>Content-Disposition: attachment; filename=page-icon
              iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4MTUwOTVGNjBFN0UxMUUxODI5MDg1RjQ1MDkzN0Q0MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4MTUwOTVGNzBFN0UxMUUxODI5MDg1RjQ1MDkzN0Q0MiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkVBNzI4QkVCMEU3QTExRTE4MjkwODVGNDUwOTM3RDQyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkVBNzI4QkVDMEU3QTExRTE4MjkwODVGNDUwOTM3RDQyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+sPdjMQAAAfNJREFUeNqMUs9LVFEU/u6P+REzKIi7/gBX0qrWFQTpIjRoEBRCok2zjP4AW7doMbSrNi20Ql0oJEYouBncuNJlILiRwCmK1Hn3ns65975xnil44HDeve+c737nO0cREcSevd4iTx7kHeROgeA4eu+hJLLfvnF98vH46DL6TZLFn776RpfZl/Z3Our8orl3G/R+ZaeZ14jrPqQQjk8y/Dk+Ref3CX50/uLg8Gfweu0aXkzdwv7hUevl281mXtYH4OOFUbBao2TYrUa1UoZRfGdt8OeNmxgaqLTefG43CwCUACRZM4C1CuWSQbVcCqDhnzHBZ8dHsb130JI7e0YgtqA0A/C3Vhqe60gTszGY/7qLsjWwzGygXoVOLZ8BwMUWmAHTYPUFJPzAwzsjyDKPU/bMZRgerOHDarsIoBLip6V1PijE8YrSjKKiyM5TAJ5p3I8PFRgkDR5N3sNF5pzPBxUfxLkWVIofl9cDbXlACvKFkgTiLmWxphtjQewCQD7GxsT/DEIzPjKgHg1/HiD+mF9c6/UX0qRIknkkYdX5PMMMdEqxxXeAB2N3ee7ogRBF4URA5xy6LuYZfUkLXRbLJA2S/KFQxtgVgK7k1XgD6WIGg/UKrmK5FH1T8HgytxBxFKWpSOTNlDNTko3mRQzt5Sr9E2AAefgPadRh5OYAAAAASUVORK5CYII=------=_Part_72_1148224277.1360840565891--
      

      It's not just the 3D prefixing every quote, but the equals signs in the middle of attribute names!!!

      The following is a pretty classy example:

      <table id=3D
      "email-title" cellpaddi=ng=3D"0" cellspacing=3D"0" border=3D"0" width=3D"100%">
      

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            9fcfb21963e3 Alain Moran
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: