Notes - Project Install sync

23 views
Skip to first unread message

Lia Hiscock

unread,
Nov 20, 2025, 1:54:58 PM11/20/25
to pwa-dev, mk...@google.com
Full agenda, notes, and our live design discussions can be found here --

Going forward this series will occur every other Thursday at 9am PST, with the next occurrence on December 4.

11/20 attendees

Notes 

Mike - We’ve already solved the same origin case; can we ship it fast while we iterate on cross origin?
  • Alex – sees no value in shipping same <install> origin alone
  • Let’s de-risk the hardest part → cross origin
  • Same origin will naturally fall out of working on cross origin
  • Vince - FWIW Google partners are also mostly interested in cross origin
  • Group agreement – move forward with OT/shipping both

msft - Does <install> need both installurl and manifesturl attributes?
  • See design doc section, What attributes should <install> have?
  • if manifesturl only,
    • Manifest could be on a different origin than the content to install. In that case we’d need to grab start_url from the manifest, load the document in the background, and verify it links back to the manifest to avoid spoof risk
  • Generally – Need a way in the button to handle checking if we accept install of this origin
  • Consider finding a new resource that we can request to get what we want without a whole page load
  • Current thoughts -- if we go the MVP route of a basic "Install" element, with attributes that directly correspond to navigator.install's parameters, the decision about which attributes to include could be beneficial ambiguity.
    • ie. Browser vendors can decide what information they require to meet their own security needs. Possibly provided that some baseline security criteria is met.

Mkwst – What is the simplest proposal for <install> to get to OT fastest?
  • Goal -- Turn in the smallest and simplest version to WICG
  • Proposal -- Redefine the “manifest” attribute as a general “installurl” attribute
    • Would likely still need an optional manifestid attribute for data validation
    • Open Q – Is it possible to only take manifesturl if we’re not rendering custom info in the element
  • Simple button with string “Install” and an icon we know means install → same complexity as navigator.install
    • Button hooks directly into the web install service impl
    • Rob – does this put more of a burden on the install dialog? Making sure it gives the right signal
      • Mike - yes
    • Alex – suggests reengaging with Serena, possibility for post-install IPH here
      • Figure out what’s minimally acceptable - can you help us reduce the potential risk
      • And document that we’d like to have less friction wherever we can
  • We’re aiming to move forward with this plan.

Vince – partners may need specialized styling for product-specific landing page buttons (ie. get from play store, get from app store, etc)
  • How can <install> fit stylistically/brand-wise?
  • Option 1 – Allow more granular styling of <install>
    • Mkwst – It’s likely the current styling restrictions are tighter than they need to be, but the goal is getting <geolocation> out the door to get feedback on styling needs.
      • Suggests starting small that satisfies at least a subset of developers and keep being open on feedback.
  • Option 2 – Provide premade elements / “get your badge” functionality, like https://chromeos.dev/en/add-to-chromebook-badge
  • Difficult to control the message/intent/signal to users in an element
  • Worries about branded mechanisms. We could use branded mechanism to guide to a landing page
  • Is the element going to be sufficient for our partners to show?
  • Fallback content/considered alternative <a target=”foo.com”>
  • We'd like to table this for now. These are definitely important concerns but are tangential to our current goal of publishing an explainer with an MVP of a declarative entry point to the current navigator.install service implementation.

Daniel Murphy

unread,
Nov 25, 2025, 1:22:57 PM11/25/25
to Lia Hiscock, pwa-dev, mk...@google.com
Thanks for sending out notes! One thought for manifest_url only install - This seems maybe OK if we require the manifest is same-origin as the start_url. Most manifests we see satisfy this. I could see this simplifying the cross-origin install, although the tradeoff is potentially stale manifest urls.

--
You received this message because you are subscribed to the Google Groups "pwa-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pwa-dev+u...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/pwa-dev/1e014deb-35fb-4880-b799-75ee7aaa3aa7n%40chromium.org.

Lia Hiscock

