2025 Dev
GitHub Activity Dashboard
Activity Patterns
Activity Timeline
Recent Activity
Merge pull request #7 from johnafarmer/add-interactive-location-analytics-map Interactive Location Analytics with World Map Visualization
feat: Add interactive location analytics with world map visualization - Implement interactive world map component with heat map visualization - Add drill-down capability from country to region/city level - Create location data panels with visitor counts and percentages - Add backend endpoints for hierarchical location data aggregation - Integrate enhanced geo data (cities, regions) from MaxMind database - Maintain cyberpunk aesthetic with gold heat map and glassmorphism effects Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
Preserve theme customizations and backup history for hardware migration Added enhancements to hellpuccin theme: - Dashboard colors for JOHN-VM welcome screen (crimson/blood red palette) - Neo-tree file explorer integration with hellish theme - Git status indicators with dark red accent colors - Cursor and selection highlighting Committed all theme backup directories (20 backups from Sept-Nov 2025): - Complete history of theme evolution and configurations - Safety rollback points for theme system - Preserves all color customizations and tweaks This commit captures the complete state of VM personalizations for potential hardware migration/upgrade. All customizations, themes, and configuration history now safely version-controlled. 🤖 Generated with [Claude Code](https://claude.com/claude-code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
Add comprehensive VM setup documentation Added VM_SETUP_GUIDE.md - a complete 2,000+ line deep-dive guide covering: - LXC architecture and Hetzner VPS specifications - SSH tunneling + VNC access configuration - Multi-Claude orchestration across 6 concurrent projects - Tmux dashboard system with asymmetric layouts - Unified theme engine for cross-application theming - Production tools (Sauron, Rep, JuanClaude, DEMON, XK, OS) - VNC keyboard limitation solutions - Security architecture and 78-day uptime analysis - Complete step-by-step replication guide Updated CLAUDE.md to reference the comprehensive guide with context on when to use it. 🤖 Generated with [Claude Code](https://claude.com/claude-code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
Merge pull request #6 from johnafarmer/feat/appearance-settings-scanline-toggle feat: Add appearance settings with scan line toggle
feat: Add appearance settings with scan line toggle Add an Appearance section to the Settings page with a toggle to enable/disable the gold scan line animation effect on the Dashboard. The preference persists via localStorage and defaults to off. - Create useAppearance hook with React Context and localStorage persistence - Add luxury-styled toggle switch with gold gradient and glow effects - Conditionally render Dashboard scan line based on user preference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Merge pull request #5 from johnafarmer/fix/export-import-endpoints fix: Implement missing export/import API endpoints
fix: Implement missing export/import API endpoints The export and import buttons in Settings were calling API endpoints that didn't exist, causing "invalid file format" errors on import attempts. - Add getAllEvents() and getAllEventsForDomain() methods to database class - Add GET /api/analytics/export endpoint with JSON file download - Add POST /api/analytics/import endpoint with validation and detailed results - Add isValidEvent() helper for import validation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Merge pull request #4 from johnafarmer/feat/luxury-gold-glassmorphism-redesign feat: Luxury black & gold glassmorphism redesign
feat: Redesign dashboard with luxury black & gold glassmorphism theme Transform the entire frontend from blue/pink cyberpunk to a sophisticated black and gold luxury aesthetic with glassmorphism effects throughout. Key changes: - New color palette: deep blacks (#0a0a0a-#1a1a1a) with gold spectrum (#FFD700, #D4AF37, #C9A227, #B8860B) - Glassmorphism containers with backdrop-filter blur effects - Playfair Display serif font for headers, Fira Code for data - Rose-gold (#CD7F6E) for error states to maintain visibility while staying in palette - Gold-tinted status colors for web vitals (golden-green, amber, bronze) - Updated all chart components with gold color arrays and glass tooltips - Refined button variants with gold gradients and hover sweep effects - Elegant modal animations with scale and fade transitions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Merge pull request #3 from johnafarmer/fix-settings-delete-confirmation Fix domain delete confirmation logic and add missing endpoint
Fix domain delete confirmation logic and add missing endpoint - Fix confirmation check to properly validate "RESET" for full database reset vs domain name for single domain deletion - Add /api/analytics/clear-domain-data endpoint that was missing from the server - Add user feedback via status messages on success/failure - Auto-clear status message after 5 seconds 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
feat: Add rich pages analytics table with terminal-style design - Wire up /api/analytics/pages-detail endpoint (was never called) - Create cyberpunk data table with views, visitors, time, bounce rate - Color-coded bounce rate indicator (green/amber/orange/red by severity) - Staggered row animations, hover effects with gradient border glow - Relative views bar visualization per row - Responsive design hiding less essential columns on mobile 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
feat: Redesign DomainDetails with cyberpunk aesthetic + fix remaining tabs - Fix UTM/Tech/Performance data extraction (API wraps in property) - Complete visual overhaul matching Dashboard styling - Add scanline background, gradient overlays, glow effects - Color-coded stat cards with animated entrance - Styled tabs with hover transforms and glow states - Terminal-style section titles with pulsing prefix - Proper loading spinner and empty states 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
fix: Transform API response formats for DomainDetails page Countries endpoint now returns array format [{ country, count }] instead of object, and traffic endpoint uses time_period property to match frontend expectations. Fixes chart not rendering and Locations tab crash. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
fix: Remove index.html from git (Vite build output) The HTML file contains script references with hashed filenames. When committed to git, Nixpacks' final COPY overwrites the fresh Vite build with the old committed version, causing the browser to request old JS bundles that don't exist. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
fix: Remove built client assets from git tracking The Nixpacks build has a final COPY step that overwrites freshly built files with old files from git. This was causing the OLD JavaScript bundle to be served instead of the new one, meaning code fixes never made it to production. By removing public/assets/ from git, the fresh Vite build will be used. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
debug: Add console logging to DomainDetails fetch Adding debug logs to trace why stats aren't updating despite successful API responses. Will show: - When fetch is called - What data is returned from APIs - What stats are being set - Any errors in the catch block 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
fix: DomainDetails page showing 0's for metrics The pageviews API returns a number, not an array. DomainDetails was incorrectly trying to call .reduce() on it, which failed and fell back to 0. Fixed to handle the response as a simple number like the Dashboard page does. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
fix: Strip ES module exports from browser tracker build Bun's format: 'iife' option doesn't reliably work in all build environments (particularly Nixpacks). Added post-processing to strip any export statements from the browser tracker output, ensuring browser compatibility regardless of build environment. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>