For Obsidian to work correctly, the folder name in .obsidian/plugins must match the id in manifest.json. Without this, methods such as onExternalSettingsChange won't be called. However, this requirement isn't mentioned anywhere in the Obsidian documentation (neither on the Manifest page nor the onExternalSettingsChange page).
Why this is a problem:
- Many people name their GitHub repositories with the word "obsidian" for organizational purposes, but Obsidian discourages including "obsidian" in the
id. So, if such a repository is cloned, onExternalSettingsChange won't work.
- The Build a plugin guide doesn't include a "rename folder" step, so new developers like me struggle to understand why methods such as
onExternalSettingsChange don't work (Discord question).
Solutions:
- Update the documentation to include a "rename folder" step in the Build a Plugin guide and add this information to the Manifest and
onExternalSettingsChange pages.
- Alternatively, changes could be made to Obsidian's code to address this issue, but that seems more complex and unnecessary.
For Obsidian to work correctly, the folder name in
.obsidian/pluginsmust match theidinmanifest.json. Without this, methods such asonExternalSettingsChangewon't be called. However, this requirement isn't mentioned anywhere in the Obsidian documentation (neither on the Manifest page nor the onExternalSettingsChange page).Why this is a problem:
id. So, if such a repository is cloned,onExternalSettingsChangewon't work.onExternalSettingsChangedon't work (Discord question).Solutions:
onExternalSettingsChangepages.