First of all, thank you for creating such an awesome extension!
I’ve made some plugins that use chrome.tabs.create, which is not working because when it executes chrome.tabs does not exist. The same thing happens if I load the AntiProcrastination plugin locally.
Note that this does work when the plugin is run from the LipSurf options tab.
I’m using pageFn. I see now that the plugins that use chrome.tabs use fn, I didn’t notice that before. The documentation is confusing at the moment. For pageFn, you say:
The async function to run on the page when the command is called.
When you use “The” (as opposed to “An”), we read that as “The one and only async function to run when a command is called.”
Then for fn you say:
Code to run in the Chrome extension context.
Code to run when? It isn’t clear that it is also an async function that will be run when a command is called.
It would be very helpful to make it clear that there are two choices for handling commands, pageFn and fn, and make it clear what the difference is in terms of the execution environment (for example, chrome.tabs being available!) and what would happen if they were both defined.