You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Custom scheduling scripts. The "Custom script" spacing algorithm now runs a JavaScript file from your vault, so you can write your own scheduling rules. Set Custom script to a vault-relative .js path (for example scripts/custom-scheduler.js). The script receives { interval, easeFactor, reviewScore } and returns a new interval in days, plus an optional easeFactor. It is read again on every review, so edits apply without restarting Obsidian. See the custom algorithm guide and the example script. Thanks to @memee for this contribution (#36).
Only use scripts you wrote or trust. Scripts run with Obsidian's full privileges and are not sandboxed.
Custom methods accept any numeric review score, not just 0–5.
Behavior Changes
Failed reviews no longer change the note. If a script is missing, throws an error, or returns an invalid result, you'll see a "Review could not be saved" notice and the note's interval, ease, and last-reviewed date stay as they were. The same applies when the note can't be written.
Invalid scheduling values are refused instead of saved. Previously, a note with a non-numeric, negative, or infinite se-interval or se-ease was scheduled anyway, which could write NaN or Infinity into the note. Those reviews are now refused with a notice; fix the value in the note's frontmatter and review again. Empty or missing values still use the method's defaults as before.
Existing "Custom script" methods keep working. A method saved as Custom with no script path, or with an unrecognized algorithm, still schedules with SuperMemo 2.0 and now shows a one-time notice per session suggesting you check your settings.
Settings
The Custom script field is now enabled, with a link to the documentation.
Review scores must be complete numbers: an empty box or text like 2abc is refused instead of being saved as NaN or 2.
Switching a method from Custom to SuperMemo 2.0 is blocked until every review score is between 0 and 5.