w3c / web-share

Web API proposal for sharing data from a web page
https://www.w3.org/TR/web-share/
Other
353 stars 65 forks source link

ios web share save file to camera roll only works once #271

Closed liorPiggy closed 1 year ago

liorPiggy commented 1 year ago

when using the web share api on mobile browsers (not native app) the web share api works as expected only until the 'save to camera roll' functionality is selected. when the dialog opens, all of the options including closing the dialog(cancelling the action) allow the button to open the dialog again, but when saving to the photo album the button is no longer optional and a promiseReactionJobWithoutPromise message appears on the console. Please see the following code sandbox to see the issue: https://codesandbox.io/s/restless-pine-g1fiqj?file=/src/useExport.js test case:

  1. click the 'click me' button, the dialog opens with an image.
  2. close the dialog without selection.
  3. click the button again, all works as expected.
  4. click save image.
  5. verify image is saved.
  6. try click the 'click me' button again.
  7. see the error in the console, web share api no longer works.

please let me know if more information is required

tomayac commented 1 year ago

This is not a spec issue, but, if at all, an implementation issue in Safari. I tried the described workflow on my device (iPad with version 15.7.3 (19H307)) and it worked. If the problem persists, file a WebKit bug, please. Go to https://bugs.webkit.org and add your OS version. Thanks.

liorPiggy commented 1 year ago

@tomayac This issue is occurring on chrome as well. also, is this working for you multiple times? are you able to open the dialog even after saving the image?

tomayac commented 1 year ago

Chrome on iOS uses WKWebView internally. Yes, it works multiple times. Please open a WebKit bug. I won’t be able to respond further here. Thanks.