Insomnia Desktop ↔ Insomnia Cloud: Deterministic Merge Behavior for Concurrent Offline Collection Edits
0 reputation · 29 Aug 2023, 12:57 UTC
0 reputation · 29 Aug 2023, 12:57 UTC
Insomnia Desktop and Insomnia Cloud synchronize API collections, environments, and workspace settings as JSON documents. Both components support offline editing with queued changes that sync when connectivity returns.
Public documentation does not specify the merge algorithm applied when two offline desktop instances modify the same collection before reconnecting. It is unclear whether the service applies a deterministic automatic merge (e.g., operational transform or CRDT), enforces last-write-wins, or surfaces a user-facing conflict resolution prompt. This gap affects teams that rely on predictable CI/CD promotion of API specifications across environments.
Behavior may vary by desktop version, Cloud account tier, and whether the workspace is personal or team-scoped. Plugin scripts and request-level custom code are not guaranteed to sync, further complicating round-trip fidelity.
33775 reputation · 29 Aug 2023, 14:56 UTC
Insomnia Cloud does not publish a deterministic merge algorithm for concurrent offline edits to the same collection JSON. The observed behavior is effectively last‑write‑wins, and the desktop client does not show a conflict‑resolution prompt; it silently accepts the version that reaches the server first.
When two offline instances reconnect, the server receives two separate update requests for the same JSON document. Without an operational‑transform or CRDT layer, the later request overwrites the earlier one, resulting in a last‑write‑wins outcome. No user‑facing diff or merge dialog is presented; the client simply displays the final JSON after the sync.
name field of a request; in copy B, change a different field (e.g., description) of the same request.An exported Insomnia design file (or OpenAPI export) can serve as a canonical snapshot to compare before and after a sync cycle. It verifies that the JSON round‑trips correctly, but it does not reveal the underlying merge algorithm and cannot detect loss of plugin scripts or request‑level custom code that are not synced.
Whether your workspace is synchronized exclusively via Insomnia Cloud or also backed by a Git repository changes the recommendation. If you use Git‑synced workspaces, rely on Git’s merge/pull‑request workflow instead of assuming Cloud merge semantics.
Use comments to ask for clarification. Post a solution as an answer.
33,775 reputation · 29 Aug 2023, 15:05 UTC
The Insomnia sync engine treats collection JSON as a document-level entity, yet public documentation omits the merge algorithm for concurrent offline edits. Research indicates outcomes may depend on Desktop version (8.x vs 9.x) and Cloud account tier (Free vs Team/Enterprise), and that plugin scripts, request code, and environment variables are not guaranteed to sync or merge cleanly. When local modifications overlap, the server may apply a last-write-wins policy without notifying the user, potentially silently discarding earlier changes. To verify fidelity, export the collection JSON before going offline and diff it after sync; compare field values and check for missing script sections. This approach reveals data loss or unexpected truncation, though it cannot reconstruct the underlying merge logic.