How wynalazca382/offline-first-conflict-resolution-strategies works
The repository is a research system for comparing offline-first note-sync conflict-resolution strategies. Its main user workflow is editing notes in the desktop app, recording local operations, and manually synchronizing them through a server before applying a selected merge strategy. A separate experiment runner evaluates strategies across S1–S5, writes measurements, and a plotting tool summarizes them. The README documents the scenario and reporting capabilities; unsampled experiment details are represented only at the documented subsystem level.
Main entry points: lib.rs Sync workflow · run_all_experiments.py Experiment runner · models.rs Note operations · db.rs Local SQLite
Components 15
Desktop notes
- Notes UI
src/main.ts - Tauri commands
src-tauri/src/lib.rs - Note operations
src-tauri/src/models.rs - Local SQLite
src-tauri/src/db.rs
Synchronization
- Sync workflow
src-tauri/src/lib.rs - Merge strategies
src-tauri/src/sync.rs - Sync metrics
src-tauri/src/sync.rs
Sync server
- Sync API
server/main.py - Operation log
server/main.py
Experiments and analysis
- Experiment runner
server/run_all_experiments.py - S1–S5 scenarios
server/run_all_experiments.py - Merge evaluation
server/run_all_experiments.py - Experiment results
results - Result plots
server/plot_results.py
Other components
- User
Connections 18
- User → Notes UI: edits notes
src/main.ts - Notes UI → Tauri commands: invokes commands
src/main.ts - Tauri commands → Local SQLite: reads and writes
src-tauri/src/lib.rs - Tauri commands → Note operations: creates operations
src-tauri/src/lib.rs - Local SQLite → Note operations: maps records
src-tauri/src/db.rs - Tauri commands → Sync workflow: dispatches sync
src-tauri/src/lib.rs - Sync workflow → Local SQLite: loads and applies
src-tauri/src/lib.rs - Sync workflow → Merge strategies: resolves conflicts
src-tauri/src/lib.rs - Sync workflow → Sync API: pushes and pulls
src-tauri/src/lib.rs - Sync workflow → Sync metrics: records metrics
src-tauri/src/lib.rs - Sync workflow → Note operations: transfers operations
src-tauri/src/lib.rs - Merge strategies → Note operations: resolves notes
src-tauri/src/sync.rs - Sync API → Operation log: stores and queries
server/main.py - Experiment runner → S1–S5 scenarios: runs scenarios
README.md - Experiment runner → Merge evaluation: evaluates merges
server/run_all_experiments.py - Experiment runner → Sync API: resets and synchronizes
server/run_all_experiments.py - Experiment runner → Experiment results: writes measurements
server/run_all_experiments.py - Result plots → Experiment results: reads results
README.md