Re_Backend/WHY_NO_ALERTS_SHOWING.md

7.0 KiB

Why Are TAT Alerts Not Showing?

🎯 Follow These Steps IN ORDER

Step 1: Is Redis Connected?

Check your backend console:

Look for one of these messages:

GOOD (Redis is working):

✅ [TAT Queue] Connected to Redis
✅ [TAT Worker] Worker is ready and listening

BAD (Redis NOT working):

⚠️ [TAT Worker] Redis connection failed
⚠️ [TAT Queue] Redis connection failed after 3 attempts

If you see the BAD message:

STOP HERE! TAT alerts will NOT work without Redis!

Setup Upstash Redis NOW:

  1. Go to: https://console.upstash.com/
  2. Sign up (free)
  3. Create database
  4. Copy Redis URL
  5. Add to Re_Backend/.env:
    REDIS_URL=rediss://default:PASSWORD@host.upstash.io:6379
    TAT_TEST_MODE=true
    
  6. Restart backend
  7. Verify you see "Connected to Redis"

Step 2: Have You Submitted a Request?

TAT monitoring starts ONLY when:

  • Request is SUBMITTED (not just created/saved)
  • Status changes from DRAFT → PENDING

To verify:

SELECT 
  request_number,
  status,
  submission_date
FROM workflow_requests
WHERE request_number = 'YOUR_REQUEST_NUMBER';

Check:

  • status should be PENDING, IN_PROGRESS, or later
  • submission_date should NOT be NULL

If status is DRAFT: → Click "Submit" button on the request → TAT monitoring will start


Step 3: Has Enough Time Passed?

In TEST MODE (TAT_TEST_MODE=true):

  • 1 hour = 1 minute
  • For 6-hour TAT:
    • 50% alert at: 3 minutes
    • 75% alert at: 4.5 minutes
    • 100% breach at: 6 minutes

In PRODUCTION MODE:

  • 1 hour = 1 hour (real time)
  • For 24-hour TAT:
    • 50% alert at: 12 hours
    • 75% alert at: 18 hours
    • 100% breach at: 24 hours

Check when request was submitted:

SELECT 
  request_number,
  submission_date,
  NOW() - submission_date as time_since_submission
FROM workflow_requests
WHERE request_number = 'YOUR_REQUEST_NUMBER';

Step 4: Are Alerts in the Database?

Run this SQL:

-- Check if table exists
SELECT COUNT(*) FROM tat_alerts;

-- If table exists, check for your request
SELECT 
  ta.threshold_percentage,
  ta.alert_sent_at,
  ta.alert_message,
  ta.metadata
FROM tat_alerts ta
JOIN workflow_requests w ON ta.request_id = w.request_id
WHERE w.request_number = 'YOUR_REQUEST_NUMBER'
ORDER BY ta.alert_sent_at;

Expected Result:

  • 0 rows → No alerts sent yet (wait longer OR Redis not connected)
  • 1+ rows → Alerts exist! (Go to Step 5)

If table doesn't exist:

cd Re_Backend
npm run migrate

Step 5: Is API Returning tatAlerts?

Test the API directly:

Method 1: Use Debug Endpoint

curl http://localhost:5000/api/debug/workflow-details/YOUR_REQUEST_NUMBER

Look for:

{
  "structure": {
    "hasTatAlerts": true,   Should be true
    "tatAlertsCount": 2     Should be > 0
  },
  "tatAlerts": [...]        Should have data
}

Method 2: Check Network Tab in Browser

  1. Open Request Detail page
  2. Open DevTools (F12) → Network tab
  3. Find the API call to /workflows/{requestNumber}/details
  4. Click on it
  5. Check Response tab
  6. Look for tatAlerts array

Step 6: Is Frontend Receiving tatAlerts?

Open Browser Console (F12 → Console)

When you open Request Detail, you should see:

[RequestDetail] TAT Alerts received from API: 2 [Array(2)]

If you see:

[RequestDetail] TAT Alerts received from API: 0 []

→ API is NOT returning alerts (go back to Step 4)


Step 7: Are Alerts Being Displayed?

In Request Detail:

  1. Click "Workflow" tab
  2. Scroll to the approver card
  3. Look under the approver's comment section

You should see yellow/orange/red boxes with:

⏳ Reminder 1 - 50% TAT Threshold

If you DON'T see them: → Check browser console for JavaScript errors


🔍 Quick Diagnostic

Run ALL of these and share the results:

1. Backend Status:

curl http://localhost:5000/api/debug/tat-status

2. Database Query:

SELECT COUNT(*) as total FROM tat_alerts;

3. Browser Console:

// Open Request Detail
// Check console for:
[RequestDetail] TAT Alerts received from API: X [...]

4. Network Response:

DevTools → Network → workflow details call → Response tab
Look for "tatAlerts" field

🎯 Most Likely Issues (In Order)

1. Redis Not Connected (90% of cases)

Symptom: No "Connected to Redis" in logs Fix: Setup Upstash, add REDIS_URL, restart

2. Request Not Submitted (5%)

Symptom: Request status is DRAFT Fix: Click Submit button

3. Not Enough Time Passed (3%)

Symptom: Submitted < 3 minutes ago (in test mode) Fix: Wait 3 minutes for first alert

4. TAT Worker Not Running (1%)

Symptom: Redis connected but no "Worker is ready" message Fix: Restart backend server

5. Frontend Code Not Applied (1%)

Symptom: API returns tatAlerts but UI doesn't show them Fix: Refresh browser, clear cache


🚨 Emergency Checklist

Do this RIGHT NOW to verify everything:

# 1. Check backend console for Redis connection
# Look for: ✅ [TAT Queue] Connected to Redis

# 2. If NOT connected, setup Upstash:
# https://console.upstash.com/

# 3. Add to .env:
# REDIS_URL=rediss://...
# TAT_TEST_MODE=true

# 4. Restart backend
npm run dev

# 5. Check you see "Connected to Redis"

# 6. Create NEW request with 6-hour TAT

# 7. SUBMIT the request

# 8. Wait 3 minutes

# 9. Open browser console (F12)

# 10. Open Request Detail page

# 11. Check console log for:
# [RequestDetail] TAT Alerts received from API: X [...]

# 12. Go to Workflow tab

# 13. Alerts should appear!

📞 Share These for Help

If still not working, share:

  1. Backend console output (first 50 lines after starting)
  2. Result of: curl http://localhost:5000/api/debug/tat-status
  3. SQL result: SELECT COUNT(*) FROM tat_alerts;
  4. Browser console when opening Request Detail
  5. Request number you're testing with
  6. How long ago was the request submitted?

Working Example

When everything works, you'll see:

Backend Console:

✅ [TAT Queue] Connected to Redis
✅ [TAT Worker] Worker is ready
[TAT Scheduler] ✅ TAT jobs scheduled for request REQ-2025-001

After 3 minutes (test mode):

[TAT Processor] Processing tat50 for request REQ-2025-001
[TAT Processor] TAT alert record created for tat50
[TAT Processor] tat50 notification sent

Browser Console:

[RequestDetail] TAT Alerts received from API: 1 [
  {
    alertType: "TAT_50",
    thresholdPercentage: 50,
    alertSentAt: "2025-11-04T...",
    ...
  }
]

UI Display:

⏳ Reminder 1 - 50% TAT Threshold
50% of SLA breach reminder have been sent
...

Most likely you just need to setup Redis! See START_HERE.md


Last Updated: November 4, 2025