[
https://issues.apache.org/jira/browse/TAP5-2155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jochen Kemnade updated TAP5-2155:
---------------------------------
Attachment: 0001-prevent-modification-of-elements-once-their-markup-h.patch
> Prevent Element modification after its markup has been prepared to be sent to
> the client
> ----------------------------------------------------------------------------------------
>
> Key: TAP5-2155
> URL: https://issues.apache.org/jira/browse/TAP5-2155
> Project: Tapestry 5
> Issue Type: Improvement
> Components: tapestry-core
> Affects Versions: 5.4
> Reporter: Jochen Kemnade
> Labels: ajax, dom, patch, timing
> Attachments:
> 0001-prevent-modification-of-elements-once-their-markup-h.patch
>
>
> If a mutator method (e.g. `attribute(String, String)`) is called on an
> Element whose content has already been sent to the client as the result of an
> AJAX request, the invocation's effect (the attribute's value being updated)
> will never make it to the client.
> This can happen if you make modifications to an element in a
> heartbeat-deferred render method of a component that's contained in a zone
> and that zone is updated via an AJAX request. Once heartbeat.end() is called
> from the PartialMarkupRendererFilter in TapestryModule:1863, the markup has
> already been extracted by RenderCommandComponentEventResultProcessor:84.
> The patch adds Element.preventModification() that uses a OneShotLock to guard
> the mutator methods.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira