A cross-browser extension for monitoring GitHub pull request checks. Get notified when checks fail or all checks complete successfully.
- 🔔 Smart Notifications: Receive browser notifications when:
- Any PR check fails
- All PR checks complete successfully
- 🎯 One-Click Navigation: Click the notification to focus the PR tab
- ⚡ Automatic Monitoring: Monitors PR pages automatically with 10-second polling
- 🌐 Cross-Browser: Works on both Chrome and Firefox
- Download or clone this repository
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked"
- Select the root directory of this extension
- Download or clone this repository
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Navigate to the extension directory and select
manifest.json
Notes:
- In Firefox, temporary extensions are removed when you close the browser. For permanent installation, you'll need to package and sign the extension.
- Firefox 121 or newer is required for Manifest V3 support with background scripts.
- Navigate to a PR: Open any GitHub pull request (e.g.,
https://github.com/owner/repo/pull/123) - Automatic Detection: The extension automatically detects PR pages and starts monitoring
- Check Monitoring: Every 10 seconds, the extension checks the status of PR checks
- Smart Notifications: You'll receive a notification when:
- ❌ A check fails (notification sent immediately)
- ✅ All checks pass (notification sent once all complete)
- Quick Navigation: Click the notification to instantly focus the PR tab
The extension sends only one notification per state change to avoid spam:
- Check Failed: "❌ PR Checks Failed - X check(s) failed in owner/repo#123"
- All Passed: "✅ All PR Checks Passed - All X check(s) passed in owner/repo#123"
npm run build:iconsThis generates icon files in multiple sizes (16x16, 48x48, 128x128) from generated-icon.png.
npm run packageThis creates a distributable ZIP file in the dist/ directory.
github-pr-monitor/
├── manifest.json # Extension manifest (Manifest V3)
├── background.js # Service worker for notifications
├── content.js # Content script for PR monitoring
├── icons/ # Extension icons (generated)
├── scripts/ # Build scripts
│ ├── build-icons.js # Icon generation script
│ └── package.js # Packaging script
└── README.md # This file
- Manifest Version: V3 (for Chrome and Firefox compatibility)
- Permissions:
notifications: Send browser notificationstabs: Focus tabs when notifications are clickedstorage: Store notification state
- Host Permissions:
https://github.com/*/* - Polling Interval: 10 seconds
- ✅ Chrome (Manifest V3 with service workers)
- ✅ Firefox 121+ (Manifest V3 with background scripts)
Note: The extension uses both service_worker and scripts in the manifest for cross-browser compatibility. Chrome uses the service worker, while Firefox uses the background script. Both browsers execute the same background.js file.
This error appears on older Firefox versions. Make sure you're using Firefox 121 or newer. The extension manifest includes both service worker and scripts configurations to support both browsers.
- Check that browser notifications are enabled for your browser
- Verify the extension has the necessary permissions
- Make sure you're on a GitHub PR page with active checks
- Check the browser console for any errors
This extension:
- ✅ Only monitors GitHub PR pages you visit
- ✅ Runs entirely in your browser (no external servers)
- ✅ Does not collect or transmit any data
- ✅ Does not require GitHub authentication
MIT