Accessing extension url from iCloud

Hello,

I have an extension that will do some processing on a website chosen by the user and then it will show a report in an extension's internal page, eg.:


safari-extension://2CB967-22BA-44F3-B604-72611F/aafefbf/report.html?domain=wikipedia.org&tm=1600000000


There are 2 problems with this approach:
  1. If the user closes Safari, the next time they will open it (and Safari is set to open the previous session tabs), the extension's internal page will have its parameters stripped, it will open like this:

safari-extension://1KP84U-KO31-00L1-M133-032P11/ksleif/report.html

Notice the lack of query parameters. The extension's baseURI change is expected and is not an issue since Safari 14 updates the baseURI of the tab with the new baseURI of the extension

  1. If the user tries to open that report url in an iPhone or iPad, the page will fail to load as it is an extension's internal page.



For point 1. I believe this is a bug? I've filled a report: FB8176693

For point 2. I have tried the following:
  • Instead of using an extension's internal page, I encoded the full report's HTML and display in in data URI, eg.:

Code Block HTML
data:text/html;charset=UTF-8,<span onclick=%22alert(%27test%27);%22>Hello</span>

But iOS will not show any tabs from iCloud open that use the data protocol(?)
  • iOS app that register's the safari-extension:// protocol. But I'm sure that would never get approved

I guess it's also possible to open the report in my own website, but that would be a major privacy issue. Something that neither me nor my users would not feel comfortable with.

Are there any other options? I feel like I hit a wall



This is indeed a bug. Thanks for the feedback report!
Accessing extension url from iCloud
 
 
Q