Jochen Kemnade created TAP5-2155:
------------------------------------
Summary: 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
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