Closed
Bug 748199
Opened 13 years ago
Closed 13 years ago
Installation fails if name of app conflicts with native applications
Categories
(Firefox Graveyard :: Web Apps, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
Firefox 15
People
(Reporter: cvan, Assigned: Felipe)
References
()
Details
(Whiteboard: [marketplace-beta+])
Attachments
(2 files, 2 obsolete files)
679.27 KB,
image/png
|
Details | |
3.80 KB,
patch
|
mstange
:
review+
|
Details | Diff | Splinter Review |
User Agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:14.0) Gecko/20120420 Firefox/14.0a1
Steps to reproduce:
1) Ensure that you have /Applications/Chess.app installed
2) Load https://marketplace-dev.allizom.org/en-US/app/chess-2/
3) Click the "Install" button and click "Install" in the doorhanger installer.
4) Notice the error: "App install not allowed" (error code: DENIED)
Thoughts:
Because I'm on Mac OS X and Chess.app is already an application I have installed (as a native app, not a web app), it thinks the Chess webapp is already installed and rejects installation.
Updated•13 years ago
|
Component: General → Web Apps
Product: Web Apps → Firefox
QA Contact: general → webapps
Version: unspecified → 14 Branch
Comment 1•13 years ago
|
||
Confirmed on OS X 10.6.8. Also checked if you could install the app specified generally without a name conflict - That worked. Will want to see what happens on Windows as well to find out if this is OS-specific or not.
Comment 2•13 years ago
|
||
Error Console:
Timestamp: 4/23/12 6:29:30 PM
Error: Error installing app: [Exception... "Component returned failure code: 0x80520008 (NS_ERROR_FILE_ALREADY_EXISTS) [nsILocalFile.create]" nsresult: "0x80520008 (NS_ERROR_FILE_ALREADY_EXISTS)" location: "JS frame :: resource:///modules/WebappsInstaller.jsm :: <TOP_LEVEL> :: line 190" data: no]
Source File: resource:///modules/WebappsInstaller.jsm
Line: 36
Comment 3•13 years ago
|
||
This appears to be a Mac-specific issue. Windows also has incorrect behavior, but its a different issue (it overwrites shortcuts, where as Mac stops install).
Assignee | ||
Updated•13 years ago
|
Assignee: nobody → felipc
Status: NEW → ASSIGNED
Comment 4•13 years ago
|
||
Need to talk to BD, Jason needs to figure out how many top apps this affects.
Keywords: qawanted
Whiteboard: [marketplace-beta?]
Comment 5•13 years ago
|
||
These apps are known to risk conflicts (ones known so far, haven't gone through the whole list):
* Springpad
* Timer
* Checkers
* Sandglaz
* Chess
* Calculator
* Soundcloud
* Kicksend
These are possible. The issue probably is going to more heavily prominent on Mac, given that install is blocked if there's a name conflict and since mac has a built-in app store. I'd definitely mark this as a marketplace beta blocker.
Keywords: qawanted
Updated•13 years ago
|
Updated•13 years ago
|
Whiteboard: [marketplace-beta?] → [marketplace-beta+]
Assignee | ||
Comment 6•13 years ago
|
||
work in progress, untested
Assignee | ||
Comment 7•13 years ago
|
||
This seems to work. Dan, can you test?
This patch should fix both the name collision problem and the icons problem by:
- creating the app bundle in a temporary folder
- checking for an existing app with the same name and adding "(2)" (or higher) to the name
- moving it to the /Applications folder or, if the user has no permissions to do it, to the Desktop
Attachment #618377 -
Attachment is obsolete: true
Assignee | ||
Comment 8•13 years ago
|
||
- Creates app in temporary folder
- Finds available name in /Applications folder
- moves app to /Application
I'm not using the nsIFile.createUnique function for two reasons:
- It uses Filename-1.app style, and we want Filename (2).app (or to be able to tweak this styling later)
- it would make it harder to do the step in which we create the folder in the tmp dir and then move it to Applications. This is necessary to fix other bugs but I'm doing it here together since I would also need it for this change.
With this change (writing into tmp folder), I don't need to separate the plist file creation done in bug 747601 (as it didn't entirely fix the problem it tried to fix, and the proper way to do it is this one). So I put the .plist creation back to its original function, but I'm still using the getIconForApp callback to do the final move
Attachment #618445 -
Attachment is obsolete: true
Attachment #618548 -
Flags: review?(mstange)
Comment 9•13 years ago
|
||
Comment on attachment 618548 [details] [diff] [review]
Patch v2
>+/**
>+ * get a unique name for a file on a folder
>+ */
> /* More helpers for handling the app icon */
> #include WebappsIconHelpers.js
stray comment
Why do you switch from Filename (2).app to Filename-12.app if the number is >= 10?
Attachment #618548 -
Flags: review?(mstange) → review+
Assignee | ||
Comment 10•13 years ago
|
||
I figured if we're not having luck finding an available name up to (9) then changing the filename style made help.
https://hg.mozilla.org/mozilla-central/rev/8180e2442cd2
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 15
Updated•13 years ago
|
Whiteboard: [marketplace-beta+] → [marketplace-beta+], [qa+]
Updated•13 years ago
|
Whiteboard: [marketplace-beta+], [qa+] → [marketplace-beta+]
Updated•13 years ago
|
Status: RESOLVED → VERIFIED
Updated•13 years ago
|
Flags: in-moztrap?(jsmith)
Updated•13 years ago
|
QA Contact: jsmith
Updated•13 years ago
|
Flags: in-moztrap?(jsmith) → in-moztrap-
Updated•13 years ago
|
Flags: in-moztrap- → in-moztrap?(jsmith)
Updated•13 years ago
|
Flags: in-moztrap?(jsmith)
Updated•9 years ago
|
Product: Firefox → Firefox Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•