| The sign-in page says Connected, and the extension still says Not signed in | The manifest's externally_connectable lacks the Wall's address, so the page could not reach the extension. | See the startup message above. Then sign in again. |
The Wall answers 403 forbidden_origin: This tool key is bound to another extension. | Once you name your extension, a tool key works from the store copy, the copies with the wiring's key, and the copy you chose on the Keys page. This is another. | On the tool's Keys page, Use this copy instead beside its id. Keep the manifest's key so every copy you load has one id. |
| The popup says Not set up yet, or a method rejects with Toolaby is not running in this extension's background | Nothing starts the Wall in the background: the manifest names a background of yours that never calls it. Chrome says Receiving end does not exist. | Wire again on the Set up page, or npx -y toolaby@latest upgrade <tool-id>. Then reload the extension. npx -y toolaby@latest check names the background. |
| A page of yours breaks where it reads the popup, or your popup opens without the check | Your code calls chrome.action.getPopup() or setPopup(), and finds or replaces the Wall popup in front of yours. | Keep my popup in front on the Set up page, or npx -y toolaby@latest upgrade <tool-id> --own-popup. toolaby.showPaywall() then opens the Wall popup. |
| A change in the dashboard does not show in the extension | Installed copies ask the Wall at intervals: within seconds on Test; on Live at most once in five minutes when the Wall popup opens, and hourly otherwise. Code of yours that swaps the popup (setPopup()) skips the Wall popup altogether. | Wait the interval. Keep your popup in front and gate your paid action (see the row above). |
On Windows, npx -y toolaby@latest … opens toolaby.js in your editor instead of running | Command line 1.7.1 or older: the Command Prompt runs a toolaby.js in the current folder before a command named toolaby. | Command line 1.7.2 is named toolaby-cli, so npx -y toolaby@latest works. Installed, type toolaby-cli. |
| Every open of the popup spends a free use | The Wall popup stands in front of yours and the Free plan counts uses. | Put your popup first and count at the action. See Gate your extension. |
has() answers yes for every feature | The tool has no features under Pricing. A tool with none holds everything. | Add the features, and tick them on the plans that hold them. |
showPaywall() opens a page that is not found | toolaby-popup.html or toolaby-sidepanel.html is not in the build. | Keep both in the extension; the wiring writes them. A framework must copy them into its output. See Frameworks. |
| The paywall opens at popup width in a side panel | The page does not say it is a side panel. | <html data-toolaby-surface="sidepanel">. |
| A purchase went through and the extension still shows the Free plan | The purchase was made signed out, so it waits on the address it was made with. Or the after-purchase page could not reach the extension (see externally_connectable). | The buyer signs in once with that address: the after-purchase page's button, or Sign in in the extension. Then it unlocks. |
| Update needed in the popup | The tool's Versions set a minimum above this build's version. | Publish a newer build, or lower the minimum. |