Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handling of UUID_KEY doesn't account for cloned systems #568

Open
mattstevens opened this issue May 12, 2017 · 0 comments
Open

Handling of UUID_KEY doesn't account for cloned systems #568

mattstevens opened this issue May 12, 2017 · 0 comments

Comments

@mattstevens
Copy link
Contributor

Problem scenario:

  1. A user sets up Simplenote on their Mac.
  2. The user later purchases an additional Mac and uses Migration Assistant to transfer data from the other Mac.
  3. The user continues to use Simplenote on both Macs.

This results in two installations with the same value for SPUUIDKey. For me this caused sync issues such as notes sometimes getting "stuck" and no longer updating, and even the appearance of data loss as updating a note without realizing it had not synced changes from the other machine resulted in changes previously made on the other machine being discarded in the current revision.

This situation can be caused by any scenario that results in the Simplenote sandbox container being copied to another system. It's possible this an issue on iOS as well if a user sets up a new device with a backup of an old one and then continues to use the old device as well as the new one.

One potential solution is to store the preference using CFPreferencesSetValue(key, value, kCFPreferencesCurrentApplication, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost). This stores the value in a machine-specific preferences domain such that if the container directory is copied to a different machine the value of UUID_KEY would be nil on the new machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant