Closed
Bug 849988
Opened 11 years ago
Closed 11 years ago
Implement support for a removable property for preinstalled apps to define if the app can be uninstalled or not
Categories
(Firefox OS Graveyard :: Gaia, defect)
Tracking
(blocking-b2g:tef+, firefox20 wontfix, firefox21 wontfix, firefox22 fixed, b2g18 fixed, b2g18-v1.0.0 wontfix, b2g18-v1.0.1 fixed)
People
(Reporter: jsmith, Assigned: fabrice)
References
Details
(Whiteboard: [Apps Watch List] QARegressExclude)
Attachments
(2 files)
1.79 KB,
patch
|
ferjm
:
review+
|
Details | Diff | Splinter Review |
6.68 KB,
patch
|
ferjm
:
review+
|
Details | Diff | Splinter Review |
Currently, our preinstalled app framework does not support specifying a "removable" property in the metadata.json file to indicate if the app can be removed or not. There some back and forth debate on whether we should have the ability to support non-removable apps, but let's handle the actual definition of using it in a different bug. This bug focuses on implementing the support for a removable property to allow for an app to be uninstalled or not. If no removable property is specified, then the default should be that the preinstalled app is removable.
Comment 2•11 years ago
|
||
partner is waiting on a patch for this. anyone can take this?
Comment 3•11 years ago
|
||
tef? as this is needed to make 3rd party apps removable by default
blocking-b2g: --- → tef?
Reporter | ||
Comment 4•11 years ago
|
||
(In reply to Joe Cheng [:jcheng] from comment #2) > partner is waiting on a patch for this. anyone can take this? Probably someone who knows the build system piece for apps, potentially the core dom:apps pieces might a person to hunt for. Fabrice would be a good person to ask. I was experimenting around with the source here: https://github.com/mozilla-b2g/gaia/blob/master/build/webapp-manifests.js Where I actually noticed the odd behavior that we: 1. Never read any property called removable from metadata.json 2. Default to removable to true on a packaged app and undefined on a hosted app
Comment 5•11 years ago
|
||
(tef- for now, as it's not clear why do we must support removing preinstalled apps? how does that work with the device "Reset" functionality in settings for example? For v1.0.1, I think we should treat all preloads as fixed just like the build-in core apps given that we are mostly out of time.)
blocking-b2g: tef? → -
Reporter | ||
Comment 6•11 years ago
|
||
(In reply to Michael Vines [:m1] [:evilmachines] from comment #5) > (tef- for now, as it's not clear why do we must support removing > preinstalled apps? I believe this was part of the partner customization requirements for specific locale builds for any app that was not deemed core. For core apps, they would not be non-removable. > how does that work with the device "Reset" functionality > in settings for example? Good question. I actually don't know this answer. Need info on product to clarify. > For v1.0.1, I think we should treat all preloads > as fixed just like the build-in core apps given that we are mostly out of > time.) Well, that's not the current behavior either. We currently do the following: * If the app is a hosted preinstalled app, it's non-removable by default * If the app is preinstalled packaged app, it's removable by default Thoughts? The behavior is a tad awkward in it's current state, so we really do need to pick one or the other.
Flags: needinfo?(mvines)
Flags: needinfo?(ffos-product)
Assignee | ||
Comment 7•11 years ago
|
||
Assignee: nobody → fabrice
Attachment #725076 -
Flags: review?(ferjmoreno)
Assignee | ||
Comment 8•11 years ago
|
||
On the gecko side, we remove any use of the 'removable' property as an indicator of a non-system app. Instead, we check the basePath and compare it to the core apps path. I also removed the hardcoded "removable=true" when preinstalling 3rd party packaged apps. Gaia now sets the removable flag. On the gaia side, the metadata.json now supports a "removable" field that defaults to true. I turned it to false for the maps app, and this will haunt me for the next 100 years.
Attachment #725079 -
Flags: review?(ferjmoreno)
Comment 9•11 years ago
|
||
Comment on attachment 725079 [details] [diff] [review] gecko patch Review of attachment 725079 [details] [diff] [review]: ----------------------------------------------------------------- Thanks Fabrice! Looks good. r=me ::: dom/apps/src/Webapps.jsm @@ +1994,5 @@ > return; > } > > // the manifest file used to be named manifest.json, so fallback on this. > + //let baseDir = (this.webapps[id].removable ? DIRECTORY_NAME : "coreAppsDir"); Remove the comment, please
Attachment #725079 -
Flags: review?(ferjmoreno) → review+
Comment 10•11 years ago
|
||
(In reply to Michael Vines [:m1] [:evilmachines] from comment #5) > (tef- for now, as it's not clear why do we must support removing > preinstalled apps? how does that work with the device "Reset" functionality > in settings for example? For v1.0.1, I think we should treat all preloads > as fixed just like the build-in core apps given that we are mostly out of > time.) from Bug 840891 comment 53 and on, you should see more background on it. Basically all preloaded 3rd party apps are expected to be removed by end users
blocking-b2g: - → tef?
Comment 11•11 years ago
|
||
Comment on attachment 725076 [details] [diff] [review] gaia patch Review of attachment 725076 [details] [diff] [review]: ----------------------------------------------------------------- ::: build/webapp-manifests.js @@ +133,5 @@ > webapp.manifestFile.copyTo(webappTargetDir, 'manifest.webapp'); > origin = webapp.metaData.origin; > + installOrigin = webapp.metaData.installOrigin || webapp.metaData.origin; > + manifestURL = webapp.metaData.manifestURL || > + (webapp.metaData.origin + 'manifest.webapp'); nit: alignment
Attachment #725076 -
Flags: review?(ferjmoreno) → review+
Updated•11 years ago
|
Whiteboard: [Apps Watch List]
Assignee | ||
Comment 12•11 years ago
|
||
Gaia part pushed to master: https://github.com/mozilla-b2g/gaia/commit/718b76a95d2bc8ecf928d56a308b36cd8b69b3bc Don't mark as fixed until I land the gecko patch (inbound is closed).
Comment 13•11 years ago
|
||
(In reply to Joe Cheng [:jcheng] from comment #10) > from Bug 840891 comment 53 and on, you should see more background on it. I can't access this bug.
Flags: needinfo?(mvines)
Assignee | ||
Comment 14•11 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/298a598dde74
Comment 15•11 years ago
|
||
Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/16ac88f4d5b6 for timing out test_bug_779982.html.
Comment 16•11 years ago
|
||
And also that bunch of localstorage tests in mochitest-chrome that always bust when webapp tests are busted.
Assignee | ||
Comment 17•11 years ago
|
||
Pushed to try with a small fix to make sure I cover all non-b2g platforms: https://tbpl.mozilla.org/?tree=Try&rev=71e5fcee49cf
Assignee | ||
Comment 18•11 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/a63b7a4c03f8
Comment 19•11 years ago
|
||
This commit rendered the whole of Gaia unbootable for me. Can we back it out?
Reporter | ||
Comment 20•11 years ago
|
||
(In reply to Ben Francis [:benfrancis] from comment #19) > This commit rendered the whole of Gaia unbootable for me. Can we back it out? Yes, let's back out then.
Whiteboard: [Apps Watch List] → [Apps Watch List][backout needed]
Reporter | ||
Comment 21•11 years ago
|
||
Need info on fabrice to address comment 19.
Flags: needinfo?(ffos-product) → needinfo?(fabrice)
Comment 22•11 years ago
|
||
I have backed out the gaia part in: https://github.com/mozilla-b2g/gaia/commit/532a60eabbf3a97f0df6a274614dec3d2d0d8ec7 because it caused the regression reported in https://groups.google.com/d/msg/mozilla.dev.gaia/C1Cqw4Z0CLE/9McijzGUgWAJ which causes gaia to fail to start up. It seems that |make production| still worked, but a |make install-gaia| or |make reset-gaia| would result in a gaia which couldn't be started.
Assignee | ||
Comment 23•11 years ago
|
||
That broke the eng builds. I'm looking at what's happening for those. My bad for testing only with a production setting.
Flags: needinfo?(fabrice)
Comment 24•11 years ago
|
||
Why was this landed without a test? Please back out the Gecko part and re-land with a test.
Comment 25•11 years ago
|
||
(semi-blind tef+ purely based on comment 3, as I can't see the full justification as per comment 13)
blocking-b2g: tef? → tef+
Comment 26•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/a63b7a4c03f8
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 27•11 years ago
|
||
Reopening for the fact the Gaia part was backed out.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Updated•11 years ago
|
Whiteboard: [Apps Watch List][backout needed] → [Apps Watch List]
Assignee | ||
Updated•11 years ago
|
Keywords: checkin-needed
Comment 28•11 years ago
|
||
https://hg.mozilla.org/releases/mozilla-b2g18/rev/b6be9a1ac001 https://hg.mozilla.org/releases/mozilla-b2g18_v1_0_1/rev/65e03cab8c3d
status-b2g18:
--- → affected
status-b2g18-v1.0.0:
--- → wontfix
status-b2g18-v1.0.1:
--- → affected
status-firefox20:
--- → wontfix
status-firefox21:
--- → wontfix
status-firefox22:
--- → fixed
Keywords: checkin-needed
Target Milestone: --- → B2G C4 (2jan on)
Reporter | ||
Comment 29•11 years ago
|
||
Setting status-firefox22 back to affected - we've only landed the gecko changes here. The Gaia changes was backed out.
Comment 30•11 years ago
|
||
Fabrice, the gaia patch was backed out. Do you have time to investigate or should we find someone else to take it from here?
Flags: needinfo?(fabrice)
Assignee | ||
Comment 31•11 years ago
|
||
I need to re-test now that the gecko patch has been uplifted, and reland.
Flags: needinfo?(fabrice)
Assignee | ||
Comment 32•11 years ago
|
||
Re-landed: https://github.com/mozilla-b2g/gaia/commit/99267614620b8c09a82711d4ded14a87211d263b
Status: REOPENED → RESOLVED
Closed: 11 years ago → 11 years ago
Resolution: --- → FIXED
Updated•11 years ago
|
Comment 34•11 years ago
|
||
Uplifted commit 99267614620b8c09a82711d4ded14a87211d263b as: v1-train: deabd66c2c5b555d83795284bc372b1c77af413f v1.0.1: 4b3b2b98ca0659dbc9883f3675215e0b0c6c4a0f
Comment 35•11 years ago
|
||
Can you please provide steps to verify this fix - as we will blackbox test from the UI?
Reporter | ||
Comment 36•11 years ago
|
||
(In reply to croesch from comment #35) > Can you please provide steps to verify this fix - as we will blackbox test > from the UI? The maps app should be by default be non-removable as a result of this patch. Already checked and it is okay. That's one blackbox flow. There's also more testing at the build system level, but that's on my end. I'd ignore this bug for your testing you guys are doing.
Updated•11 years ago
|
Whiteboard: [Apps Watch List] → [Apps Watch List] QARegressExclude
Comment 37•11 years ago
|
||
Being left to Jason Smith per Comment 36.
Reporter | ||
Comment 38•11 years ago
|
||
Verified sanity-wise by seeing the build generated for maps that is non-removable and not being able to uninstall it.
Status: RESOLVED → VERIFIED
Keywords: verifyme
You need to log in
before you can comment on or make changes to this bug.
Description
•