I am currently developing on a RIA with wicket. Therefore 90 % of our request are Ajax-based.
In my development process I start the application with the development configuration and I like to display the DebugBar in our page. I implemented an AjaxRequestTargetListener that adds the DebugBar to the AjaxRequestTarget each time an ajax call is done. This AjaxRequestTargetListener is added and initialized in the Application as follows:
This configuration worked fine for every wicket version until 6.3.0. Then I got problems with the XMLAjaxResponse. The "header-contribution"-XML Element does not get rendered in the AjaxResponse anymore and the corresponding HeaderItems of the ajax-updated components do not get rendered into the page.
After some debugging I found out, that the problem is connected with the "WicketObjects.sizeof" method change in version 6.3.0:
The method is called in the PageSizeDebugBarPanel for the whole page. That is why the onDetach method is called on every component of the page. Also the onDetach method is called on the HtmlHeaderContainer where the HeaderResponse gets resetted to 'null'. So every HeaderItem added to the HeaderResponse so far gets lost and no "header-contribution" XML-Element is rendered to the AjaxResponse.
To understand this problem a little bit easier, I will add a quickstart example to this issue.