Canvas sync bug: single-note edit on mobile (offline) overwrites entire canvas on laptop

Bug Description:
When editing a single note inside a Canvas on mobile while offline, then syncing on laptop (online), Obsidian Sync replaces the entire Canvas file with the mobile version, losing all other notes/changes made on the laptop side.

Steps to Reproduce:

  1. Create/open a Canvas file on laptop (online).
  2. Add multiple notes inside the canvas (e.g., Note A, B, C).
  3. Open the same vault on mobile (Android).
  4. Turn off internet on mobile.
  5. Edit only Note A inside the canvas.
  6. Reconnect internet on mobile.
  7. Open Obsidian on laptop (already online).
  8. Result: The entire Canvas file is replaced with the mobile version, and Note B / C added on laptop are lost.

Expected Behavior:
Obsidian Sync should either:

  • Merge individual notes inside Canvas, or
  • Create a conflict copy of the Canvas file, not overwrite the whole file.

Environment:

  • Mobile: Android 14, Obsidian v1.5.12
  • Laptop: Windows 11, Obsidian v1.6.7
  • Sync: Obsidian Sync (paid)

Debug Info:
SYSTEM INFO:
Obsidian version: v1.8.10
Installer version: v1.5.12
Operating system: Windows 10 Pro 10.0.26100
Login status: logged in
Language: en
Catalyst license: none
Insider build toggle: off
Live preview: on
Base theme: adapt to system
Community theme: none
Snippets enabled: 0
Restricted mode: off
Plugins installed: 0
Plugins enabled: 0

RECOMMENDATIONS:
none

Additional Notes:
This only affects Canvas files (.canvas); regular markdown notes seem to handle conflicts correctly.

We are at 1.8.10 and don’t provide support for old obsidian versions.

I’ll try to repro tomorrow morning.

Sorry I have missed that, my laptop version is v1.8.10 and mobile version 1.8.10

I am unable to reproduce this problem.
Editing notes within a canvas does NOT change the .canvas file. So what you are describing is really strange.

Perhaps you meant “cards”, which are stored within the .canvas. That can create problems because we currently do not attempt to merge changes to .canvas files / nor create a .conflict.

I created a FR to track this