Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-82863

Email notification is corrupt for a user mentioned within a table of a page

      The fix for this bug will be backported to our current Long Term Support releases if it passes our risk assessment.

      We recognise the impact of this bug and plan to backport the fix to our Long Term Support releases. Once the exact fix version is known we will update this ticket. Not all code changes are suitable to be backported and this may still be rejected during our review process.

      Issue Summary

      Email notification is corrupt for a user mentioned within a table of a page

      Steps to Reproduce

      1. Create a page
      2. Enter content (paste into source editor) (note the user mention in second row):
        <table><tbody class=\"\"><tr class=\"\"><th><p><strong>Row1</strong></p></th><td><div class=\"content-wrapper\"><p>&nbsp;</p></div></td></tr><tr class=\"\"><th><p><strong>Row2</strong></p></th><td><div class=\"content-wrapper\"><p><ac:link><ri:user ri:userkey="fred-key" /></ac:link>&nbsp;</p></div></td></tr></tbody></table>
      3. Save page

      Expected Results

      Email notification sent with excerpt of page and mention

      Actual Results


      Full stack trace:

      com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '<' (code 60) expected space, or '>' or \"/>\"
       at [row,col {unknown-source}]: [1,383]",
          "stack": "java.lang.RuntimeException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '<' (code 60) expected space, or '>' or \"/>\"
       at [row,col {unknown-source}]: [1,383]
          at org.codehaus.stax2.ri.evt.Stax2FilteredEventReader.hasNext(Stax2FilteredEventReader.java:60)
          at com.atlassian.confluence.content.render.xhtml.XmlFragmentBodyEventReader.hasNext(XmlFragmentBodyEventReader.java:33)
          at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transform(DefaultFragmentTransformer.java:116)
          at com.atlassian.confluence.plugins.hipchat.emoticons.marshalling.transformer.EmoticonTransformerBase.transform(EmoticonTransformerBase.java:61)
          at com.atlassian.confluence.plugins.hipchat.emoticons.marshalling.transformer.EmoticonTransformerStorageToView.transform(EmoticonTransformerStorageToView.java:43)
          at com.atlassian.confluence.content.render.xhtml.TransformerChain.transform(TransformerChain.java:33)
          at com.atlassian.confluence.content.render.xhtml.PluggableTransformerChain.transform(PluggableTransformerChain.java:39)
          at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.renderWithoutMetrics(DefaultRenderer.java:189)
          at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.renderWithResult(DefaultRenderer.java:150)
          at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.render(DefaultRenderer.java:134)
          at com.atlassian.confluence.content.render.xhtml.DeviceTypeAwareRenderer.render(DeviceTypeAwareRenderer.java:55)
          at jdk.internal.reflect.GeneratedMethodAccessor3144.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:568)
          at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
          at jdk.proxy5/jdk.proxy5.$Proxy413.render(Unknown Source)
          at jdk.internal.reflect.GeneratedMethodAccessor3144.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:568)
          at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130)
          at jdk.proxy5/jdk.proxy5.$Proxy413.render(Unknown Source)
          at com.atlassian.confluence.plugins.mentions.NotificationServiceImpl.sendMentions(NotificationServiceImpl.java:95)
          at com.atlassian.confluence.plugins.mentions.ConfluenceMentionsEventListener.sendContentNotifications(ConfluenceMentionsEventListener.java:157)
          at com.atlassian.confluence.plugins.mentions.ConfluenceMentionsEventListener.sendNotificationsForUpdatedContent(ConfluenceMentionsEventListener.java:136)
          at com.atlassian.confluence.plugins.mentions.ConfluenceMentionsEventListener.pageUpdated(ConfluenceMentionsEventListener.java:86) 

      Workaround

      N/A

            [CONFSERVER-82863] Email notification is corrupt for a user mentioned within a table of a page

            Juwin Zam made changes -
            Affects Version/s New: 7.19.9 [ 104746 ]
            James Whitehead made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: Waiting for Release [ 12075 ] New: Closed [ 6 ]
            Kusal Kithul-Godage made changes -
            Fix Version/s New: 7.19.10 [ 104747 ]
            Fix Version/s New: 7.13.18 [ 104738 ]
            SET Analytics Bot made changes -
            Support reference count New: 1
            SET Analytics Bot made changes -
            UIS New: 5
            Rob made changes -
            Remote Link New: This issue links to "Page (Confluence)" [ 761438 ]
            Kusal Kithul-Godage made changes -
            Affects Version/s Original: 8.0.4 [ 104702 ]
            Affects Version/s Original: 8.2.1 [ 104647 ]
            Affects Version/s New: 7.13.16 [ 104736 ]
            Affects Version/s New: 7.19.8 [ 104745 ]
            Affects Version/s New: 8.2.2 [ 104997 ]
            Kusal Kithul-Godage made changes -
            Remote Link New: This issue links to "Confluence Bundled Plugins 713 › Mentions Plugin › issue-713-CONFSERVER-82863-email-notif (server-syd-bamboo)" [ 761278 ]
            James Ponting made changes -
            Description Original: h3. Issue Summary

            Email notification is corrupt for a user mentioned within a table of a page
            h3. Steps to Reproduce
             # Create a page
             # Enter content (paste into source editor) (note the user mention in second row):
            {noformat}
            <table><tbody class=\"\"><tr class=\"\"><th><p><strong>Row1</strong></p></th><td><div class=\"content-wrapper\"><p>&nbsp;</p></div></td></tr><tr class=\"\"><th><p><strong>Row2</strong></p></th><td><div class=\"content-wrapper\"><p><ac:link><ri:user ri:userkey="fred-key" /></ac:link>&nbsp;</p></div></td></tr></tbody></table>{noformat}
             # Save page

            h3. Expected Results

            Email notification sent with excerpt of page and mention

            h3. Actual Results

            !image-2023-04-12-20-23-56-853.png!
            Full stack trace:
            {noformat}
            com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '<' (code 60) expected space, or '>' or \"/>\"
             at [row,col {unknown-source}]: [1,383]",
                "stack": "java.lang.RuntimeException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '<' (code 60) expected space, or '>' or \"/>\"
             at [row,col {unknown-source}]: [1,383]
                at org.codehaus.stax2.ri.evt.Stax2FilteredEventReader.hasNext(Stax2FilteredEventReader.java:60)
                at com.atlassian.confluence.content.render.xhtml.XmlFragmentBodyEventReader.hasNext(XmlFragmentBodyEventReader.java:33)
                at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transform(DefaultFragmentTransformer.java:116)
                at com.atlassian.confluence.plugins.hipchat.emoticons.marshalling.transformer.EmoticonTransformerBase.transform(EmoticonTransformerBase.java:61)
                at com.atlassian.confluence.plugins.hipchat.emoticons.marshalling.transformer.EmoticonTransformerStorageToView.transform(EmoticonTransformerStorageToView.java:43)
                at com.atlassian.confluence.content.render.xhtml.TransformerChain.transform(TransformerChain.java:33)
                at com.atlassian.confluence.content.render.xhtml.PluggableTransformerChain.transform(PluggableTransformerChain.java:39)
                at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.renderWithoutMetrics(DefaultRenderer.java:189)
                at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.renderWithResult(DefaultRenderer.java:150)
                at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.render(DefaultRenderer.java:134)
                at com.atlassian.confluence.content.render.xhtml.DeviceTypeAwareRenderer.render(DeviceTypeAwareRenderer.java:55)
                at jdk.internal.reflect.GeneratedMethodAccessor3144.invoke(Unknown Source)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:568)
                at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
                at jdk.proxy5/jdk.proxy5.$Proxy413.render(Unknown Source)
                at jdk.internal.reflect.GeneratedMethodAccessor3144.invoke(Unknown Source)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:568)
                at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130)
                at jdk.proxy5/jdk.proxy5.$Proxy413.render(Unknown Source)
                at com.atlassian.confluence.plugins.mentions.NotificationServiceImpl.sendMentions(NotificationServiceImpl.java:95)
                at com.atlassian.confluence.plugins.mentions.ConfluenceMentionsEventListener.sendContentNotifications(ConfluenceMentionsEventListener.java:157)
                at com.atlassian.confluence.plugins.mentions.ConfluenceMentionsEventListener.sendNotificationsForUpdatedContent(ConfluenceMentionsEventListener.java:136)
                at com.atlassian.confluence.plugins.mentions.ConfluenceMentionsEventListener.pageUpdated(ConfluenceMentionsEventListener.java:86) {noformat}
            h3. Workaround

            N/A
            New: {panel:bgColor=#e7f4fa}
            *The fix for this bug will be backported to our current Long Term Support releases if it passes our risk assessment.*

            We recognise the impact of this bug and plan to backport the fix to our Long Term Support releases. Once the exact fix version is known we will update this ticket. Not all code changes are suitable to be backported and this may still be rejected during our review process.
            {panel}
            h3. Issue Summary

            Email notification is corrupt for a user mentioned within a table of a page
            h3. Steps to Reproduce
             # Create a page
             # Enter content (paste into source editor) (note the user mention in second row):
            {noformat}
            <table><tbody class=\"\"><tr class=\"\"><th><p><strong>Row1</strong></p></th><td><div class=\"content-wrapper\"><p>&nbsp;</p></div></td></tr><tr class=\"\"><th><p><strong>Row2</strong></p></th><td><div class=\"content-wrapper\"><p><ac:link><ri:user ri:userkey="fred-key" /></ac:link>&nbsp;</p></div></td></tr></tbody></table>{noformat}
             # Save page

            h3. Expected Results

            Email notification sent with excerpt of page and mention

            h3. Actual Results

            !image-2023-04-12-20-23-56-853.png!
            Full stack trace:
            {noformat}
            com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '<' (code 60) expected space, or '>' or \"/>\"
             at [row,col {unknown-source}]: [1,383]",
                "stack": "java.lang.RuntimeException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '<' (code 60) expected space, or '>' or \"/>\"
             at [row,col {unknown-source}]: [1,383]
                at org.codehaus.stax2.ri.evt.Stax2FilteredEventReader.hasNext(Stax2FilteredEventReader.java:60)
                at com.atlassian.confluence.content.render.xhtml.XmlFragmentBodyEventReader.hasNext(XmlFragmentBodyEventReader.java:33)
                at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transform(DefaultFragmentTransformer.java:116)
                at com.atlassian.confluence.plugins.hipchat.emoticons.marshalling.transformer.EmoticonTransformerBase.transform(EmoticonTransformerBase.java:61)
                at com.atlassian.confluence.plugins.hipchat.emoticons.marshalling.transformer.EmoticonTransformerStorageToView.transform(EmoticonTransformerStorageToView.java:43)
                at com.atlassian.confluence.content.render.xhtml.TransformerChain.transform(TransformerChain.java:33)
                at com.atlassian.confluence.content.render.xhtml.PluggableTransformerChain.transform(PluggableTransformerChain.java:39)
                at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.renderWithoutMetrics(DefaultRenderer.java:189)
                at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.renderWithResult(DefaultRenderer.java:150)
                at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.render(DefaultRenderer.java:134)
                at com.atlassian.confluence.content.render.xhtml.DeviceTypeAwareRenderer.render(DeviceTypeAwareRenderer.java:55)
                at jdk.internal.reflect.GeneratedMethodAccessor3144.invoke(Unknown Source)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:568)
                at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
                at jdk.proxy5/jdk.proxy5.$Proxy413.render(Unknown Source)
                at jdk.internal.reflect.GeneratedMethodAccessor3144.invoke(Unknown Source)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:568)
                at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:130)
                at jdk.proxy5/jdk.proxy5.$Proxy413.render(Unknown Source)
                at com.atlassian.confluence.plugins.mentions.NotificationServiceImpl.sendMentions(NotificationServiceImpl.java:95)
                at com.atlassian.confluence.plugins.mentions.ConfluenceMentionsEventListener.sendContentNotifications(ConfluenceMentionsEventListener.java:157)
                at com.atlassian.confluence.plugins.mentions.ConfluenceMentionsEventListener.sendNotificationsForUpdatedContent(ConfluenceMentionsEventListener.java:136)
                at com.atlassian.confluence.plugins.mentions.ConfluenceMentionsEventListener.pageUpdated(ConfluenceMentionsEventListener.java:86) {noformat}
            h3. Workaround

            N/A
            James Ponting made changes -
            Priority Original: Low [ 4 ] New: High [ 2 ]

              854eef6f5746 Kusal Kithul-Godage
              854eef6f5746 Kusal Kithul-Godage
              Affected customers:
              10 This affects my team
              Watchers:
              12 Start watching this issue

                Created:
                Updated:
                Resolved: