MicrosoftEdge / MicrosoftEdge/MSEdgeExplainers

[Web Install] Prevent installation if there is an existing installed app that controls the same scope

Open
#897 1 comment 0 reactions 1 assignee View on GitHub

@diekus is already working on this.

Since Oct 21, 2024.

Web Install API
Dominant language
HTML
Stars
1.4k
Forks
286
Avg merge
3d 1h
Merged PRs (30d)
8

Description

Originally mentioned here by @dmurph: https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/893#issuecomment-2427070370

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 https://github.com/w3c/manifest/issues/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 https://github.com/w3c/manifest/issues/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)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.