unread,
Nov 26, 2025, 12:55:26 AM11/26/25
to pwa-dev, Daniel Murphy, pwa-dev, mk...@google.com, Lia Hiscock
Hey Dan -- Thanks for the suggestion! We briefly touched on this towards the end of the meeting (notes), although we were operating under the assumption that cross origin manifests were common enough. It's a bit late in the week to catch up now, but we have a sync scheduled for next Thursday and can chat more then.

I've also updated mkwst's original proposal to reflect what was discussed at the meeting. Feel free to leave comments!
Lia

Lia Hiscock

unread,
Dec 4, 2025, 5:02:45 PM12/4/25
to pwa-dev, Lia Hiscock, Daniel Murphy, pwa-dev, mk...@google.com
Action items from today's sync
  • unchecked

    Mkwst – spec work. Extracting shared parts from the original PEPC explainer into something reusable for geolocation/install. No plans to touch <install> implementation.

    • unchecked

      Dmurph to help review

  • unchecked

    Dmurph – check in on google partners status – testing? Need help?

  • unchecked

    Lia/Kristin – start fixing up <install> bugs

  • unchecked

    Lia – update proposal. Drive consensus on manifesturl, manifestid discussions

    • Dmurph can consult on manifesturl install


Attendees: Lia Hiscock krist...@microsoft.com mk...@google.com lu...@microsoft.com  dmu...@google.com

