← Back to team overview

ubuntu-sdk-bugs team mailing list archive

[Bug 1389721] [NEW] API versioning broken in some cases

 

Public bug reported:

With Oxide 1.2 being the version that's shipping in the RTM image, I
want to start correctly versioning new API's so that we can upgrade
Oxide OTA safely without breaking existing applications. I'm testing the
attached patch for Oxide to add a revision to API's that were added in
1.3, but running the test suite results in the following failure:

Output:
----------------------------------------------------------
file:///home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml:11:11: ".allowedExtraUrlSchemes" is not available due to component versioning.
       context.allowedExtraUrlSchemes: [ "test", "bar" ]
               ^
********* Start testing of qml-core-test *********
Config: Using QtTest library 5.3.0, Qt 5.3.0
QWARN  : qml-core-test::tst_CustomURLSchemes::compile()
  /home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml produced 1 error(s):
    /home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml:11,11: ".allowedExtraUrlSchemes" is not available due to component versioning.
  Working directory: /home/chr1s/src/oxide/oxide/objdir/qt/tests/qmltests
  View: QQuickView, import paths:
    '/home/chr1s/src/oxide/oxide/objdir/out/bin'
    '/home/chr1s/src/oxide/oxide/objdir/out/imports'
    '/usr/lib/x86_64-linux-gnu/qt5/qml'
  Plugin paths:
    '.'

FAIL!  : qml-core-test::tst_CustomURLSchemes::compile() ".allowedExtraUrlSchemes" is not available due to component versioning.
   Loc: [/home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml(11)]

After scratching my head for a while, I can't see what I'm doing wrong
here.

If I run the following simple QML app, I can access the property
correctly:

- test.qml:

import QtQuick 2.0
import com.canonical.Oxide 1.3

WebView {
  focus: true
  width: 960
  height: 540

  url: "https://www.google.com";

  context: WebContext {
    allowedExtraUrlSchemes: []
  }
}

However, if I run this simple app instead, then it fails with the same
message I see in the unit tests:

- test.qml:

import QtQuick 2.0
import com.canonical.Oxide 1.3

TestWebView {
  focus: true
  width: 960
  height: 540

  url: "https://www.google.com";

  context.allowedExtraUrlSchemes: []
}

- TestWebView.qml

import QtQuick 2.0
import com.canonical.Oxide 1.3

WebView {
  context: WebContext {}
}

I consider this to be a blocker for being able to update Oxide OTA, as
we're not able to version new API's with this bug

** Affects: qtdeclarative-opensource-src (Ubuntu)
     Importance: Undecided
         Status: New

** Attachment added: "Oxide patch to version new API's in 1.3"
   https://bugs.launchpad.net/bugs/1389721/+attachment/4253859/+files/diff

-- 
You received this bug notification because you are a member of Ubuntu
SDK bug tracking, which is subscribed to qtdeclarative-opensource-src in
Ubuntu.
https://bugs.launchpad.net/bugs/1389721

Title:
  API versioning broken in some cases

Status in “qtdeclarative-opensource-src” package in Ubuntu:
  New

Bug description:
  With Oxide 1.2 being the version that's shipping in the RTM image, I
  want to start correctly versioning new API's so that we can upgrade
  Oxide OTA safely without breaking existing applications. I'm testing
  the attached patch for Oxide to add a revision to API's that were
  added in 1.3, but running the test suite results in the following
  failure:

  Output:
  ----------------------------------------------------------
  file:///home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml:11:11: ".allowedExtraUrlSchemes" is not available due to component versioning.
         context.allowedExtraUrlSchemes: [ "test", "bar" ]
                 ^
  ********* Start testing of qml-core-test *********
  Config: Using QtTest library 5.3.0, Qt 5.3.0
  QWARN  : qml-core-test::tst_CustomURLSchemes::compile()
    /home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml produced 1 error(s):
      /home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml:11,11: ".allowedExtraUrlSchemes" is not available due to component versioning.
    Working directory: /home/chr1s/src/oxide/oxide/objdir/qt/tests/qmltests
    View: QQuickView, import paths:
      '/home/chr1s/src/oxide/oxide/objdir/out/bin'
      '/home/chr1s/src/oxide/oxide/objdir/out/imports'
      '/usr/lib/x86_64-linux-gnu/qt5/qml'
    Plugin paths:
      '.'

  FAIL!  : qml-core-test::tst_CustomURLSchemes::compile() ".allowedExtraUrlSchemes" is not available due to component versioning.
     Loc: [/home/chr1s/src/oxide/oxide/qt/tests/qmltests/core/tst_CustomURLSchemes.qml(11)]

  After scratching my head for a while, I can't see what I'm doing wrong
  here.

  If I run the following simple QML app, I can access the property
  correctly:

  - test.qml:

  import QtQuick 2.0
  import com.canonical.Oxide 1.3

  WebView {
    focus: true
    width: 960
    height: 540

    url: "https://www.google.com";

    context: WebContext {
      allowedExtraUrlSchemes: []
    }
  }

  However, if I run this simple app instead, then it fails with the same
  message I see in the unit tests:

  - test.qml:

  import QtQuick 2.0
  import com.canonical.Oxide 1.3

  TestWebView {
    focus: true
    width: 960
    height: 540

    url: "https://www.google.com";

    context.allowedExtraUrlSchemes: []
  }

  - TestWebView.qml

  import QtQuick 2.0
  import com.canonical.Oxide 1.3

  WebView {
    context: WebContext {}
  }

  I consider this to be a blocker for being able to update Oxide OTA, as
  we're not able to version new API's with this bug

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qtdeclarative-opensource-src/+bug/1389721/+subscriptions


Follow ups

References