Closed Bug 849510 Opened 12 years ago Closed 11 years ago

Soundcloud - Invalid manifest, Cannot install app from the Marketplace

Categories

(Marketplace Graveyard :: Reviewer Tools, defect)

ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: mcepl, Assigned: Harald)

Details

(Whiteboard: A4A)

Attachments

(1 file)

When trying to install SoundCloud from https://marketplace.firefox.com/purchases/ I get an error "Invalid manifest" with error in logcat

E/GeckoConsole( 3623): [JavaScript Error: "Error installing app from: https://marketplace.firefox.com: INVALID_MANIFEST" {file: "resource://gre/modules/Webapps.jsm" line: 1290}]

(Using the last FF/Nightly).
Severity: normal → major
Severity: major → normal
Component: Web Apps → General
Product: Firefox for Android → Marketplace
QA Contact: aaron.train
Summary: Cannot install app from the Marketplace → Soundcloud - Invalid manifest, Cannot install app from the Marketplace
Version: Firefox 22 → 1.0
Not a marketplace bug.

This works fine on desktop and FF OS. Doesn't work on FF Android on Nightly. Which implies it's likely a regression, potentially in the front-end code.
Component: General → Web Apps
Product: Marketplace → Firefox for Android
QA Contact: aaron.train
Version: 1.0 → Trunk
I took the exact same manifest offered and installed it manually and it works. 

{
  "version": "1.0.0",
  "name": "SoundCloud",
  "description": "Share Your Sounds",
  "icons": {
    "16" : "/images/logos/soundcloud_16.png",
    "24" : "/images/logos/soundcloud_24.png",
    "32" : "/images/logos/soundcloud_32.png",
    "40" : "/images/logos/soundcloud_40.png",
    "48" : "/images/logos/soundcloud_48.png",
    "56" : "/images/logos/soundcloud_56.png",
    "64" : "/images/logos/soundcloud_64.png",
    "128": "/images/logos/soundcloud_128.png"
  },
  "developer": {
    "name": "SoundCloud LTD",
    "url": "http://soundcloud.com"
  },
  "installs_allowed_from": [
    "*"
  ],
  "default_locale": "en"
}

It launches but doesn't start though, filing a seperate bug for a runtime-exception,
I am guessing they send the wrong mimetype based on UA somehow. We need better logging to make that easier to diagnose.

I'm not sure how you manually installed it Aaron. If it isn't installed from the correct origin, it won't be able to launch.
$ curl -ILA "Mozilla/5.0 (Android; rv:20.0) Gecko/20.0 Firefox/20.0" http://soundcloud.com/manifest.webapp
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Sat, 09 Mar 2013 19:48:55 GMT
Content-Type: text/html
Content-Length: 154
Connection: keep-alive
Location: http://m.soundcloud.com/manifest.webapp
Cache-Control: private
expires: -1
X-Cacheable: NO:Cache-Control=private
X-Varnish: 1846304055
Age: 0
Via: 1.1 varnish
X-Cache: MISS

HTTP/1.1 200 OK
Server: nginx
Date: Sat, 09 Mar 2013 19:48:55 GMT
Content-Type: text/html
Content-Length: 2638
Connection: keep-alive
Last-Modified: Tue, 12 Feb 2013 17:11:50 GMT
X-Frame-Options: SAMEORIGIN
X-Cacheable: YES
X-Varnish: 496607254
Age: 0
Via: 1.1 varnish
X-Cache: MISS
Vary: Accept-Encoding


Looks like it

Content-Type should be: 'application/x-web-app-manifest+json; charset=utf-8'

$ curl -IL http://soundcloud.com/manifest.webapp
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 09 Mar 2013 19:49:30 GMT
Content-Type: application/x-web-app-manifest+json; charset=utf-8
Ah, that explains the INVALID_MANIFEST. If we try to install a hosted app that has a manifest does a off-origin redirect, we throw an error (which is expected behavior). Typically the marketplace validator catches these type of things, but I have a feeling it's not taking the user agent into account.

The mitigation for this situation is two fold:

1. File a bug to have the validator take the user agent into account when scrapping app manifests

2. Turn off Soundcloud support on FF Android and outreach to the app developer with the reasoning stated above.
Component: Web Apps → Reviewer Tools
Product: Firefox for Android → Marketplace
QA Contact: aaron.train
Version: Trunk → 1.0
Lisa - Can you take care of item #2 in comment 5?

I'll file a bug about [1]. When [2] is taken care of, feel free to close this bug.
Flags: needinfo?(adora)
Assignee: nobody → adora
Whiteboard: A4A
I was in touch with their engineers before and just recommended a fix. Will update when I got a reply.
Assignee: adora → hkirschner
(In reply to Harald Kirschner from comment #7)
> I was in touch with their engineers before and just recommended a fix. Will
> update when I got a reply.

Dropping needinfo on Lisa - Harald is now looking into this.
Flags: needinfo?(adora)
Fixed by partner 2 weeks ago.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: