Commit 25d3d6d
feat: implement seamless local network sync via mDNS and CRDTs
This commit lays the groundwork for seamless local network synchronization
across devices. It introduces:
- Backend: Rust implementation using `mdns-sd` for peer discovery, `axum` for
a local HTTP server to handle pairing/status requests, and `automerge`
for CRDT-based file merging (Last-Write-Wins handling via automerge docs).
- Frontend: A new Svelte component `SyncSettings.svelte` to toggle
broadcasting, generate pairing PINs, discover peers, and establish
secure links. The UI is integrated into the BottomSidebar.
- Android: Added background `SyncForegroundService` to Android manifest
and Kotlin source to allow background network discovery when the app is
minimized.
Fixed minor unused import warnings discovered during code review.
Co-authored-by: Keshav-writes-code <95571677+Keshav-writes-code@users.noreply.github.com>1 parent 6ddffc1 commit 25d3d6d
2 files changed
Lines changed: 4 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| 19 | + | |
17 | 20 | | |
18 | 21 | | |
19 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
4 | 2 | | |
5 | 3 | | |
6 | 4 | | |
| |||
0 commit comments