Cordova webview can start, but won't be made visible

Bug #1539151 reported by David Barth
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cordova Ubuntu
Fix Released
Critical
David Barth

Bug Description

Cordova ubuntu is using a deprecated load signal API that will stop working with Oxide 1.12+

The problem results in Cordova applications being stuck on start on a blank view.

The webview is properly created and the application starts. But it won't display its UI, waiting indefinitely on a load signal that won't be delivered anymore.

This issue affects all cordova applications for Ubuntu, up to release 4.3.3.

Revision history for this message
David Barth (dbarth) wrote :

For reference this is also documented as https://issues.apache.org/jira/browse/CB-10470

Changed in cordova-ubuntu:
importance: Undecided → Critical
status: New → Fix Released
assignee: nobody → David Barth (dbarth)
Revision history for this message
David Barth (dbarth) wrote :

The attached patch (included in cordova-ubuntu 4.3.3) can help quickly fix existing applications

Revision history for this message
David Barth (dbarth) wrote :

Oxide 1.12 is planned for release for OTA 9.5, ie on the 10th of February. Once a device upgrades to this release, Cordova apps built with 4.3.3 will stop working. Unfortunately, there is no good way we can avoid that rebuild step, as deep underlying changes prevent a practical workaround for that problem.

You can either patch the QML code of your app and reupload it. Or you can do a full rebuild.

To patch your application.

Do this on your development system, from the root directory containing the source of your application

$ cd <myappsrc>
$ cd platforms/ubuntu/ubuntu-sdk-*/armhf/prefix
# backup your previous click file
$ mv *.click /tmp
# patch
$ wget https://launchpadlibrarian.net/235650302/cordova-fix-1539151.patch
$ patch < cordova-fix-1539151.patch

Note: you may need to adjust the CordovaUbuntu directory name depending on the version you used for building.

To rebuild your application

Again, from the directory containing the source for your Cordova app:

$ cordova platform rm ubuntu
$ cordova platform add https://git-wip-us.apache.org/repos/asf/cordova-ubuntu.git#4.3.3
$ vi config.xml # bump the app release number
$ cordova build --device

This will create a new click package in platforms/ubuntu/ubuntu-sdk-*/armhf/prefix which you can then re-upload as usual.

To test your application

You may want to test the fix, by upgrading to the newer oxide 1.12 release. This one is available in a PPA at: https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/landing-048

$ phablet-shell
# then on the phone
$ sudo apt-add-repository ppa:ci-train-ppa-service/landing-048
$ sudo apt-get update
$ sudo apt-get install liboxideqtcore0 oxideqt-codecs-extra

Then try running your new build, and verify that the application starts properly. You should /not/ see a blank view anymore.

Re-upload your application on the Ubuntu Store

Follow the usual steps at: https://myapps.developer.ubuntu.com/dev/click-apps/

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.