Problem with Plugin throttle for too many API calls

I am currently facing a little problem for the note-overview plugin.
I need all the tags of the notes, which are returned from a search.
But I can only get them with the query GET /notes/:id/tags for each note.
Which leads to the error Plugin io.github.jackgruber.note-overview: Applying a backoff of 8 seconds due to frequent plugin API calls., because of course many requests are sent (depending on the search result).

To work around this, there would need to be an API call to retrieve all tags from multiple notes, such as:

var tags = await joplin.data.get(["notes", ['0a3bd863b5f54912a7f2560b94b64c1d', 'b533cc4f8c3d4b1f933a1b4c47b0cf29'], "tags"], {
          fields: "id, title, parent_id",
        });

or does anyone have another idea how i can retrieve all tags for X notes without running into the limit?

The solution you describe would be ideal, although I have in mind a more generic solution that would apply to all API calls. Something like:

await joplin.data.batch({
    |'GET', 'notes', '0a3bd863b5f54912a7f2560b94b64c1d', 'tags'],
    |'GET', 'notes', 'b533cc4f8c3d4b1f933a1b4c47b0cf29', 'tags'],
    // etc.
});

But in the meantime I'm not sure, I think I'll just tweak the throttle so that it works.

1 Like