mProjectsCode / mProjectsCode/obsidian-meta-bind-plugin

Update Metadata now requires js-engine

Open
#662 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation
Dominant language
TypeScript
Stars
1k
Forks
86
PR merge metrics
No merged PRs in 30d

Description

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
SYSTEM INFO:
	Obsidian version: 1.12.7
	Installer version: 1.12.7
	Operating system: Windows 11 Pro 10.0.26200
	Login status: logged in
	Language: en-GB
	Catalyst license: insider
	Insider build toggle: on
	Live preview: on
	Base theme: dark
	Community theme: none
	Snippets enabled: 23
	Restricted mode: off
	Plugins installed: 45
	Plugins enabled: 22
		1: Advanced URI v1.46.1
		2: Calendar v1.5.10
		3: Linter v1.31.2
		4: Media DB v0.8.0
		5: QuickAdd v2.12.0
		6: Templater v2.20.4
		7: Settings Search v1.3.10
		8: ReadItLater v0.11.4
		9: Meta Bind v1.4.10
		10: Spaced Repetition v1.14.2
		11: Map View v6.1.4
		12: Force note view mode v1.2.2
		13: Paste Image Into Property v1.0.6
		14: Tag Wrangler v0.6.4
		15: Excalidraw v2.23.2
		16: Mermaid Base Views v1.0.0
		17: Slides Extended v2.3.4
		18: Maps v0.1.6
		19: Tab Multi Select v1.0.0
		20: Pretty Properties v1.10.18
		21: GDScript Syntax Highlighting v1.1.0
		22: Simple CanvaSearch v1.0.2

RECOMMENDATIONS:
	Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
	Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.
Describe the Issue

After updating the plugin from 1.4.6 to 1.4.10 it seems like evaluating javascript in the "Update Metadata" action now requires the js-engine plugin. I am pretty sure it worked without it before since I don't have js-engine enabled. This drawback also isn't mentioned in the wiki.

Steps to Reproduce
  1. Add a meta bind button like so:
label: "Finish"
style: default
actions:
  - type: updateMetadata
    bindTarget: finishedDate
    evaluate: true
    value: moment().format()
  1. Click on it and see the error:
plugin:obsidian-meta-bind-plugin:38 meta-bind | ButtonMDRC >> error while running action De: [MB_DEPENDENCY] "Dependency violation detected" caused by "Plugin js-engine is required, but not installed. Please install the plugin."
    at wJ.throwDependencyError (plugin:obsidian-meta-bind-plugin:130:5942)
    at wJ.throwPluginNotFound (plugin:obsidian-meta-bind-plugin:130:5764)
    at wJ.checkDependency (plugin:obsidian-meta-bind-plugin:130:6576)
    at MY (plugin:obsidian-meta-bind-plugin:131:19308)
    at YZ.jsEngineExecuteCustom (plugin:obsidian-meta-bind-plugin:134:11788)
    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 onclick (plugin:obsidian-meta-bind-plugin:130:14425)
    at f (plugin:obsidian-meta-bind-plugin:130:12815)Caused by: Plugin js-engine is required, but not installed. Please install the plugin.
Expected Behavior

The Update Metadata action should work without js-engine (as it did before), or if this changed it should be noted in the wiki.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the Update Metadata action's evaluation path, especially jsEngineExecuteCustom shown in the error stack, and compare behavior between plugin versions 1.4.6 and 1.4.10. Done when JavaScript evaluation either works without js-engine as before or the linked wiki page documents the requirement and behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.