Skip to content

Feature Request: First-party multi-device vault sync #369

Description

@AviKaufman

Request

I would like an effortless, first-party multi-device sync workflow, comparable in usability to Joplin's sync setup. The end-user path should not require manually assembling Docker services, running Git commands, or configuring a third-party folder-sync tool.

The desired outcome is one vault available across Linux desktop and mobile, with clear authentication and setup, automatic background synchronization, offline editing, deterministic conflict handling, and visible recovery or error states.

ZenNotes already supports self-hosted remote workspaces. Issue #336 shows a current cross-client limitation: remote changes may require reopening a note to appear, while concurrent edits can overwrite one another. The external-storage request #189 and its GitHub-sync implementation PR #194 are also closely related. A Git-backed mechanism may be one backend, but this request is for a supported end-user workflow rather than a Git-specific implementation.

Practical acceptance criteria

  • Maintainers document a supported setup path for using one vault across Linux desktop and mobile.
  • Authentication, initial connection, sync status, and background-sync behavior are clear to the user.
  • Offline edits synchronize when connectivity returns without silent data loss.
  • Concurrent edits have deterministic conflict behavior, with recovery actions and actionable error visibility.
  • Credentials are protected, transport is secured, and secrets are not stored in plaintext.

This does not demand free hosted infrastructure. Hosted, self-hosted, or pluggable backends could all satisfy the request; the key ask is for maintainers to define and support the intended product path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions