Skip to content

Safari: All state is lost after 7 days when no button interaction happens #6

@grork

Description

@grork

Due to the way that ITP (Intelligent Protection Tracking) works in Safari, all script accessible storage is purged. This means all the local-only content (Stored in localStorage) is removed. If the user interacts by clicking a button (E.g., show the add dialog or about dialog) reset.

Given the nature of this website, thats unlikely — you just visit, see the content, and then move on: You don’t interact.

To address this, we need to:

  • Add a call to StorageManager.persist(), ideally behind a Safari Browser check (it’s fine in Firefox & Chromium-based browsers)
  • Handle the promise failing, and displaying a warning massage saying they may lose content if permission is granted.
  • This should be isolated in a function or class that handles the persist logic only, mitigating it’s impact on the rest of the code base

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions