[ https://issues.apache.org/jira/browse/CB-1388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Braden Shepherdson updated CB-1388: ----------------------------------- Component/s: (was: Android) (was: iOS) > Add reset() to plugin API and fix callback collisions on all platforms > ---------------------------------------------------------------------- > > Key: CB-1388 > URL: https://issues.apache.org/jira/browse/CB-1388 > Project: Apache Cordova > Issue Type: Bug > Components: Bada, BlackBerry, CordovaJS, Qt, Tizen, webOS > Affects Versions: 2.0.0 > Reporter: Braden Shepherdson > Assignee: Braden Shepherdson > Fix For: 2.2.0 > > > There are three parts to this bug. > First, platform-specific: we should add a reset() function to the plugin API > which is called on top-level navigation or refresh, so that plugins can know > to cancel any long-running requests and reinitialize themselves. This won't > be relevant to some platforms > Second, platform-independent: the callback IDs generated on the Javascript > side should be randomized in some way to prevent collisions after navigation. > Otherwise a request might get the ID "Service1", and before it has a chance > to complete we navigate and a new request is made, also receiving "Service1". > Then the first response comes back and the new Service1 callback is handed > the old results. > Third, we should add a test for this to Mobile Spec, if possible. This is a > tricky thing to reproduce reliably, unfortunately. > I'll tackle the second and third parts, and Android for the first part. It > would be great if people who work on other platforms would add the reset() > logic, or close the platform bugs if the platform is all-Javascript and fully > reloaded on navigation. -- 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