The order of community plugins loading can affect the plugins' behavior

Yes, I know this problem IS about third-party plugins, but since this looks like it’s the plugins order in community-plugins.json causing the problem, so I was still suggested to post this here too.

The bug has also been reported to the developer of the plugins already.

I found out this problem while using the Admonitions plugin and the Dice Roller plugin, both are made by Jeremy Valentine.
For a bit of context, the Admonitions plugin can add a bunch of markdown-formatted text blocks to the preview, and is really useful when formatting text; and the Dice Roller adds dice rolls to the notes through the format of dice: XdX, and can be useful when doing TRPGS.

Steps to reproduce

Turn off Safe Mode;

Download, install and enable both plugins from the community plugins menu.
This should result in obsidian-dice-roller and obsidian-admonition appear in community-plugins.json, in any order.

Expected result

My point is, the order of the plugins in the community-plugins.json should not affect the plugins themselves.
So when inserting

`dice: 1d100`

to a note, it is expected to show this:

Actual result

However, the above expected result only appears if community-plugins.json loads the plugins as[ "obsidian-admonition", "obsidian-dice-roller" ].

If I then reverse the order to [ "obsidian-dice-roller", "obsidian-admonition" ] and reload the vault, this came out instead.

The problem is, Obsidian adds plugins to community-plugins.json in the order of the user enabling them, but you cannot tell the difference inside the settings.

You have to manually open the json file to see if anything is wrong.


  • Operating system: Windows 10 and Android 10.
  • Obsidian version: 0.12.15 on PC and 1.0.4 on Android.

Additional information

I just don't feel like this is the intended behavior. It can happen to 2 simple plugins, so there also is possibility that this will happen to other plugins as well.

this is something that Admonitions should handle, obsidian ignores everything inside ```ad-note