Installing of packaged apps with the mini-manifest is broken

RESOLVED FIXED

Status

P1
normal
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: cjones, Assigned: fabrice)

Tracking

(Blocks: 1 bug, {dev-doc-needed})

unspecified
ARM
Gonk (Firefox OS)
dev-doc-needed

Firefox Tracking Flags

(blocking-basecamp:+)

Details

(Whiteboard: [qa-])

This is with a gecko built from m-c d7464788b572.

STR
 (1) Launch b2g browser app
 (2) Navigate to http://people.mozilla.com/~cjones/apps/crystalskull/install.html

In logcat I see

E/GeckoConsole( 2703): Content JS LOG at http://people.mozilla.org/~cjones/apps/crystalskull/install.html:8 in anonymous: Calling installPackage()
E/GeckoConsole( 2703): Content JS ERROR at http://people.mozilla.org/~cjones/apps/crystalskull/install.html:17 in anonymous:   ... successfully made request, awaiting response ...

and then nothing else happens; neither of the log statements are hit.

The manifest is at http://people.mozilla.com/~cjones/apps/crystalskull/manifest.webapp, package is at http://people.mozilla.com/~cjones/apps/crystalskull/application.zip .
This looks incorrect. Packaged apps are installed by calling installPackage with a mini-manifest, see http://people.mozilla.com/~fdesre/openwebapps/package.manifest for an example. The manifest.webapp you have isn't even valid for a call to installPackage, so it's expected that this would fail. If you aren't getting an error callback though, then that's a bug on this. Resolving as invalid, as this looks like a user error.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → INVALID
I'm missing something.  Can someone explain concretely why http://people.mozilla.com/~cjones/apps/crystalskull/manifest.webapp is an invalid manifest?

It's fine to tackle the lack of error notification in a separate bug.
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
(In reply to Chris Jones [:cjones] [:warhammer] from comment #2)
> I'm missing something.  Can someone explain concretely why
> http://people.mozilla.com/~cjones/apps/crystalskull/manifest.webapp is an
> invalid manifest?

That manifest.webapp both has properties both that don't exist in the mini-manifest and are invalid properties. Specifically:

Invalid in mini-manifest (these properties don't exist)

- launch_path
- developer with name and url
- description, along with locales with description
- default_locale
- orientation

Needed in mini-manifest (these properties need to exist, but don't exist in your manifest):

- version
- size
- release_notes

bug 789527 gives you the specifics. Fabrice could probably give you more details on which mini-manifest properties above could be optional (I don't see anything documented on if any of the above properties are optional, although my hunch at a minimum, size is required). Here's one way you could fix it:

{
  "name": "CrystalSkull",
  "version": "1.0",
  "size": 1084000,
  "release_notes": "Awesome app",
  "package_path": "http://people.mozilla.com/~cjones/apps/crystalskull/application.zip",
  "locales": {
    "ar": {
      "name": "CrystalSkull",
    },
    "ca": {
      "name": "CrystalSkull",
    },
    "de": {
      "name": "CrystalSkull",
    },
    "el": {
      "name": "\u039a\u03c1\u03c5\u03c3\u03c4\u03ac\u03bb\u03bb\u03b9\u03bd\u03bf \u039a\u03c1\u03b1\u03bd\u03af\u03bf",
    },
    "en-US": {
      "name": "CrystalSkull",
    },
    "es": {
      "name": "CrystalSkull",
    },
    "fr": {
      "name": "CrystalSkull",
    },
    "it": {
      "name": "CrystalSkull",
    },
    "pt-BR": {
      "name": "CrystalSkull",
    },
    "ru": {
      "name": "CrystalSkull",
    },
    "tr": {
      "name": "CrystalSkull",
    },
    "zh-TW": {
      "name": "CrystalSkull",
    }
  },
  "icons": {
    "120": "/style/icons/Crystalskull.png",
    "60": "/style/icons/60/Crystalskull.png"
  }
}

If something similar to that doesn't work, then let me know. I'll note that it's very possible installing of packaged apps could not be working right now though, cause when I brought up the topic of testing this right now, I was told to hold off until the kinks with the new install/update api and new gaia flows land.
(Assignee)

Comment 4

6 years ago
Well, a really minimal mini-manifest only needs a name and package_path properties. But even with that installing packaged apps is broken on current gaia - I totally forgot about that since I work with a patched branch with Etienne while we iron out update issues in bug 802683
(In reply to Fabrice Desré [:fabrice] from comment #4)
> Well, a really minimal mini-manifest only needs a name and package_path
> properties. But even with that installing packaged apps is broken on current
> gaia - I totally forgot about that since I work with a patched branch with
> Etienne while we iron out update issues in bug 802683

Ah okay, that clarifies what I hit as well then. I'll link this bug up with bug 802363 - we could resolve both when bug 802683 lands.
Summary: Can't install packaged app hosted on people.mozilla.com/~cjones → Installing of packaged apps with the mini-manifest is broken

Updated

6 years ago
blocking-basecamp: --- → ?
Depends on: 802363

Updated

6 years ago
Depends on: 802683
No longer depends on: 802363

Updated

6 years ago
No longer depends on: 802683
(In reply to Jason Smith [:jsmith] from comment #3)
> (In reply to Chris Jones [:cjones] [:warhammer] from comment #2)
> > I'm missing something.  Can someone explain concretely why
> > http://people.mozilla.com/~cjones/apps/crystalskull/manifest.webapp is an
> > invalid manifest?
> 
> Invalid in mini-manifest (these properties don't exist)
> 
> - launch_path
> - developer with name and url
> - description, along with locales with description
> - default_locale
> - orientation
> 

Additional properties in the manifest shouldn't cause the install to fail.  If that's what's going wrong, then we need to fix that.

> Needed in mini-manifest (these properties need to exist, but don't exist in
> your manifest):
> 
> - version
> - size
> - release_notes

OK, this sounds more like it.  Will give these a shot.

We need some dev-doc love here :).
Keywords: dev-doc-needed

Updated

6 years ago
Blocks: 783741
Assignee: nobody → fabrice
blocking-basecamp: ? → +
Priority: -- → P1
Etienne says that this has now been fixed with the Update UI landing!
Status: REOPENED → RESOLVED
Last Resolved: 6 years ago6 years ago
Resolution: --- → FIXED

Updated

6 years ago
Keywords: verifyme
QA Contact: jsmith
(In reply to Chris Jones [:cjones] [:warhammer] from comment #6)
> We need some dev-doc love here :).

Mark Giffin has written this as a starter: https://developer.mozilla.org/en-US/docs/Apps/Packaged_apps
Component: DOM: Apps → Gaia
Product: Core → Boot2Gecko

Updated

6 years ago
Component: Gaia → Gaia::Apps Management
Component: Gaia::Apps Management → General
Component: General → Gaia

Updated

6 years ago
Component: Gaia → Gaia::System

Updated

6 years ago
Keywords: verifyme

Updated

6 years ago
Whiteboard: [qa-]
You need to log in before you can comment on or make changes to this bug.