From 798c3b937ead26c06e660a2aed2af4e2d108e2ce Mon Sep 17 00:00:00 2001 From: David Wertheimer Date: Thu, 30 Jul 2026 11:25:34 -0700 Subject: [PATCH] plugin.json: mark comment/divider entries with "type": "separator" Several plugin.json files use bare objects as visual section dividers, e.g. { "note": "================== DEBUGGING SETTINGS ========================" } These have no "key" (in plugin.settings) and no "jsFunction" (in plugin.commands), so anything walking those arrays has to infer "this is not a real entry" from an absence. Two things go wrong today: - updateSettingData() logs "plugin.settings[N] has no valid key; skipping" for every one of them on every settings update - the app throws on plugin.commands entries that have no jsFunction Marking them "type": "separator" gives both an explicit, positive signal to skip on, which is what the existing separator entries already use. 25 entries across 9 plugins (12 in plugin.settings, 13 in plugin.commands); no behaviour or setting values change. Deliberately NOT changed: np.Tidy plugin.settings[13] is a command object ("openCalendarNoteInSplit", with name/description/hidden/arguments) sitting in the settings array. Marking it a separator would hide a real mistake, so it is left for @jgclark to move to plugin.commands. No version bumps: this is metadata only, so each plugin can pick it up on its next release rather than forcing one now. Co-Authored-By: Claude Opus 5 (1M context) --- dbludeau.TodoistNoteplanSync/plugin.json | 12 ++++++++---- deleteme.testPluginDownload/plugin.json | 9 ++++++--- dwertheimer.Forms/plugin.json | 9 ++++++--- dwertheimer.TaskAutomations/plugin.json | 6 ++++-- dwertheimer.TaskSorting/plugin.json | 12 ++++++++---- np.CallbackURLs/plugin.json | 3 ++- np.TOC/plugin.json | 6 ++++-- shared.AI/plugin.json | 24 ++++++++++++++++-------- 8 files changed, 54 insertions(+), 27 deletions(-) diff --git a/dbludeau.TodoistNoteplanSync/plugin.json b/dbludeau.TodoistNoteplanSync/plugin.json index 401daba49..26dfdb305 100644 --- a/dbludeau.TodoistNoteplanSync/plugin.json +++ b/dbludeau.TodoistNoteplanSync/plugin.json @@ -18,7 +18,8 @@ "plugin.changelog": "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/NotePlan/plugins/blob/main/dbludeau.TodoistNoteplanSync/CHANGELOG.md", "plugin.commands": [ { - "note": "================== COMMMANDS ========================" + "note": "================== COMMMANDS ========================", + "type": "separator" }, { "name": "todoist sync everything", @@ -109,7 +110,8 @@ ], "plugin.settings": [ { - "note": "================== SETTINGS ========================" + "note": "================== SETTINGS ========================", + "type": "separator" }, { "COMMENT": "Plugin settings documentation: https://help.noteplan.co/article/123-plugin-configuration", @@ -185,7 +187,8 @@ "type": "separator" }, { - "note": "================== TODOIST TEAMS SETTINGS ========================" + "note": "================== TODOIST TEAMS SETTINGS ========================", + "type": "separator" }, { "type": "heading", @@ -206,7 +209,8 @@ "default": false }, { - "note": "================== DEBUGGING SETTINGS ========================" + "note": "================== DEBUGGING SETTINGS ========================", + "type": "separator" }, { "NOTE": "DO NOT CHANGE THE FOLLOWING SETTINGS; ADD YOUR SETTINGS ABOVE ^^^", diff --git a/deleteme.testPluginDownload/plugin.json b/deleteme.testPluginDownload/plugin.json index 4edee0019..bb578ae42 100644 --- a/deleteme.testPluginDownload/plugin.json +++ b/deleteme.testPluginDownload/plugin.json @@ -18,7 +18,8 @@ "commandMigrationMessage": "@eduard we are pretending commands from this plugin have been migrated to the Task Sorting plugin. You should click 'Yes' below. The plugin will install, but this script execution will crash, so you won't see anything after you click the 'Yes' button, though you can see the new plugin (Task Sorting) has been installed.", "plugin.commands": [ { - "note": "================== COMMMANDS ========================" + "note": "================== COMMMANDS ========================", + "type": "separator" }, { "name": "Test onInstallOrUpdate", @@ -28,7 +29,8 @@ ], "plugin.settings": [ { - "note": "================== SETTINGS ========================" + "note": "================== SETTINGS ========================", + "type": "separator" }, { "COMMENT": "Plugin settings documentation: https://help.noteplan.co/article/123-plugin-configuration", @@ -42,7 +44,8 @@ "COMMENT": "This is for use by the editSettings helper function. PluginID must match the plugin.id in the top of this file" }, { - "note": "================== DEBUGGING SETTINGS ========================" + "note": "================== DEBUGGING SETTINGS ========================", + "type": "separator" }, { "NOTE": "DO NOT CHANGE THE FOLLOWING SETTINGS; ADD YOUR SETTINGS ABOVE ^^^", diff --git a/dwertheimer.Forms/plugin.json b/dwertheimer.Forms/plugin.json index 712e6d783..a85345b6e 100644 --- a/dwertheimer.Forms/plugin.json +++ b/dwertheimer.Forms/plugin.json @@ -16,7 +16,8 @@ "plugin.changelog": "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/NotePlan/plugins/blob/main/dwertheimer.Forms/CHANGELOG.md", "plugin.commands": [ { - "note": "================== COMMMANDS ========================" + "note": "================== COMMMANDS ========================", + "type": "separator" }, { "name": "Open Template Form", @@ -170,7 +171,8 @@ ], "plugin.settings": [ { - "note": "================== SETTINGS ========================" + "note": "================== SETTINGS ========================", + "type": "separator" }, { "COMMENT": "Plugin settings documentation: https://help.noteplan.co/article/123-plugin-configuration", @@ -191,7 +193,8 @@ "default": true }, { - "note": "================== DEBUGGING SETTINGS ========================" + "note": "================== DEBUGGING SETTINGS ========================", + "type": "separator" }, { "NOTE": "DO NOT CHANGE THE FOLLOWING SETTINGS; ADD YOUR SETTINGS ABOVE ^^^", diff --git a/dwertheimer.TaskAutomations/plugin.json b/dwertheimer.TaskAutomations/plugin.json index 7f2b70836..79d7f7bca 100644 --- a/dwertheimer.TaskAutomations/plugin.json +++ b/dwertheimer.TaskAutomations/plugin.json @@ -275,7 +275,8 @@ }, { "DELETE_ME_IN_FUTURE": "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv", - "DELETE_ME_IN_FUTURE2": "Task Sorter settings to be removed in a future release" + "DELETE_ME_IN_FUTURE2": "Task Sorter settings to be removed in a future release", + "type": "separator" }, { "type": "separator" @@ -419,7 +420,8 @@ }, { "DELETE_ME_IN_FUTURE3": "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^", - "DELETE_ME_IN_FUTURE4": "Task Sorter settings to be removed in a future release" + "DELETE_ME_IN_FUTURE4": "Task Sorter settings to be removed in a future release", + "type": "separator" }, { "type": "separator" diff --git a/dwertheimer.TaskSorting/plugin.json b/dwertheimer.TaskSorting/plugin.json index 282d6806c..eee13ad7e 100644 --- a/dwertheimer.TaskSorting/plugin.json +++ b/dwertheimer.TaskSorting/plugin.json @@ -18,7 +18,8 @@ "plugin.changelog": "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/NotePlan/plugins/blob/main/dwertheimer.TaskSorting/CHANGELOG.md", "plugin.commands": [ { - "note": "================== COMMMANDS ========================" + "note": "================== COMMMANDS ========================", + "type": "separator" }, { "name": "Sort tasks on the page", @@ -195,7 +196,8 @@ ], "plugin.settings": [ { - "note": "================== SETTINGS ========================" + "note": "================== SETTINGS ========================", + "type": "separator" }, { "COMMENT": "Plugin settings documentation: https://help.noteplan.co/article/123-plugin-configuration", @@ -362,7 +364,8 @@ "required": true }, { - "note": "================== HEADING CUSTOMIZATION ========================" + "note": "================== HEADING CUSTOMIZATION ========================", + "type": "separator" }, { "type": "heading", @@ -433,7 +436,8 @@ "required": false }, { - "note": "================== DEBUGGING SETTINGS ========================" + "note": "================== DEBUGGING SETTINGS ========================", + "type": "separator" }, { "NOTE": "DO NOT CHANGE THE FOLLOWING SETTINGS; ADD YOUR SETTINGS ABOVE ^^^", diff --git a/np.CallbackURLs/plugin.json b/np.CallbackURLs/plugin.json index 5b6901537..682cb0c46 100644 --- a/np.CallbackURLs/plugin.json +++ b/np.CallbackURLs/plugin.json @@ -76,7 +76,8 @@ "required": true }, { - "note": "================== DEBUGGING SETTINGS ========================" + "note": "================== DEBUGGING SETTINGS ========================", + "type": "separator" }, { "NOTE": "DO NOT CHANGE THE FOLLOWING SETTINGS; ADD YOUR SETTINGS ABOVE ^^^", diff --git a/np.TOC/plugin.json b/np.TOC/plugin.json index 5d54a307a..f8dd5282f 100644 --- a/np.TOC/plugin.json +++ b/np.TOC/plugin.json @@ -14,7 +14,8 @@ "plugin.changelog": "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/NotePlan/plugins/blob/main/np.TOC/CHANGELOG.md", "plugin.commands": [ { - "note": "================== COMMMANDS ========================" + "note": "================== COMMMANDS ========================", + "type": "separator" }, { "name": "insert TOC", @@ -38,7 +39,8 @@ ], "plugin.settings": [ { - "note": "================== SETTINGS ========================" + "note": "================== SETTINGS ========================", + "type": "separator" }, { "COMMENT": "Plugin settings documentation: https://help.noteplan.co/article/123-plugin-configuration", diff --git a/shared.AI/plugin.json b/shared.AI/plugin.json index 0a7883044..2dbd29d53 100644 --- a/shared.AI/plugin.json +++ b/shared.AI/plugin.json @@ -15,7 +15,8 @@ "plugin.changelog": "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/NotePlan/plugins/blob/main/shared.AI/CHANGELOG.md", "plugin.commands": [ { - "note": "================== COMMMANDS ========================" + "note": "================== COMMMANDS ========================", + "type": "separator" }, { "name": "NotePlan AI: Check Version", @@ -23,7 +24,8 @@ "jsFunction": "versionCheck" }, { - "note": "************************************ CHAT ****************************************" + "note": "************************************ CHAT ****************************************", + "type": "separator" }, { "name": "NotePlan AI: Insert Chat", @@ -63,7 +65,8 @@ ] }, { - "note": "************************************ SUMMARIZE ****************************************" + "note": "************************************ SUMMARIZE ****************************************", + "type": "separator" }, { "name": "Summarize Note/Selection", @@ -73,7 +76,8 @@ "arguments": [] }, { - "note": "************************************ RESEARCH ****************************************" + "note": "************************************ RESEARCH ****************************************", + "type": "separator" }, { "name": "NotePlan AI: Research", @@ -127,7 +131,8 @@ "arguments": [] }, { - "note": "************************************ IMAGES ****************************************" + "note": "************************************ IMAGES ****************************************", + "type": "separator" }, { "name": "NotePlan AI: Images", @@ -140,7 +145,8 @@ "arguments": [] }, { - "note": "************************************ INTRO WIZARD ****************************************" + "note": "************************************ INTRO WIZARD ****************************************", + "type": "separator" }, { "name": "NotePlan AI: Update Plugin Settings", @@ -322,7 +328,8 @@ "arguments": [] }, { - "note": "************************************ UNUSED/DEPRECATED ****************************************" + "note": "************************************ UNUSED/DEPRECATED ****************************************", + "type": "separator" }, { "name": "OpenAI: Test Connection", @@ -336,7 +343,8 @@ ], "plugin.settings": [ { - "note": "================== SETTINGS ========================" + "note": "================== SETTINGS ========================", + "type": "separator" }, { "type": "hidden",