Canvas: z-index order disrupted when loading large nodes

Steps to reproduce

  1. Create a new vault
  2. Create a new empty note
  3. Create a new canvas
  4. Drag the note onto the canvas and resize the node so that it almost fills the default canvas viewport, leaving some space on the left side (about a fifth of the viewport width)
  5. Duplicate the node on top of itself 10-15 times.
  6. Drag a new instance of the note onto the canvas and position it so that half of it overlaps the left edge of the stack of duplicated nodes.
  7. Close the canvas tab and re-open the canvas.

Expected result

The node we positioned to the left side should display on top of all the nodes in the stack, because it was on top when the canvas was closed.

Actual result

The node we positioned to the left side displays under some of the nodes which loaded later, despite being set to have a higher z-index.


  • Operating system:
    Windows 10 Home

  • Debug info:
    Obsidian version: v1.1.9
    Installer version: v0.15.8
    Operating system: Windows 10 Home 10.0.19045
    Login status: logged in
    Catalyst license: none
    Insider build toggle: off
    Live preview: on
    Legacy editor: off
    Base theme: dark
    Community theme: none
    Snippets enabled: 0
    Restricted mode: on


Additional information

The node stacking order can be corrected by manually modifying the .canvas file using a text editor, then saving while the canvas view is still open. I assume this is because it resets the node z-indexes without requiring the nodes to be reloaded.

Test node size (no viewport zoom)

Node positioned in front of stack

Result when canvas is reloaded