(I'm having issues pasting, but full notes can be found here --  Project Install - Google Docs)

Lia Hiscock

unread,
Feb 12, 2026, 2:20:15 PM (12 days ago) Feb 12
to pwa-dev, Lia Hiscock, Daniel Murphy, pwa-dev, mk...@google.com
Notes from 2/12 sync

OT is getting usage and feedback for navigator.install. MSFT needs to publish feedback & iterate. element is still under development, but the core functionality should be working (behind a flag). Cross-browser spec collaboration is [occurring](https://lists.w3.org/Archives/Public/public-webapps/2026JanMar/0012.html) with typical stop-energy from Apple, supported by Google/dmurph@. Blocker of install UX improvements being worked on by Google now. #topline


  • Done: navigator.install: API in OT, explainer, spec PR. <install> element: Impl complete, OT requesting soon for 147 to 152, spec WIP, UX approval.

  • Remaining: API OT feedback report, proposed changes, etc (e.g. determining the best cross-origin install support, manifest file vs install_url). <install> impl + spec.

  • Blockers: Install dialog refresh likely blocking shipping (b/380497638)

  • Expected completion: navigator.install 143-148,  <install> element: 2026Q2




Notes

  • Progress check ins

    • Missed the 146 branch. On track for code complete in 147.

    • Engineering work – 2 outstanding CLs

    • Requested security and privacy reviews yesterday (2/11)

    • Permission element spec updates?

      • (also as an aside, what should we call ourselves/these elements? “PEPC” seems to be confusing at best, and negative at worst, most recently during the web app manifest spec meeting last week)

      • Internally, permissions team trying to come up with something “coke” related – contextual “capability element”??

      • Mike: Get away from PEPC - capability element. Better reflection of what we are aiming for these days.

    • Are we still expecting a shared spec/bit of information for shared functionality?

      • Ask for what is useful to us (MSFT)

      • goal - there are spec questions, like Thomas about how to handle data errors. We were under impressions about shared functionality.

        • spec from scratch?

        • Mike: I would like to find a way of writing document that creates the least amount of controversy and strife within broad set of folks that have interest in this topic area

          • if there is an agreement, especially with google/mozilla - it would be helpful to know if it is more or less incendiary with the set of things we have implemented, vs the set of things that have been discussed and agreed upon in a broader sense.

        • Limin: meeting - didn't talk about mixin stuff too much. earlier - firefox people said nervous about mixin, not sure about pepc perspective. We have to define the permission model for this regardless, not sure if we can avoid it

        • Mike - I would remove term 'permission', as we are not talking about that. this is a capability, a policy controlled feature. the state of that policy controlled feature will have an implication for the state of the element.

          • e.g. policy will say installation is/is not availabe in this element

        • Dan – Apple and Mozilla are giving stop energy just out of time limitations for looking at docs/specs. Would be most beneficial just to have some “complete” documentation, even if it’s just for what we’re doing for the install element. We shouldn’t feel limited by Apple/Mozilla consensus to publish stuff in our current WICG proposal

          • Still trying to get clarity on whether other vendors care about our (Chromium) use cases. Other vendors are either confused or opposed to “PEPC”

          • Write the spec in a way that doesn’t have strong requirements, but should have hand wavey requirements

        • Mike – value of an element is 1-strong user signal 2-easily understandable. Permission team came up with the current html_permission_element behavior/restrictions, they may be too strong

        • Dan – for example, “the user agent may choose to restrict clicks if…” and then have a non-normative list of these decisions

          • Mike – may not be well received by developers.

          • Mike – necessary to document what chromium is doing

      • Html_permission_element is going away, but when?

        • Mike – unknown…there were partners still using <permission>

      • Mike – chromium has an implementation, we expect to learn from it once it’s in the wild, which can inform what we bring back to the community standardize.. our initial set of restrictions is wrong, and likely too restrictive - but that is because it's harder to add more vs loosening.

      • martin thompson said (chatting with Alex) - element - gives way more flexibility to control and user agents to have control. It's not so much restriction as opportunity space. easier to 'hand out' in some ways. the lack of restrictions makes it easier to do - lets us change our mind over time with less breakage to pages.

        • so instead of saying restrictions, we can say it has a lot of values because we can be slightly wrong, and then change things

        • mike - styling restrictions gives us stronger signal of user intent. be the thing the user sees

          • if the devs can override all of it, then it has less meaning. Restrictions are valuable in themselves - we should get rid of all restrictions that don't give us more confidence that the user knows what they are clicking on.

  • Next up

    • MSFT during OT

      • Fix dialog spoofing security bug

      • Restart into installing by manifest design/prototyping

      • Start wading through our followup bugs. Notably, 

        • Long term solution for error handling

        • Improving unit testability

        • Surfacing user cancellation message

    • Should Thomas be looped into conversations moving forward? And/or should we assume he’ll be our primary reviewer, and have Mike primarily be the owner +1?

      • Mike – thomas good person to review the infrastructure. he/his team will be responsible for maintenance

    • Dan – make sure to accumulate developer feedback around successes, problems, problems already fixed. Very helpful for TAG folks.

      • Publish if we can – public google doc, markdown, whatever

      • Chat is interested in cross origin,same site (mail.google.com and chat.google.com) (not launched yet please don't share) Wants to also know if their site is installed (gIRA)


  • If time – clarification on CHECKing runtime flag vs base::feature flag

    • https://chromium-review.googlesource.com/c/chromium/src/+/7496748

    • Both base::Feature flags are if checked in chrome_browser_interface_binders

      • Will kill a compromised renderer with BAD MESSAGE RECEIVED – no binding found

    • navigator_web_install CHECKs base::feature flag

      • Added when we enabled the base::feature by default for n.i() OT

      • Verifies kill switch behavior?

    • Html_install_element (also geolocation, usermedia) CHECK runtime flag in constructor

    • Web_install_service_impl

    • Main point of base::feature is to access status outside of blink

      • Send mail to Thomas and Balazs, possible we dont’ need as many browser side checks anymore now that geolocation has shipped

  • example: https://github.com/WICG/manifest-incubations/blob/gh-pages/pwa-migration-explainer.md


Action items

  • unchecked

    Mike – get timeline clarity from Thomas on <permission> deprecation

  • unchecked

    Mike - will start an updated doc and share with the rest to collaborate

  • checked

    Lia - check progress at top

  • unchecked

    Kristin/Lia/Limin - Look into creating a public partner feedback doc

    • unchecked

      Publish use cases somewhere public

      • unchecked

        Can be explainer, can be copy/pasted from n.i()

      • unchecked

        If partner names can be listed, great, otherwise redact

  • Lia – Figure out meeting logistics so we can get AI transcription. Either transfer ownership to Dan, or remake as a teams meeting


Reply all
Reply to author
Forward
0 new messages