You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Sessions | Session metadata and history | ✅ Enabled |
55
-
| Messages | Conversation messages and parts |❌ Disabled*|
55
+
| Messages | Conversation messages and parts |✅ Enabled|
56
56
| Projects | Project configurations | ✅ Enabled |
57
57
| Todos | Task lists and session diffs | ✅ Enabled |
58
58
59
-
*Messages sync is disabled by default because it can be very large (8MB+). Enable it in config if needed.
60
-
61
59
## How It Works
62
60
63
61
### Vector Clocks for Conflict Detection
@@ -154,33 +152,38 @@ On subsequent runs:
154
152
"repoName": ".opencode-sync",
155
153
"autoSyncOnStartup": true,
156
154
"continuousSync": true,
157
-
"syncIntervalMinutes": 1,
155
+
"syncIntervalMinutes": 5,
156
+
"fileWatcherDebounceMs": 5000,
157
+
"maxDebounceMs": 30000,
158
158
"sync": {
159
159
"config": true,
160
160
"state": true,
161
161
"credentials": true,
162
162
"sessions": true,
163
-
"messages": false,
163
+
"messages": true,
164
164
"projects": true,
165
165
"todos": true
166
166
},
167
167
"conflictStrategy": "auto-merge"
168
168
}
169
169
```
170
170
171
-
**Note:**`messages` is `false`by default because conversation history can be very large (8MB+). Set to `true` if you want to sync messages across machines.
171
+
**Note:**All categories are enabled by default. Disable `messages` if you have very large conversation history (8MB+) and want to reduce sync size.
172
172
173
173
## Sync Timing
174
174
175
-
The plugin syncs at these times:
175
+
The plugin uses **activity-aware batching** to prevent excessive syncs during heavy IO:
176
+
177
+
| Trigger | Default | Description |
178
+
|---------|---------|-------------|
179
+
|**Startup**| Enabled | Immediately when OpenCode starts |
180
+
|**File Changes**| 5s debounce | Wait for inactivity before syncing |
181
+
|**Max Delay**| 30s cap | Force sync even during heavy activity |
182
+
|**Interval**| 5 minutes | Periodic sync regardless of changes |
176
183
177
-
| Trigger | When |
178
-
|---------|------|
179
-
|**Startup**| Immediately when OpenCode starts |
180
-
|**File Changes**| 2 seconds after local OpenCode files change |
181
-
|**Interval**| Every 1 minute (configurable) |
184
+
During heavy activity, syncs are batched and fire at most every 30 seconds.
182
185
183
-
This is **not realtime** - there's typically a 1-60 second delay depending on when changes occur.
186
+
See [docs/SYNC.md](docs/SYNC.md) for detailed architecture documentation.
0 commit comments