whats happening is this user hits the page /foo goes to /foo?1 does a bunch of ajax stuff, staying on /foo?1 clicks refresh, so hits /foo?1 listview refreshes, changing hierarchy, creating page version 2 the ajax behavior's url is rendered as /foo?2:... the page is rendered, but not redirected to /foo?2
so what we have now is a browser pointing to /foo?1 and ajax (and non-ajax) urls pointing to /foo?2 further clicks work only because the component they repaint has the same markup id on page 1 and page 2. however, all model changes are stored in page 2. this is why when the browser is refreshed the counter reverts to a previous value - because it is page 1 that is rerendered. there are two ways to fix this: 1) redirect to correct version. so when the browser is refreshed for the first time on /foo?1 the browser would redirect to /foo?2 and it would keep doing that for every refresh. not ideal. 2) freeze the page version when we are accessing a url that we know will not mutate the state of the page - meaning urls that just render the page and do not invoke any listeners. the only state we will lose is noise from component replacement in listviews and user's onbeforerender() overrides which i think is acceptable since they do not represent true state mutation that comes from intentional callbacks. -igor On Wed, Apr 11, 2012 at 6:40 PM, Dan Retzlaff <dretzl...@gmail.com> wrote: >> I don't know exactly what is making the page dirty in this case. > > The AJAX debug window has a ListView in it. > > On Wed, Apr 11, 2012 at 7:09 PM, Nelson Segura <nsegu...@gmail.com> wrote: > >> Sorry, you dont have to refresh 4 times, just once :p >> -Nelson >> >> On Wed, Apr 11, 2012 at 6:08 PM, Nelson Segura <nsegu...@gmail.com> wrote: >> > This is easily reproduceable in the wicket sample pages: >> > >> > http://www.wicket-library.com/wicket-examples/ajax/links >> > >> > 1. Click on the increment link for Counter 2 for times. Counter shows 4. >> > 2. CTRL-R/refresh 4 times, the counter still shows 4. >> > 3. Click on link 4 more times. Counter shows 8 >> > 4.CTRL-R/refresh once more, the counter shows 4! >> > >> > I don't know exactly what is making the page dirty in this case. >> > >> > Can you confirm this behavior in the sample page? >> > >> > -Nelson >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org