[
https://issues.apache.org/jira/browse/CB-3534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Kwan updated CB-3534:
--------------------------
Description:
Minimal example reproducing the problem is attached and set up as follows:
# Custom container view controller split into two halves each containing a
_CDVViewController_
# Top half loads and after a delay (1000ms) fires a _NSNotification_
# In response to the _NSNotification_ the top half loads a green page and the
bottom half loads a red page
Both red pages and green pages have an event listener for *deviceready*:
{code}
function onDeviceReady() {
alert('deviceready from XXXXX'); // colour here
cordova.exec(null, null, 'Echo', 'echo', ['hello']);
};
{code}
{panel:title=Observed
Behaviour|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
- _deviceready_ is fired only for the red page (bottom)
- The _cordova.exec_ succeeds for the red page (bottom)
- _deviceready_ is not fired for the green page (top)
{panel}
{panel:title=Expected
Behaviour|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
_deviceready_ should be fired for both the green and red page simultaneously
and the _cordova.exec_ events should go through immediately.
{panel}
{panel:title=Extra
Details|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
This bug reproduces only on the first time the app is launched (reset the
simulator to reproduce). On subsequent launches the app behaves as expected.
The _deviceready_ can be triggered by certain events for the top page:
- Pulling down the notification bar
- Backgrounding
If _deviceready_ is triggered by pulling down the notification bar, the
_cordova.exec_ is still not fired for the green page. The _cordova.exec_
message is queued up and finally does go through when the app is backgrounded.
{panel}
This bug is remarkably similar to the following:
https://issues.apache.org/jira/browse/CB-2094
Perhaps it is an edge case which was overlooked? This bug reproduces on 2.3.0
and 2.7.0 - I have not tried other versions yet.
was:
Minimal example reproducing the problem is attached and set up as follows:
# Custom container view controller split into two halves each containing a
_CDVViewController_
# Top half loads and after a delay (1000ms) fires a _NSNotification_
# In response to the _NSNotification_ the top half loads a green page and the
bottom half loads a red page
Both red pages and green pages have an event listener for *deviceready* which
does the following:
{code}
function onDeviceReady() {
alert('deviceready from XXXXX'); // colour here
cordova.exec(null, null, 'Echo', 'echo', ['hello']);
};
{code}
{panel:title=Observed
Behaviour|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
- _deviceready_ is fired only for the red page (bottom)
- The _cordova.exec_ succeeds for the red page (bottom)
- _deviceready_ is not fired for the green page (top)
{panel}
{panel:title=Expected
Behaviour|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
_deviceready_ should be fired for both the green and red page simultaneously
and the _cordova.exec_ events should go through immediately.
{panel}
{panel:title=Extra
Details|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
This bug reproduces only on the first time the app is launched (reset the
simulator to reproduce). On subsequent launches the app behaves as expected.
The _deviceready_ can be triggered by certain events for the top page:
- Pulling down the notification bar
- Backgrounding
If _deviceready_ is triggered by pulling down the notification bar, the
_cordova.exec_ is still not fired for the green page. The _cordova.exec_
message is queued up and finally does go through when the app is backgrounded.
{panel}
This bug is remarkably similar to the following:
https://issues.apache.org/jira/browse/CB-2094
Perhaps it is an edge case which was overlooked? This bug reproduces on 2.3.0
and 2.7.0 - I have not tried other versions yet.
> Multiple CDVViewControllers - deviceready not fired and cordova.exec events
> queued up till backgrounding
> --------------------------------------------------------------------------------------------------------
>
> Key: CB-3534
> URL: https://issues.apache.org/jira/browse/CB-3534
> Project: Apache Cordova
> Issue Type: Bug
> Components: iOS
> Affects Versions: 2.3.0, 2.7.0
> Environment: Reproducible on iPhone/iPad 6.1 Simulator and Device.
> Reporter: Mike Kwan
> Assignee: Shazron Abdullah
> Attachments: CordovaBug.zip, Screen Shot 2013-05-29 at 13.55.42.png,
> Screen Shot 2013-05-29 at 14.31.44.png
>
>
> Minimal example reproducing the problem is attached and set up as follows:
> # Custom container view controller split into two halves each containing a
> _CDVViewController_
> # Top half loads and after a delay (1000ms) fires a _NSNotification_
> # In response to the _NSNotification_ the top half loads a green page and
> the bottom half loads a red page
> Both red pages and green pages have an event listener for *deviceready*:
> {code}
> function onDeviceReady() {
> alert('deviceready from XXXXX'); // colour here
> cordova.exec(null, null, 'Echo', 'echo', ['hello']);
> };
> {code}
> {panel:title=Observed
> Behaviour|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
> - _deviceready_ is fired only for the red page (bottom)
> - The _cordova.exec_ succeeds for the red page (bottom)
> - _deviceready_ is not fired for the green page (top)
> {panel}
> {panel:title=Expected
> Behaviour|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
> _deviceready_ should be fired for both the green and red page simultaneously
> and the _cordova.exec_ events should go through immediately.
> {panel}
> {panel:title=Extra
> Details|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}
> This bug reproduces only on the first time the app is launched (reset the
> simulator to reproduce). On subsequent launches the app behaves as expected.
> The _deviceready_ can be triggered by certain events for the top page:
> - Pulling down the notification bar
> - Backgrounding
> If _deviceready_ is triggered by pulling down the notification bar, the
> _cordova.exec_ is still not fired for the green page. The _cordova.exec_
> message is queued up and finally does go through when the app is backgrounded.
> {panel}
> This bug is remarkably similar to the following:
> https://issues.apache.org/jira/browse/CB-2094
> Perhaps it is an edge case which was overlooked? This bug reproduces on 2.3.0
> and 2.7.0 - I have not tried other versions yet.
--
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