Dev finds Chrome MV3 extensions can silently mishandle synced settings vs. local permissions
A developer building a Chrome Manifest V3 email-tracker blocker discovered that a single checkbox was masking three distinct types of state: user settings, actual host permissions, and active blocking rules. The issue surfaced during testing on a second Chrome profile, where synced settings indicated Gmail was enabled but the required host grant had not transferred, since Chrome Sync carries preferences but not optional permission grants. This mismatch caused the extension to behave as though access existed when it did not, either silently failing or incorrectly applying rules. The developer resolved this by explicitly checking chrome.permissions.contains() before activating any client, ensuring synced intent is never treated as confirmed access. The experience highlighted a gap in Chrome's documentation, which recommends optional permissions for user control but does not address preserving runtime state across syncs, revocations, and service worker restarts.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in