I'm getting a "Storage Quota Exceeded" error when adding to the extension's sync storage area. getBytesInUse returns 88824, but trying to add {test: 'test'} gives the error. See attached screen shot.
Safari version is 15.1, macOS version is 12.0.1.
My available disk space is 523GB, so that's not the problem.
Post
Replies
Boosts
Views
Activity
I have a web extension that needs to operate on several websites (in fact, it opens a tab and navigates through those websites).
Apple's documentation says " Safari shows a badge next to your extension’s item that indicates the user needs to interact with the extension to grant it permission."
I see no such badge next to my extension.
If I hover over the extension icon, then I see the message "The extension '***' would like access to additional websites" (Is this the badge referred to?)
This is not obvious enough to the user (it took me two days to figure out that this is why my extension wasn't working).
Further, when one is in the Safari Settings "Websites" tab to give permission to the extension, they must individually change the setting for each website (from "Ask" to "Allow") -- there is no "Allow all" option.
How can I affect this process to make it less of a mystery to users and as easy as possible for them to grant me access?
I'm working on a Safari Web Extension that is migrated from Chrome/Firefox. Using the Web Inspector Storage tab has some strangeness.
Note there is one key/value pair showing test = test.
I execute await browser.storage.local.clear(). But the display does not change.
I execute await browser.storage.local.get('test') and I get undefined, but the display still shows test = test.
I execute await browser.storage.local.set({test: 'test 123'}) and I get undefined. No change to the display.
I execute await browser.storage.local.get('test') and I get "test 123". Display still says test = test.
All of this leaves me wondering "What is that display showing? Is it not the local storage associated with the extension? And if not, how can I view the extension's local storage area?"
In her WWDC20 talk, Ellie Epskamp-Hunt mentioned in passing that you should assume that just because DOMContentLoaded has occurred that the script is loaded (for example, user might have to give it permission to load). But she doesn't say how you should determine that the script has loaded. How should you do that?