Notifications grouped or throttled to prevent spamming the user
Why it matters
Unthrottled chrome.notifications.create calls on every webRequest event, price-check tick, or polling cycle flood the OS notification center with dozens of popups per minute. Users disable notifications at the OS level, uninstall the extension, or leave one-star reviews citing spam. On macOS and Windows, excessive notifications also trigger system-level rate limiting that silently drops later — potentially important — alerts. Chrome Web Store reviewers flag notification-spamming extensions during policy review and may reject updates.
Severity rationale
Critical because notification spam triggers uninstalls, one-star reviews, and Chrome Web Store policy rejection.
Remediation
Gate every chrome.notifications.create call behind a timestamp check so notifications fire at most once per cooldown window, and batch high-frequency events into a summary. Put the throttle in the background service worker at background.js:
let last = 0;
const COOLDOWN = 30_000;
function maybeNotify(title, message) {
if (Date.now() - last < COOLDOWN) return;
last = Date.now();
chrome.notifications.create({ type: 'basic', iconUrl: 'icons/48.png', title, message });
}
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Extension UX & Performance Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from extension-ux-performance·automated