You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Chris Brody (JIRA)" <ji...@apache.org> on 2012/04/24 07:26:45 UTC

[jira] [Created] (CB-560) Cordova breaking iOS plugins

Chris Brody created CB-560:
------------------------------

             Summary: Cordova breaking iOS plugins
                 Key: CB-560
                 URL: https://issues.apache.org/jira/browse/CB-560
             Project: Apache Callback
          Issue Type: Bug
          Components: iOS
    Affects Versions: 1.6.1
         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
            Reporter: Chris Brody
            Assignee: Shazron Abdullah
             Fix For: 1.7.0


>From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:

if (!window.PhoneGap) {
    window.PhoneGap = cordova;
}

This should have been done for Cordova like:
if (!Cordova) {
 Cordova = cordova;
}

Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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

        

[jira] [Resolved] (CB-560) Cordova breaking iOS plugins

Posted by "Shazron Abdullah (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CB-560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shazron Abdullah resolved CB-560.
---------------------------------

    Resolution: Fixed

Closing this, re-opening CB-298 instead
                
> Cordova breaking iOS plugins
> ----------------------------
>
>                 Key: CB-560
>                 URL: https://issues.apache.org/jira/browse/CB-560
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: CordovaJS
>    Affects Versions: 1.6.1
>         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
>            Reporter: Chris Brody
>            Assignee: Filip Maj
>             Fix For: 1.7.0
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:
> if (!window.PhoneGap) {
>     window.PhoneGap = cordova;
> }
> This should have been done for Cordova like:
> if (!Cordova) {
>  Cordova = cordova;
> }
> Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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

        

[jira] [Commented] (CB-560) Cordova breaking iOS plugins

Posted by "Shazron Abdullah (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CB-560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13265510#comment-13265510 ] 

Shazron Abdullah commented on CB-560:
-------------------------------------

Found the problem, it's a timing issue:

Before this function is called:
https://github.com/apache/incubator-cordova-js/blob/master/lib/cordova.js#L281

... cordova.exec is not defined yet.
                
> Cordova breaking iOS plugins
> ----------------------------
>
>                 Key: CB-560
>                 URL: https://issues.apache.org/jira/browse/CB-560
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: CordovaJS
>    Affects Versions: 1.6.1
>         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
>            Reporter: Chris Brody
>            Assignee: Filip Maj
>             Fix For: 1.7.0
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:
> if (!window.PhoneGap) {
>     window.PhoneGap = cordova;
> }
> This should have been done for Cordova like:
> if (!Cordova) {
>  Cordova = cordova;
> }
> Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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

        

[jira] [Commented] (CB-560) Cordova breaking iOS plugins

Posted by "Shazron Abdullah (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CB-560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13266048#comment-13266048 ] 

Shazron Abdullah commented on CB-560:
-------------------------------------

Of course it does - it worked without using the deprecateFunctions call when doing window.PhoneGap = cordova for example, but after applying CB-298 PhoneGap.exec is missing - thus CB-298 broke this. Like I said it's a timing issue (see my previous comment).

Moving them to common.js will fix this but essentially CB-298 (deprecations) is not applied to PhoneGap and Cordova globals at all.


                
> Cordova breaking iOS plugins
> ----------------------------
>
>                 Key: CB-560
>                 URL: https://issues.apache.org/jira/browse/CB-560
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: CordovaJS
>    Affects Versions: 1.6.1
>         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
>            Reporter: Chris Brody
>            Assignee: Filip Maj
>             Fix For: 1.7.0
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:
> if (!window.PhoneGap) {
>     window.PhoneGap = cordova;
> }
> This should have been done for Cordova like:
> if (!Cordova) {
>  Cordova = cordova;
> }
> Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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

        

[jira] [Commented] (CB-560) Cordova breaking iOS plugins

Posted by "Filip Maj (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CB-560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13260392#comment-13260392 ] 

Filip Maj commented on CB-560:
------------------------------

