I'm creating a Safari Web Extension, which successfully uses storage.local and storage.session on MacOS (14.x/15.x) and iOS (15.x,18.x). However, when testing on an iPad running iPadOS 16.3, it fails with an undefined error:
TypeError: undefined is not an object (evaluating 'api.storage.session.get')
Dropping to the console, I can access 'api.storage.local', but no luck for 'api.storage.session'.
First question, why would storage.session not be available? Is there something different on this iPadOS version to enable it? I could just use local storage, but don't need the data to persist. I'll probably just fall back to this solution.
Second question, should I instead be using localStorage and sessionStorage? I can't find any helpful direction on if using localStorage vs storage.local is best practice?
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I'm adding a ServiceProvider menu for my MacOS application to show up when right-clicking on a file or folder in the Finder. I'd like the text of the contextual menu to be updated based upon the file/folder being selected.
With ServiceProvider, the text of the menu is set in the info.plist file, and I haven't found a way to change it after the fact.
I'm not using FinderSync or FileProvider for specific reasons, but it was the original route I chose. Which did let me dynamically change the text.
Is it possible to dynamically change the menu text with ServiceProvider?
We have created a Menu App that has a FinderSync extension to provide contextual menus in certain folders. This works as expected, and adds the additional menus for just the selected folders. This is accomplished by watching the desired folders:
finderController.directoryURLs = urlFolders
and creating a MenuKind menu item for type:
.contextualMenuForItems:
However, it seems to not play nice and occasionally replaces the folder icons with the apps icon and removes contextual functionality for other extensions.
For Box, it will remove the contextual menu items and the badge icons, as well as replace the folder icon in the Finder sidebar and any application Open/Save Dialog boxes.
For Dropbox and GoogleDrive, it will just replace the folder icons in the sidebar and dialog windows, but doesn't stop their extensions from working.
Any suggestions on how to keep our FinderSync extension from having these adverse impacts?
I notice that GoogleDrive's contextual menu shows up in Dropbox folders, so I know that a folder can be watched by more than one extension.
I have a macOS app which uses a FinderSync Extension. I'm using FIFinderSyncController.isExtensionEnabled to determine if the Extension is enabled.
When running on OSX 10.15 & 11.6, it works correctly. When running on a system with OSX 12.2, it always returns False.
Anyone know why it would behave differently?