SuprNotify

Never miss an important error again.
A smart, local-first developer notification system for Visual Studio Code that monitors terminals, child processes, and diagnostics — filtering temporary noise, suppressing duplicates, and surfacing verified actionable alerts.

Dedicated to Supriya. Built for developers.
⚡ Why SuprNotify?
Modern development tools (Next.js, Vite, Webpack, Nodemon) continuously restart and spit out wall after wall of logs.
| ❌ The Old Frustrating Way |
✅ The SuprNotify Way |
| Terminal spam: Output scrolls by at lightning speed. |
Quiet by default: Zero noise when your code works. |
| False alarms: Half-typed syntax errors trigger panic. |
Smart stability verification: 5-second quiet window filters temporary typing errors. |
| Duplicate flooding: Server restart loops produce 100 duplicate popups. |
Smart deduplication: Exactly 1 alert per unique unresolved issue. |
| Lost context: Which line broke? Where did the server crash? |
1-Click Jump to Code: Instant navigation directly to file, line, and column. |
| Did it fix? Constantly switching windows to verify compilation. |
Automatic Recovery: Green success alerts when your code compiles again. |
🔍 How It Works
flowchart TD
A[Terminal Output / Language Diagnostics] --> B[Event Normalizer]
B --> C[Framework Parsers: Node, Next, Vite, Webpack, TS]
C --> D[Deterministic SHA-256 Fingerprinting]
D --> E{Stability Verification Timer: 5s}
E -- Code fixed before 5s --x F[Silently Cancelled: No Alarm!]
E -- Error persists past 5s --> G{Duplicate Check}
G -- Already Notified --> H[Increment Count: No Spam]
G -- New / Unresolved --> I[Dispatch Actionable Notification]
I --> J[VS Code Toast Notification]
I --> K[Status Bar Indicator Update]
I --> L[Synthesized Web Audio Chime]
I --> M[Glassmorphism Dashboard Entry]
N[Successful Build / Diagnostic Cleared] --> O[Recovery Detector: Resolves Error & Sends Recovery Chime]
🎯 Visual Experience
1. Compact Error Notification
When a genuine, verified error breaks your build or server, SuprNotify surfaces a non-intrusive notification with instant actions:
┌──────────────────────────────────────────────────────────────┐
│ [!] ReferenceError: user is not defined │
│ user.controller.js · Line 42 │
│ │
│ [ Jump to Code → ] [ View Details ] [ Copy ] [ Mute ] │
└──────────────────────────────────────────────────────────────┘
- Jump to Code: Opens the file in your active editor and jumps right to Line 42.
- Copy: Copies a clean, sanitized stack trace ready to paste.
- Mute: Suppresses repeated alerts for this specific error signature.
2. Automatic Recovery Notification
Once your server recompiles successfully or the diagnostic error clears:
┌──────────────────────────────────────────────────────────────┐
│ [✓] Error Resolved │
│ Next.js: Application compiled successfully in 140ms │
│ │
│ [ View Details ] │
└──────────────────────────────────────────────────────────────┘
3. Status Bar Control Center
Monitor everything at a glance without ever switching windows:
| Status Icon |
Meaning |
$(check) SuprNotify |
All Systems Nominal: No active errors. Clean working state. |
$(warning) SuprNotify: 2 errors |
Active Errors Detected: Highlights in red/amber with active error count. |
$(debug-pause) SuprNotify (Paused) |
Monitoring Paused: Temporarily muted while doing major refactors. |
$(circle-slash) SuprNotify (Disabled) |
Globally Disabled: All monitors idle. |
Clicking the status bar item opens the Quick Control Center:
- 📊 Open Dashboard
- ⏯️ Pause / Resume Monitoring
- 🔊 Toggle Sound Alerts (Web Audio Chimes)
- 🧹 Clear Error History
- ⚙️ Open Extension Settings
4. Interactive Glassmorphism Dashboard
Open the full dashboard in an editor tab or sidebar activity bar (suprnotify.openDashboard):
- Overview Metrics: Active errors, resolved errors, and connected terminal sources.
- Filter Tabs:
Active, All, Critical, Resolved.
- Live Search: Instant fuzzy search across error messages and file paths.
- Action Controls: Jump to source file, copy sanitized trace, mute fingerprint, or dismiss.
- Dark Glass Design: iOS-inspired translucent cards with theme-aware CSS variables.
🧩 Framework Parsers
SuprNotify features dedicated adapters tailored for modern JavaScript/TypeScript ecosystems:
| Framework / Tool |
What It Detects |
Detection Accuracy |
| Node.js / Express |
ReferenceError, TypeError, SyntaxError, uncaught exceptions, unhandled rejections, connection failures (ECONNREFUSED, MongoNetworkError). |
High (0.90) |
| Next.js |
Build failures, Module not found, Fast Refresh reload errors, compile breaks. |
High (0.95) |
| Vite |
[vite] Internal server error, [plugin:vite:...] transform errors, build failed banners. |
High (0.95) |
| Webpack |
ERROR in ..., Module build failed, bundle compilation errors. |
High (0.95) |
TypeScript (tsc) |
TSxxxx compiler error codes with file, line, and column coordinates. |
High (0.95) |
| VS Code Diagnostics |
Live language server syntax and type diagnostics directly from open files. |
High (0.90) |
| Generic Dev Tools |
Regex pattern matching for standard file:line:column output and non-zero exit codes. |
Fallback (0.50) |
🎵 Built-In Web Audio Sound Alerts
SuprNotify includes an embedded, dependency-free Web Audio API synthesizer. No bulky .mp3 files or external audio binaries:
- 🔔 Standard Alert: Dual-tone harmonic chime (
A4 440Hz → C5 523Hz).
- 🚨 Critical Alert: Urgent descending triad (
E5 659Hz → C5 523Hz → A4 440Hz).
- ✨ Recovery Chime: Upbeat ascending major triad (
C5 523Hz → E5 659Hz → G5 784Hz).
Volume and master mute can be toggled with a single click from the status bar or settings.
🚀 Installation & Quick Start
Install VSIX Directly
code --install-extension suprnotify-1.0.0.vsix
Or Build From Source
# 1. Clone & install dependencies
npm install
# 2. Run test suite (37 unit & integration tests)
npm test
# 3. Build production bundle
npm run build
# 4. Package into VSIX
npm run package
⌨️ Command Palette Shortcuts
Press Ctrl+Shift+P (or Cmd+Shift+P on macOS) and search for SuprNotify:
| Command |
Action |
SuprNotify: Open Dashboard |
Open the full glassmorphism dashboard |
SuprNotify: Enable Monitoring |
Enable error monitoring |
SuprNotify: Disable Monitoring |
Disable error monitoring |
SuprNotify: Toggle Monitoring |
Toggle monitoring on/off |
SuprNotify: Pause Monitoring |
Temporarily pause tracking |
SuprNotify: Resume Monitoring |
Resume tracking |
SuprNotify: Clear Error History |
Reset workspace error history |
SuprNotify: Show Output Log |
Open dedicated SuprNotify output log |
SuprNotify: Start Managed Process |
Explicitly launch and monitor a development process |
SuprNotify: Stop Managed Process |
Stop active managed process |
⚙️ Configuration Reference
Customize SuprNotify to fit your personal coding rhythm (settings.json):
{
// Master toggle
"suprnotify.enabled": true,
// Monitoring mode: "smart" (debounced), "instant" (immediate), "silent" (log only)
"suprnotify.mode": "smart",
// Quiet window (ms) to ignore temporary errors while typing
"suprnotify.errorStabilityWindow": 5000,
// Maximum simultaneous notifications displayed
"suprnotify.maxNotifications": 2,
// Enable recovery notifications when errors are resolved
"suprnotify.showRecovery": true,
// Enable/disable sound chimes
"suprnotify.soundEnabled": true,
"suprnotify.soundVolume": 70,
// Retain error history in local workspace storage (days)
"suprnotify.historyRetentionDays": 7,
"suprnotify.maxHistoryRecords": 500
}
🔒 Privacy & Security
- 100% Offline-First: Zero network requests, zero cloud syncing, zero remote telemetry.
- Local Workspace Storage: Error history is stored locally in your VS Code workspace state.
- Automatic Secret Redaction: API keys, passwords, bearer tokens, and connection strings are automatically sanitized (
[REDACTED]) before storage.
- Strict Content Security Policy (CSP): The dashboard runs inside a secure, sandboxed Webview using cryptographically secure nonces.
💝 Dedication
"Dedicated to Supriya. Built for developers who love clean terminals and focus."
Made with ❤️ by DeveloperSupriya • Licensed under MIT