Skip to content

Add WebDAV remote store for sync with profile management and tests - #65

Merged
ultraelectronica merged 8 commits into
mainfrom
versionF
Aug 2, 2026
Merged

Add WebDAV remote store for sync with profile management and tests#65
ultraelectronica merged 8 commits into
mainfrom
versionF

Conversation

@ultraelectronica

Copy link
Copy Markdown
Member

Summary

Adds a WebDAV implementation of the RemoteStore interface for syncing via content-addressed blobs and encrypted manifests, along with a SyncProfileService for secure profile CRUD.

Changes

WebDAV Store

  • Add webdav_client dependency
  • Add WebDAV remote store implementation (connection testing, blob read/write/delete, recursive directory listing, graceful null-on-missing)
  • Content-addressed blobs and encrypted manifest are the only objects the server sees

Sync

  • Add manifestName constant to RemoteStore
  • Refactor sync service to use RemoteStore.manifestName constant

Profile Management

  • Add SyncProfileService for secure profile CRUD
  • Extract password storage key logic into static method

Testing

  • Add WebDAVStore and SyncProfile tests

Remove hardcoded manifest name string in favor of the centralized
constant in RemoteStore, eliminating duplication and ensuring
consistency across the codebase.
Implements `RemoteStore` using `webdav_client` for dumb blob storage.
Content-addressed blobs and encrypted manifest are the only objects the
server sees. Includes connection testing, read/write/delete for blobs
and manifest, recursive directory listing, and graceful null-on-missing
behavior.
@ultraelectronica ultraelectronica self-assigned this Aug 2, 2026
@ultraelectronica
ultraelectronica merged commit b3874ed into main Aug 2, 2026
1 check passed
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

Successfully merging this pull request may close these issues.

1 participant