Skip to content

Metabind 1.4.10 Breaks Button Templates Implementation #664

@rchaklashiya

Description

@rchaklashiya

Please fill out these Check-boxes

  • I checked for existing similar issues
  • I checked that the plugin is up to date
  • The issue persists with all other plugins and themes disabled

Plugin Version

1.4.10

This Issue Occurs on

  • Windows
  • Linux
  • macOS
  • Android
  • iOS

Debug Info

meta-bind | ButtonMDRC >> error while running action vo: [JSE_VALIDATION] "Failed to run function due to invalid arguments. Check that the arguments that you are passing to the function match the type definition of the function." caused by error "[
  {
    "expected": "string",
    "code": "invalid_type",
    "path": [
      "code"
    ],
    "message": "Invalid input"
  }
]"
    at W (plugin:js-engine:59:22709)
    at Vp.executeCustom (plugin:js-engine:77:1729)
    at YZ.jsEngineExecuteCustom (plugin:obsidian-meta-bind-plugin:134:11810)
    at Tn.run (plugin:obsidian-meta-bind-plugin:38:2717)
    at En.runAction (plugin:obsidian-meta-bind-plugin:38:4192)
    at En.runButtonActions (plugin:obsidian-meta-bind-plugin:38:3785)
    at async onclick (plugin:obsidian-meta-bind-plugin:130:14392)
    at async f (plugin:obsidian-meta-bind-plugin:130:12806)Caused by: ZodError: [
  {
    "expected": "string",
    "code": "invalid_type",
    "path": [
      "code"
    ],
    "message": "Invalid input"
  }
]
    at new ZodError (plugin:js-engine:21:19155)
    at eval (plugin:js-engine:21:27148)
    at e.safeParse (plugin:js-engine:59:10945)
    at W (plugin:js-engine:59:22676)
    at Vp.executeCustom (plugin:js-engine:77:1729)
    at YZ.jsEngineExecuteCustom (plugin:obsidian-meta-bind-plugin:134:11810)
    at Tn.run (plugin:obsidian-meta-bind-plugin:38:2717)
    at En.runAction (plugin:obsidian-meta-bind-plugin:38:4192)
    at En.runButtonActions (plugin:obsidian-meta-bind-plugin:38:3785)
    at async onclick (plugin:obsidian-meta-bind-plugin:130:14392)

Describe the Issue

On Obsidian 1.4.9, all of my Meta Bind Button Templates worked as intended. However, upon updating to 1.4.10, none of them work, and all of them give this issue. When I looked into it, to my surprise it seemed like the json data holding the buttons themselves was identical--so I'm guessing somewhere in the json file there is some difference causing an issue on meta bind's interpretation of the same json metabind button data. I can tell there's a difference because when I click "Edit Templates" for the button templates, and copy one of them, in 1.4.10 I do not see single quotes around where they should be, while in 1.4.9 if I were to copy one of the button templates they would be where they need to be.

Let me provide an example here.

In 1.4.9 here is what a button template when copied from the button templates from metabind looks like:

label: ""
icon: music-2
style: default
class: ""
cssStyle: ""
backgroundImage: ""
tooltip: "Listen to Musicbee!"
id: music-button
hidden: true
actions:

  • type: 'command'
    command: 'obsidian-shellcommands:shell-command-3ilksiy0m2'

In 1.4.10 this is what it looks like:

label: ""
icon: music-2
style: default
class: ""
cssStyle: ""
backgroundImage: ""
tooltip: Listen to Musicbee!
id: music-button
hidden: true
actions:

  • type: command
    command: obsidian-shellcommands:shell-command-3ilksiy0m2

You can see that the single or double quotes are missing around several parts here! But the button data in the json is still identical, so I'm not sure what is going on. And all I did to make it like this was update from 1.4.9 to 1.4.10.

I tried disabling all other plugins (except for js-engine--I couldn't run some buttons without it) but this issue persisted, so I don't think it's an issue with other plugins. It isn't an issue with theme because I always use the default theme.

Fortunately, I have backups of all my buttons and can revert back to 1.4.9 to recover their functionality, but unfortunately I cannot use 1.4.10 until this issue is resolved. Please look into this. Thank you!

Steps to Reproduce

  1. Use Obsidian Metabind 1.4.9
  2. Make a few Metabind Button Templates
  3. Test the Metabind Button Templates to make sure they work as intended
  4. Update Obsidian Metabind to 1.4.10
  5. Try using those same Metabind Button Templates again

Expected Behavior

I expected my button templates to work as they originally did, rather than not work at all.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugUndesired behavior caused by this plugin

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions