Skip to content

Feature request: Allow syncing of livesync settings, store device-specific settings in local storage #773

@dkbarn

Description

@dkbarn

By default, syncInternalFilesIgnorePatterns includes the /obsidian-livesync/ directory among the ignored patterns to ensure that the settings for the livesync plugin itself do not get synced across devices. My understanding is that this is necessary to avoid syncing secrets and device-specific fields in data.json (server tokens, device IDs, additionalSuffixOfDatabaseName, etc) which could break replication or leak credentials if copied between devices.

The problem is that the majority of livesync settings are safe to be replicated between devices, and in most cases this is what the user would want, including updates to the plugin itself. For someone with 3+ devices being replicated, it can get very tedious to update the version of the plugin and maintain tweaks to the settings when it must be done separately on each device.

It would be great if the livesync settings were segregated, so that any setting which is sensitive/device-specific is stored in a different location, such as Obsidian's local storage, allowing all the shared settings to live in /obsidian-livesync/data.json which can then be safely included in the hidden file sync.

For reference, this is exactly how the obsidian-git plugin handles things. It utilizes a localStorageSettings.ts, and then identifies the individual settings which should be excluded from sync by storing them in local storage, as demonstrated here.

I think this would greatly improve user experience and eliminate the error-prone and tedious burden of manually ensuring livesync settings are in agreement across devices.

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