feat: real-time alerts via WebSocket push notifications
- Add ws WebSocket server (port 3001) with JWT auth and user-socket mapping - Add WebSocket client with exponential backoff reconnection and heartbeat - Add useRealtimeAlerts hook with toast notifications and unread badge - Add alert.publisher service (WS → push → email fallback) - Integrate publisher into DarkWatch, VoicePrint, HomeTitle, SpamShield, RemoveBrokers - Update Navbar with connection status indicator and unread count - Add comprehensive tests (14 passing) for server, client, and publisher
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
"db:seed": "tsx src/server/db/seed.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@libsql/client": "^0.15.0",
|
||||
"@solidjs/meta": "^0.29.4",
|
||||
"@solidjs/router": "^0.15.0",
|
||||
"@solidjs/start": "2.0.0-alpha.2",
|
||||
@@ -26,7 +27,6 @@
|
||||
"bcryptjs": "^3.0.3",
|
||||
"bullmq": "^5.77.3",
|
||||
"clerk-solidjs": "^2.0.10",
|
||||
"@libsql/client": "^0.15.0",
|
||||
"drizzle-orm": "^0.45.2",
|
||||
"firebase-admin": "^13.10.0",
|
||||
"ioredis": "^5.10.1",
|
||||
@@ -41,7 +41,8 @@
|
||||
"three": "^0.184.0",
|
||||
"twilio": "^6.0.2",
|
||||
"valibot": "^0.29.0",
|
||||
"vite": "^7.0.0"
|
||||
"vite": "^7.0.0",
|
||||
"ws": "^8.21.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22"
|
||||
@@ -49,6 +50,7 @@
|
||||
"devDependencies": {
|
||||
"@types/node-cron": "^3.0.11",
|
||||
"@types/pg": "^8.20.0",
|
||||
"@types/ws": "^8.18.1",
|
||||
"drizzle-kit": "^0.31.10",
|
||||
"jsdom": "^29.1.1",
|
||||
"tsx": "^4.22.3",
|
||||
|
||||
Reference in New Issue
Block a user