Yeah, sorry about the removal of the various namespaces sans notice. Since 1.6, we have agreed on a [deprecation policy|http://wiki.apache.org/cordova/DeprecationPolicy] but obviously dropped the ball on this again.

I have added back in the upper-case {{Cordova}} global in commit [2557ed|http://git-wip-us.apache.org/repos/asf?p=incubator-cordova-js.git;a=commit;h=2557edf0]. Will be more careful about this stuff moving forward.

Related is CB-298, wherein we actually add the deprecation notices.
                
> Cordova breaking iOS plugins
> ----------------------------
>
>                 Key: CB-560
>                 URL: https://issues.apache.org/jira/browse/CB-560
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: CordovaJS
>    Affects Versions: 1.6.1
>         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
>            Reporter: Chris Brody
>            Assignee: Filip Maj
>             Fix For: 1.7.0
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:
> if (!window.PhoneGap) {
>     window.PhoneGap = cordova;
> }
> This should have been done for Cordova like:
> if (!Cordova) {
>  Cordova = cordova;
> }
> Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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

        

[jira] [Updated] (CB-560) Cordova breaking iOS plugins

Posted by "Shazron Abdullah (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CB-560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shazron Abdullah updated CB-560:
--------------------------------

    Component/s:     (was: iOS)
                 CordovaJS

Changed the component to CordovaJS.
                
> Cordova breaking iOS plugins
> ----------------------------
>
>                 Key: CB-560
>                 URL: https://issues.apache.org/jira/browse/CB-560
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: CordovaJS
>    Affects Versions: 1.6.1
>         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
>            Reporter: Chris Brody
>            Assignee: Shazron Abdullah
>             Fix For: 1.7.0
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:
> if (!window.PhoneGap) {
>     window.PhoneGap = cordova;
> }
> This should have been done for Cordova like:
> if (!Cordova) {
>  Cordova = cordova;
> }
> Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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

        

[jira] [Reopened] (CB-560) Cordova breaking iOS plugins

Posted by "Shazron Abdullah (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CB-560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shazron Abdullah reopened CB-560:
---------------------------------


When CB-298 was implemented, it broke this. 
                
> Cordova breaking iOS plugins
> ----------------------------
>
>                 Key: CB-560
>                 URL: https://issues.apache.org/jira/browse/CB-560
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: CordovaJS
>    Affects Versions: 1.6.1
>         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
>            Reporter: Chris Brody
>            Assignee: Filip Maj
>             Fix For: 1.7.0
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:
> if (!window.PhoneGap) {
>     window.PhoneGap = cordova;
> }
> This should have been done for Cordova like:
> if (!Cordova) {
>  Cordova = cordova;
> }
> Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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

        

[jira] [Commented] (CB-560) Cordova breaking iOS plugins

Posted by "Chris Brody (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CB-560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13260414#comment-13260414 ] 

Chris Brody commented on CB-560:
--------------------------------

Awesome, thanks for your attention.

Chris
                
> Cordova breaking iOS plugins
> ----------------------------
>
>                 Key: CB-560
>                 URL: https://issues.apache.org/jira/browse/CB-560
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: CordovaJS
>    Affects Versions: 1.6.1
>         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
>            Reporter: Chris Brody
>            Assignee: Filip Maj
>             Fix For: 1.7.0
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:
> if (!window.PhoneGap) {
>     window.PhoneGap = cordova;
> }
> This should have been done for Cordova like:
> if (!Cordova) {
>  Cordova = cordova;
> }
> Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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

        

[jira] [Resolved] (CB-560) Cordova breaking iOS plugins

Posted by "Filip Maj (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CB-560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Filip Maj resolved CB-560.
--------------------------

    Resolution: Fixed

[2557ed|http://git-wip-us.apache.org/repos/asf?p=incubator-cordova-js.git;a=commit;h=2557edf0]
                
> Cordova breaking iOS plugins
> ----------------------------
>
>                 Key: CB-560
>                 URL: https://issues.apache.org/jira/browse/CB-560
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: CordovaJS
>    Affects Versions: 1.6.1
>         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
>            Reporter: Chris Brody
>            Assignee: Filip Maj
>             Fix For: 1.7.0
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:
> if (!window.PhoneGap) {
>     window.PhoneGap = cordova;
> }
> This should have been done for Cordova like:
> if (!Cordova) {
>  Cordova = cordova;
> }
> Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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

        

[jira] [Assigned] (CB-560) Cordova breaking iOS plugins

Posted by "Filip Maj (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CB-560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Filip Maj reassigned CB-560:
----------------------------

    Assignee: Filip Maj  (was: Shazron Abdullah)
    
> Cordova breaking iOS plugins
> ----------------------------
>
>                 Key: CB-560
>                 URL: https://issues.apache.org/jira/browse/CB-560
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: CordovaJS
>    Affects Versions: 1.6.1
>         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
>            Reporter: Chris Brody
>            Assignee: Filip Maj
>             Fix For: 1.7.0
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:
> if (!window.PhoneGap) {
>     window.PhoneGap = cordova;
> }
> This should have been done for Cordova like:
> if (!Cordova) {
>  Cordova = cordova;
> }
> Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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

        

[jira] [Commented] (CB-560) Cordova breaking iOS plugins

Posted by "Filip Maj (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CB-560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13266001#comment-13266001 ] 

Filip Maj commented on CB-560:
------------------------------

Do not think CB-298 has anything to do with this. We are missing adding the cordova/exec JS module on the {{Cordova}} and {{PhoneGap}} globals; for the {{cordova}} global, this is done [via the common.js platform definition|https://github.com/apache/incubator-cordova-js/blob/master/lib/common/common.js#L3-L10], but that is missing for {{Cordova}} and {{PhoneGap}}.
                
> Cordova breaking iOS plugins
> ----------------------------
>
>                 Key: CB-560
>                 URL: https://issues.apache.org/jira/browse/CB-560
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: CordovaJS
>    Affects Versions: 1.6.1
>         Environment: From https://groups.google.com/forum/?fromgroups#!topic/phonegap/2G5OPKV_FdQ someone apparently tried upgrading from PhoneGap 1.1 to 1.6.
>            Reporter: Chris Brody
>            Assignee: Filip Maj
>             Fix For: 1.7.0
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> From 1.4 to 1.5, the namespace was changed from PhoneGap to Cordova which was breaking all of the existing plugins. I eventually provided a shim class but it was too late to stop the pain. Then in Javascript only Cordova was changed to cordova, breaking the iOS plugins yet again. I noticed in cordova (1.6.0) JS:
> if (!window.PhoneGap) {
>     window.PhoneGap = cordova;
> }
> This should have been done for Cordova like:
> if (!Cordova) {
>  Cordova = cordova;
> }
> Yes we should be deprecating the old namespaces for removal in another major release. Any API changes made before a major release should be made with a workaround, to be deprecated, and tested with some plugins before shipping.

--
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