Skip to content

Local Storage gets deleted on iOS and iPadOS after Browser Restart #3182

Open
@fl-ing

Description

@fl-ing

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

  1. access via p5.js web editor on iOS or iPadOS on any browser: https://editor.p5js.org/fl-ing/sketches/G-4fSKqjH
  2. run it and tap a few times to store the score in local storage
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions