MSEdgeExplainers icon indicating copy to clipboard operation
MSEdgeExplainers copied to clipboard

[Web Install] Require manifest_id

Open dmurph opened this issue 2 years ago • 4 comments

Writing down feedback here from our last chat:

Not requiring the manifest id introduces the edge case where the developer calls the API before they add the manifest link tag. In an effort to ensure a non-flaky platform, I'd rather have the manifest_id always included, and if there is a mismatch then the API can error appropriately.

dmurph avatar Jan 30 '24 19:01 dmurph

The cross-origin explainer has been updated to require both a manifest_id and an install_url, but we still want to keep the option to install with no args for same-domain installs since, according to MDN docs, Safari doesn't support the manifest_id property in the manifest, and requiring this as a parameter would be counterproductive for gaining traction on another engine.

amandabaker avatar Feb 15 '24 23:02 amandabaker

I'm still against the same-origin install not providing a manifest_id, and introduces potential flakiness of the API, as it's not uncommon for developers to add the manifest rel-link programatically, which can cause ordering issues.

@marcoscaceres to prevent this API from being flaky would it be reasonable for WebKit to support parsing the manifest id for this API?

dmurph avatar Apr 23 '24 17:04 dmurph

I had a long chat with Reilly who helped me reason about this - I think this is ok for same-site installs assuming the API requires installability / it doesn't just use the default manifest. Optional works to help the developer confirm it's the right app, if they want.

dmurph avatar Apr 24 '24 19:04 dmurph

Given apple wants to have no restrictions on install (e.g. no manifest required), I'll re-open this. I created a doc: https://bit.ly/navigator-install-and-manifest-identity

dmurph avatar Jun 07 '24 22:06 dmurph