For Safari 15 on iOS this appears to be very unreliable. The onInstalled is not consistently invoked and in repeated tests it only occasionally runs. It's almost like the background page is being terminated before the onInstalled handler finishes. Perhaps related to async calls.
Topic:
Safari & Web
SubTopic:
General
Tags: