[ https://issues.apache.org/jira/browse/CB-1388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14046303#comment-14046303 ]
ASF GitHub Bot commented on CB-1388: ------------------------------------ Github user asfgit closed the pull request at: https://github.com/apache/cordova-plugin-device-motion/pull/3 > 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, 2.1.0, 2.2.0, 2.3.0, 2.4.0 > Reporter: Braden Shepherdson > Assignee: Braden Shepherdson > Fix For: 2.8.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 was sent by Atlassian JIRA (v6.2#6252)