# Coding Detection Debug Guide ## Current Status Your n8n webhook is returning: ```json { "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: 1. **Do you have a node that fetches coding data?** - WakaTime API call? - Discord API for Rich Presence? - Custom webhook receiver? 2. **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: ```javascript // 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) 1. **Sign up**: https://wakatime.com/ 2. **Install plugin** in VS Code/your IDE 3. **Get API key**: https://wakatime.com/settings/account 4. **Add HTTP Request node** in n8n: ```javascript // 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) 1. **Install extension**: "Discord Presence" in VS Code 2. **Enable broadcasting** in extension settings 3. **Add Discord API call** in n8n: ```javascript // 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": ```javascript // 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: ```bash # 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: 1. Use mock data (Option from Step 2) - instant 2. Set up WakaTime (Option A) - 5 minutes 3. Use Discord RPC (Option B) - 10 minutes 4. 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!