Steps to reproduce
-
In a vault with the Canvas core plugin enabled, create a note
target.md. -
Settings → Core plugins: turn Canvas off, then on again.
-
Create a new canvas, add a text card containing
[[target]]. -
Open the Developer Console and run:
app.metadataCache.resolvedLinks['<new canvas path>.canvas']Or open the Backlinks / graph for
target.md.
Did you follow the troubleshooting guide?
Yes - reproduced in a fresh vault with no community plugins enabled.
Expected result
The new canvas resolves its link: { "target.md": 1 }, and target.md shows the canvas as a backlink, as it does for canvases created before the toggle.
Actual result
undefined - the new canvas never gets a resolvedLinks entry until Obsidian is restarted.
The cause appears to be the canvas index: app.internalPlugins.getPluginById('canvas').instance.index._loaded is true before the toggle and false after it, and it is the same object. Disabling unloads it; enabling does not load it again, so its vault handlers are never re-registered. Running app.internalPlugins.getPluginById('canvas').instance.index.load() after the re-enable restores resolution.
Environment
- Obsidian 1.14.2 (installer 1.13.7)
- Windows 11