[Web Install] Prevent installation if there is an existing installed app that controls the same scope #897
Open
Description
Originally mentioned here by @dmurph: #893 (comment)
I think we should consider preventing install if there is an app already installed that controls the start_url of the app, or the current document in the same-origin case. This is mostly to prevent this kind of use, which hinders the UA's ability to promote installation / know which urls belong to which app (and other problems cited in here. Then, when we solve w3c/manifest#996, devs can make sure the places they need to installed (if nested) fall outside of the outer app's scope.
I think this sounds like the right approach, and here are some initial pros/cons:
- Pros:
- Less likely to cause confusion around which app should open the content.
- Aligns with the current install prompting behavior in chromium-based browsers
- Cons:
- Some devs want to support nested apps and don't have a way to do that until Scope: Allow developer to have more fine-grained control of app scope. w3c/manifest#996 is addressed.
- You can get into a state where two apps control the same path if an app with a smaller scope is installed first (e.g. example.com/app/cool-game) then a larger scope second (e.g. example.com/app).
- Existing "Site as app"/"DIY apps" installed by the user could prevent nested apps from being installed (this issue already exists for browser-prompted installs)