Description
p5.js version
v1.9.5 // Web Editor: v2.13.4
What is your operating system?
iOS, iPadOS
Web browser and version
Chrome: 126.0.6478.54; Firefox 127.1 (42781); iPadOS 17.5.1
Actual Behavior
While using the p5.js web editor: When saving something in local storage using the storeItem([key], value) function, the local storage gets deleted on iOS and iPadOS after closing the browser. The type of browser does not matter. I've tried on Chrome, Firefox and Safari.
It should not be a problem with my privacy settings, because lokal storage on other Websites (like https://mdn.github.io/dom-examples/web-storage/ ) works fine, even after restarting the browser.
It also appears not to be a problem with my code, because the same code works fine on different browsers on Windows, Android AND macOS.
Expected Behavior
I would expect no different behaviour of persistent local storage on iOS and iPadOS.
Steps to reproduce
- access via p5.js web editor on iOS or iPadOS on any browser: https://editor.p5js.org/fl-ing/sketches/G-4fSKqjH
- run it and tap a few times to store the score in local storage
- restart the browser and run the scetch again
Probable Cause of the issue
After some research, I suspect that the issue arises due to the scetch being contained in an <iframe> Tag (preview.p5js.org) and the local storage object being stored in the browser under that subdomain. The local storage beeing cleared after a browser reset is likely a WebKit security measure to prevent third party tracking ("Intelligent Tracking Prevention" https://webkit.org/blog/7675/intelligent-tracking-prevention/). One solution could be to store and access the local storage object under the domain editor.p5js.org. But this exceeds the scope of my understanding.