Skip to content

V0.0.6#27

Merged
pnwmatt merged 38 commits intomainfrom
v0.0.6
Oct 15, 2025
Merged

V0.0.6#27
pnwmatt merged 38 commits intomainfrom
v0.0.6

Conversation

@pnwmatt
Copy link
Contributor

@pnwmatt pnwmatt commented Oct 15, 2025

This pull request introduces significant enhancements for automated synchronization and conflict handling in the SQLite rsync client, along with initial groundwork for future diff and merge capabilities. The most important changes are grouped below.

Automated Sync & Subscription Improvements

  • Added new flags (waitIdle, maxInterval, minInterval, merge) to support long-running automated PUSH and PULL operations, enabling more flexible and user-friendly subscription workflows in client/main.go. [1] [2]
  • Updated usage documentation and operation determination logic to clarify and support new subscription modes and auto-merge behavior. [1] [2] [3]

Duration Parsing & Validation

  • Implemented sync.ParseDuration and sync.ValidateWaitIdle to robustly parse and validate time intervals for automated sync triggers, supporting units up to weeks and enforcing sensible bounds.

Remote Client Protocol Enhancements

  • Added support for sending change notifications (SQLRSYNC_CHANGED) and tracking version conflicts, key types, and latest commit versions in client/remote/client.go, laying groundwork for future conflict detection and resolution. [1] [2] [3] [4] [5]

Interactive Key Handling

  • Improved interactive key prompt logic in subscription manager to better handle authorization failures and missing keys, streamlining user experience during first-time syncs. [1] [2]

Foundation for SQLite Diff/Merge

  • Added a new CGO bridge for SQLite diffing (bridge/cgo_sqldiff.go, bridge/sqldiff_wrapper.c, bridge/sqldiff_wrapper.h), providing an API to compare databases and detect conflicts, with placeholder implementation pending integration of full sqldiff.c. [1] [2] [3]

These changes collectively advance the client toward robust, automated, and conflict-aware synchronization, while preparing for future merge and diff features.

fix: create local secrets with o+rw
feat: after failed anon access, prompt for key
fix: if we should prompt OR it's a push, prompt
fix: create local secrets with o+rw
feat: after failed anon access, prompt for key
fix: if we should prompt OR it's a push, prompt
fix: create local secrets with o+rw
feat: after failed anon access, prompt for key
fix: if we should prompt OR it's a push, prompt
@pnwmatt pnwmatt merged commit 26a39ca into main Oct 15, 2025
8 checks passed
@pnwmatt pnwmatt deleted the v0.0.6 branch October 15, 2025 04:12
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