[ 
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

Reply via email to