You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (Resolved) (JIRA)" <ji...@apache.org> on 2012/01/27 10:56:40 UTC
[jira] [Resolved] (WICKET-4257) Ajax indicator getting stuck when
button is pressed multiple times
[ https://issues.apache.org/jira/browse/WICKET-4257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Grigorov resolved WICKET-4257.
-------------------------------------
Resolution: Fixed
Fix Version/s: 1.5.5
1.4.20
Assignee: Martin Grigorov
Fixed.
Now if the precondition doesn't match and there is an indicator then it will be decremented.
> Ajax indicator getting stuck when button is pressed multiple times
> ------------------------------------------------------------------
>
> Key: WICKET-4257
> URL: https://issues.apache.org/jira/browse/WICKET-4257
> Project: Wicket
> Issue Type: Bug
> Affects Versions: 1.4.19
> Reporter: Nazaret Kazarian
> Assignee: Martin Grigorov
> Priority: Minor
> Fix For: 1.4.20, 1.5.5
>
> Attachments: ajax-indicator.rar
>
>
> http://apache-wicket.1842946.n4.nabble.com/Ajax-busy-indicator-getting-stuck-td4082837.html
> I have added a global ajax indicator to all my pages by having all
> pages (through a TemplatePage superclass) implement the
> IAjaxIndicatorAware interface.
> Generally it works, but I have noticed that it is quite easy to get
> the ajax indicator stuck spinning indefinitely, by issuing many ajax
> calls quickly the one after the other. For example if I press an ajax
> button multiple times quickly the busy indicator gets stuck.
> It seems as if the Wicket.show(hide)Incrementally js functions lose
> count of ajax requests and the busy indicator is never actually
> hidden.
> With a little reverse engineering I noticed that maybe one of the
> cases this happens is this: an ajax button is pressed,
> showIncrementally is executed, but the actual ajax request is
> postponed because its channel is busy. When the time comes to actually
> execute the request, the request is stopped because of precondition
> check, and thus hideIncrementally is never called. This loses the
> count. A fix might be to call hideIncrementally when the ajax request
> precondition is not met. As to why the precondition is not met, I am
> guessing it's because the previous ajax request did DOM replacement in
> a way that the precondition of the queued request is no longer met.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira