Commit 372142a
committed
Add tag metadata snapshot sync
Introduce end-to-end support for syncing tag metadata (pinned/icon) via encrypted Nostr snapshots. Adds a new comet_tag_metadata_snapshot adapter for payload (de)serialization and encryption, a tag_metadata_apply service to apply/merge incoming snapshots and reapply stored payloads, and a push_tag_metadata_snapshot flow to publish local metadata with vector clock handling. Integrates tag metadata into the snapshot sync connection and bootstrap process, adds a SyncCommand::PushTagMetadata path and UI command set_tag_icon that marks metadata locally modified and advances the vector clock. Updates SQLite schema/migrations and note repository to persist tag icons, stores vector clock and stored payload in app_settings, and includes tests for the new behavior. This ensures pinned/icon metadata is consistently synchronized and re-applied when tags are created during bootstrap.1 parent f7a602f commit 372142a
22 files changed
Lines changed: 1239 additions & 42 deletions
File tree
- app
- src-tauri/src
- adapters
- nostr
- sqlite
- commands
- domain
- notes
- sync
- ports
- src
- features
- shell/hooks
- sidebar-pane/lib
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
82 | | - | |
| 82 | + | |
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
| 86 | + | |
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| |||
251 | 251 | | |
252 | 252 | | |
253 | 253 | | |
254 | | - | |
255 | | - | |
256 | | - | |
| 254 | + | |
| 255 | + | |
257 | 256 | | |
258 | 257 | | |
259 | 258 | | |
| |||
268 | 267 | | |
269 | 268 | | |
270 | 269 | | |
271 | | - | |
| 270 | + | |
272 | 271 | | |
273 | 272 | | |
274 | 273 | | |
| |||
362 | 361 | | |
363 | 362 | | |
364 | 363 | | |
365 | | - | |
| 364 | + | |
366 | 365 | | |
367 | 366 | | |
368 | 367 | | |
| |||
0 commit comments