Skip to content

JS API for add-ons #4529

@abdnh

Description

@abdnh

With the most important Anki screens being moved to Svelte (#4289 #4029), it's probably time to discuss add-on compatibility.

The Svelte port as it is will break almost all add-ons that touch these screens but there'll be a transition period where both the old and new screens will be available 1 (as was the case for the Stats and Deck Options screen).

Anki mostly dodged the question of add-on support for screens transitioned to the web for ~6 years now because they were relatively low impact.
Now though with the most frequently used screens being rewritten, the approach of having old screens available for a few years is no longer enough, because the time will soon come when it's no longer practical to maintain both versions. Add-ons will then be left with no path forward if no new approach is offered.

We can at least implement a JS hooks API similar to the Python one.
Not every hook and use case can be supported in the new API, but we can get a pretty good idea about what add-ons need by surveying hooks usage in AnkiWeb add-ons.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions