Closed
Bug 856799
Opened 12 years ago
Closed 12 years ago
Please add the packaged marketplace to gaia
Categories
(Firefox OS Graveyard :: Gaia, defect)
Firefox OS Graveyard
Gaia
Tracking
(blocking-b2g:tef+, firefox23 fixed, b2g18 fixed, b2g18-v1.0.1 fixed)
VERIFIED
FIXED
blocking-b2g | tef+ |
People
(Reporter: clouserw, Assigned: cvan)
References
Details
Attachments
(1 file, 1 obsolete file)
Some work was already done via IRC, I think ending up with this commit: https://github.com/cvan/gaia/commit/1c92309699bfe198117b09a497cfe7a7f3f020a8
I don't know if it ended up in a pull request or not. After that we'll need to adjust some documentation so carriers know how to customize the URL.
Let me know what else I can provide. Thanks.
Comment 1•12 years ago
|
||
Needed for 1.0 based on what I've been told. Noming as such.
Ask Wil for details on why if need be.
blocking-b2g: --- → tef?
Comment 2•12 years ago
|
||
FWIW, we should stagger landings on this bug such that:
1. Land this on master & v1-train first and wait a few days to make sure nothing blows up
2. Then land on 1.01
Comment 3•12 years ago
|
||
The zip has a harcoded link to https://marketplace.firefox.com/?carrier=telefonica for the iframe. I can't comment directly on github because it's inside a binary file, but this need to be done differently:
- use getSelf() to get the app object.
- use the manifestURL to get the carrier name if any
- add the carrier name to the iframe if needed.
Assignee | ||
Comment 4•12 years ago
|
||
(In reply to Fabrice Desré [:fabrice] from comment #3)
> The zip has a harcoded link to
> https://marketplace.firefox.com/?carrier=telefonica for the iframe.
Thanks - updated: https://github.com/cvan/gaia/compare/packaged-marketplace
Comment 5•12 years ago
|
||
What are the reasons for blocking on this?
CAn we land it in master first and then nominate this again as per comment 2?
Flags: needinfo?(clouserw)
Comment 6•12 years ago
|
||
If the packaged app doesn't land, then users will have a deprecated version of the Marketplace on their devices. We will be shutting off the current Marketplace as it exists now within a few months. Any device still pointing at it will be irreparably emborkened.
Reporter | ||
Comment 7•12 years ago
|
||
This is to prevent further work in the future. There is no upgrade path from a hosted app to a packaged app and since the Marketplace needs to be a packaged app to take advantage of privileged APIs it makes sense to get it packaged in the first version that ships.
Fabrice or Jason could answer your question about landing in master and nominating, he knows the flows better than I do.
Flags: needinfo?(clouserw)
Comment 8•12 years ago
|
||
We could blocking+ this but just indicate in the status flags to not to uplift to b2g 1.01 on immediate landing, wait a few days, then switch the flags to allow landing.
Comment 9•12 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #8)
> We could blocking+ this but just indicate in the status flags to not to
> uplift to b2g 1.01 on immediate landing, wait a few days, then switch the
> flags to allow landing.
tef+ is then. I leave up to you setting up the right flags
Updated•12 years ago
|
blocking-b2g: tef? → tef+
Comment 10•12 years ago
|
||
Flags set for initial landing.
Assignee | ||
Comment 12•12 years ago
|
||
r? https://github.com/mozilla-b2g/gaia/pull/8973
If there's anything else that needs to be done, please let me know. Thanks much!
Comment 13•12 years ago
|
||
Updated•12 years ago
|
Attachment #733196 -
Flags: review?(fabrice)
Comment 14•12 years ago
|
||
Comment on attachment 733196 [details]
Pointer to Github Pull Request: https://github.com/mozilla-b2g/gaia/pull/8973
Took a quick look. review- for missing etags. Comments in github for stuff that's in the diff there.
For the zip file, comments below:
* {
margin: 0;
overflow: hidden;
padding: 0;
}
What's that star doing in the style tag?
Attachment #733196 -
Flags: review-
Comment 15•12 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #14)
> Comment on attachment 733196 [details]
> Pointer to Github Pull Request: https://github.com/mozilla-b2g/gaia/pull/8973
>
> Took a quick look. review- for missing etags. Comments in github for stuff
> that's in the diff there.
Where is the documentation for this?
> What's that star doing in the style tag?
Per the CSS 2.1 spec:
The universal selector, written "*", matches the name of any
element type. It matches any single element in the document tree.
You can read more, if interested, at http://www.w3.org/TR/CSS2/selector.html#universal-selector
We're matching every element in the app and removing margin, padding, and hiding overflow (to prevent scrollbars and weird scrolling).
Comment 16•12 years ago
|
||
(In reply to Matt Basta [:basta] from comment #15)
> (In reply to Jason Smith [:jsmith] from comment #14)
> > Comment on attachment 733196 [details]
> > Pointer to Github Pull Request: https://github.com/mozilla-b2g/gaia/pull/8973
> >
> > Took a quick look. review- for missing etags. Comments in github for stuff
> > that's in the diff there.
>
> Where is the documentation for this?
https://bugzilla.mozilla.org/show_bug.cgi?id=820630 and https://github.com/mozilla-b2g/gaia/blob/master/build/webapp-manifests.js#L158 is the best I have for info on this (not documented, sadly). In short, you need to specify:
etag <--- this is the manifest etag
packageEtag <--- this is the packaged app etag
If the package etag isn't specified, then a user will always get prompted for an app update immediately upon starting usage of the phone.
Comment 17•12 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #16)
> If the package etag isn't specified, then a user will always get prompted
> for an app update immediately upon starting usage of the phone.
I can't say that I'd be displeased with this behavior, since that'll probably happen anyway.
Comment 18•12 years ago
|
||
(In reply to Matt Basta [:basta] from comment #17)
> (In reply to Jason Smith [:jsmith] from comment #16)
> > If the package etag isn't specified, then a user will always get prompted
> > for an app update immediately upon starting usage of the phone.
>
> I can't say that I'd be displeased with this behavior, since that'll
> probably happen anyway.
True, although dogfooders will probably get noisy with this behavior (they already have for maps not declaring those etags, for example).
Updated•12 years ago
|
Assignee: dscravaglieri → felash
Comment 19•12 years ago
|
||
giving it back to :cvan ;)
Chris, please ping me if you need any help !
Assignee: felash → cvan
Comment 20•12 years ago
|
||
I've added this on the PR, but saying it here too: the file applications-data.js must be changed too because you changed the marketplace directory name.
Assignee | ||
Comment 21•12 years ago
|
||
Everything working with fresh `make clean profile`
Attachment #733954 -
Flags: review?(felash)
Updated•12 years ago
|
Attachment #733196 -
Attachment is obsolete: true
Attachment #733196 -
Flags: review?(fabrice)
Comment 22•12 years ago
|
||
Comment on attachment 733954 [details]
Pointer to Github Pull Request: https://github.com/mozilla-b2g/gaia/pull/8973
Package app looks okay to me from the QA side.
Julien can handle the rest of the review pieces for formal landing.
Attachment #733954 -
Flags: feedback+
Comment 23•12 years ago
|
||
Comment on attachment 733954 [details]
Pointer to Github Pull Request: https://github.com/mozilla-b2g/gaia/pull/8973
r=me with packageEtag either removed or modified to reflect a real value (which AFAIK it doesn't right now)
Attachment #733954 -
Flags: review?(felash) → review+
Comment 24•12 years ago
|
||
Comment on attachment 733954 [details]
Pointer to Github Pull Request: https://github.com/mozilla-b2g/gaia/pull/8973
I'm still questioning the etags here that are being used. As it stands right now, I would not check this in without resolving etag problem. r- from me.
Attachment #733954 -
Flags: feedback+ → review-
Comment 25•12 years ago
|
||
Slightly off-topic, but is it indeed the case that etags are necessary on all packaged apps for all developers? If so, we haven't communicated this at all and documentation needs to be updated. Can you please post a link to information about etag requirements and how they need to be used?
Comment 26•12 years ago
|
||
This is not necessary, but this is the only current way to prevent downloading of an app that didn't change. ie we don't support If-Modified-Since. See Bug 823648 and especially Bug 823648 comment 7 for a possible solution.
If you don't specific an ETag, we download the file and then we compute a hash that will be compared to the previous stored hash, so that we don't reinstall the app if it hasn't changed. I think we don't support setting a hash for a preinstalled app.
Comment 27•12 years ago
|
||
Is nothing in the minifest (version, for instance) considered for determining when to update?
Comment 28•12 years ago
|
||
Matt> yes of course, we're not trying to download the package unless the minifest changed. Which uses the same mechanism: ETag or hash. But if the minifest changes (for example: developer or description changed) but not the package, we don't want to redownload the package.
Assignee | ||
Comment 29•12 years ago
|
||
Julien, thanks for the review - are we good here?
Comment 30•12 years ago
|
||
(In reply to Julien Wajsberg [:julienw] from comment #28)
> Matt> yes of course, we're not trying to download the package unless the
> minifest changed. Which uses the same mechanism: ETag or hash. But if the
> minifest changes (for example: developer or description changed) but not the
> package, we don't want to redownload the package.
If the Marketplace promises not to change the minifest unless there's an update, can we get by without the etags in the short term so this can land? We have no intention to change the package (yulelog, as we call it) for at least a few weeks, and at that point we'll have infrastructure stood up to serve packages in a better way. Is that an agreeable compromise?
Assignee | ||
Comment 31•12 years ago
|
||
(In reply to Matt Basta [:basta] from comment #30)
> (In reply to Julien Wajsberg [:julienw] from comment #28)
> > Matt> yes of course, we're not trying to download the package unless the
> > minifest changed. Which uses the same mechanism: ETag or hash. But if the
> > minifest changes (for example: developer or description changed) but not the
> > package, we don't want to redownload the package.
>
> If the Marketplace promises not to change the minifest unless there's an
> update, can we get by without the etags in the short term so this can land?
As of today in production, there are no ETag headers on the .zip - but I have since changed this on -dev and that change will roll out to production tomorrow at 2:00 PDT.
(z)(Chris-MacBook-Pro.local) %% curl -I https://marketplace-dev.allizom.org/package.zip
HTTP/1.1 200 OK
Server: gunicorn/0.15.0
Vary: X-Requested-With, Accept-Language, Cookie, X-Mobile, User-Agent
X-Backend-Server: dev1.addons.phx1.mozilla.com
Content-Type: application/zip
Access-Control-Expose-Headers: X-API-Version, X-API-Status
Strict-Transport-Security: max-age=2592000
Date: Wed, 10 Apr 2013 18:35:50 GMT
Transfer-Encoding: chunked
ETag: "9be1d52a14b87fdf18ab00b4cdebdedc"
Comment 32•12 years ago
|
||
Matt: that was my proposition :) but now I think we should just use the Etag that will be used. so that could land as is.
anyway as long as we don't break the build, we can still make adjustments later if necessary.
Comment 33•12 years ago
|
||
Comment on attachment 733954 [details]
Pointer to Github Pull Request: https://github.com/mozilla-b2g/gaia/pull/8973
looks good now per discussion on the etags piece.
We're good to land then, right?
Attachment #733954 -
Flags: review- → review+
Comment 34•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Comment 35•12 years ago
|
||
v1-train: e439fb1b7a5bcd341edf28fb66ca2b3164e55d2b
Comment 36•12 years ago
|
||
will wait before landing on v1.0.1 as was requested.
Comment 37•12 years ago
|
||
Nothing outrageously blew up, so good to land on next branch.
Comment 38•12 years ago
|
||
v1.0.1: b1855ee0a4e1e6ed3185d9d5cf5e23e8f6d3d82d
Comment 39•12 years ago
|
||
Can you please provide steps to verify this fix - as we will blackbox test from the UI?
Flags: needinfo?
Comment 40•12 years ago
|
||
It's automatically verified - this is part of the build and we use marketplace in our smoke tests daily.
Status: RESOLVED → VERIFIED
Flags: needinfo?
You need to log in
before you can comment on or make changes to this bug.
Description
•