4.8 KiB
Coding Detection Debug Guide
Current Status
Your n8n webhook is returning:
{
"coding": null
}
This means your n8n workflow isn't detecting coding activity.
Quick Fix: Test Your n8n Workflow
Step 1: Check What n8n Is Actually Receiving
Open your n8n workflow for denshooter-71242/status and check:
-
Do you have a node that fetches coding data?
- WakaTime API call?
- Discord API for Rich Presence?
- Custom webhook receiver?
-
Is that node active and working?
- Check execution history in n8n
- Look for errors
Step 2: Add Temporary Mock Data (Testing)
To see how it looks while you set up real detection, add this to your n8n workflow:
Add a Function Node after your Discord/Music fetching, before the final response:
// Get existing data
const existingData = $json;
// Add mock coding data for testing
const mockCoding = {
isActive: true,
project: "Portfolio Website",
file: "app/components/ActivityFeed.tsx",
language: "TypeScript",
stats: {
time: "2h 15m",
topLang: "TypeScript",
topProject: "Portfolio"
}
};
// Return combined data
return {
json: {
...existingData,
coding: mockCoding
}
};
Save and test - you should now see coding activity!
Step 3: Real Coding Detection Options
Option A: WakaTime (Recommended - Automatic)
- Sign up: https://wakatime.com/
- Install plugin in VS Code/your IDE
- Get API key: https://wakatime.com/settings/account
- Add HTTP Request node in n8n:
// n8n HTTP Request Node
URL: https://wakatime.com/api/v1/users/current/heartbeats
Method: GET
Authentication: Bearer Token
Token: YOUR_WAKATIME_API_KEY
// Then add Function Node to process:
const wakaData = $json.data;
const isActive = wakaData && wakaData.length > 0;
const latest = wakaData?.[0];
return {
json: {
coding: {
isActive: isActive,
project: latest?.project || null,
file: latest?.entity || null,
language: latest?.language || null,
stats: {
time: "calculating...",
topLang: latest?.language || "Unknown",
topProject: latest?.project || "Unknown"
}
}
}
};
Option B: Discord Rich Presence (If Using VS Code)
- Install extension: "Discord Presence" in VS Code
- Enable broadcasting in extension settings
- Add Discord API call in n8n:
// n8n HTTP Request Node
URL: https://discord.com/api/v10/users/@me
Method: GET
Authentication: Bearer Token
Token: YOUR_DISCORD_BOT_TOKEN
// Then process activities:
const activities = $json.activities || [];
const codingActivity = activities.find(a =>
a.name === 'Visual Studio Code' ||
a.application_id === 'vscode_app_id'
);
return {
json: {
coding: codingActivity ? {
isActive: true,
project: codingActivity.state || "Unknown Project",
file: codingActivity.details || "",
language: codingActivity.assets?.large_text || null
} : null
}
};
Option C: Simple Time-Based Detection
If you just want to show "coding during work hours":
// n8n Function Node
const now = new Date();
const hour = now.getHours();
const isWorkHours = hour >= 9 && hour <= 22; // 9 AM - 10 PM
return {
json: {
coding: isWorkHours ? {
isActive: true,
project: "Active Development",
file: "Working on projects...",
language: "TypeScript",
stats: {
time: "Active",
topLang: "TypeScript",
topProject: "Portfolio"
}
} : null
}
};
Test Your Changes
After updating your n8n workflow:
# Test the webhook
curl https://n8n.dk0.dev/webhook/denshooter-71242/status | jq .
# Should now show:
{
"coding": {
"isActive": true,
"project": "...",
"file": "...",
...
}
}
Common Issues
"Still shows null"
- Make sure n8n workflow is Active (toggle in top right)
- Check execution history for errors
- Test each node individually
"Shows old data"
- Clear your browser cache
- Wait 30 seconds (cache revalidation time)
- Hard refresh: Cmd+Shift+R (Mac) or Ctrl+Shift+R (Windows)
"WakaTime API returns empty"
- Make sure you've coded for at least 1 minute
- Check WakaTime dashboard to verify it's tracking
- Verify API key is correct
What You're Doing RIGHT NOW
Based on the latest data:
- ✅ Music: Listening to "I'm Gonna Be (500 Miles)" by The Proclaimers
- ❌ Coding: Not detected (null)
- ❌ Gaming: Not playing
To make coding appear:
- Use mock data (Option from Step 2) - instant
- Set up WakaTime (Option A) - 5 minutes
- Use Discord RPC (Option B) - 10 minutes
- Use time-based (Option C) - instant but not accurate
Need Help?
The activity feed will now show a warning when coding isn't detected with a helpful tip!
Quick Start: Use the mock data from Step 2 to see how it looks, then set up real tracking later!