denshooter
c989f15cab
fix: Add n8n environment variables to production deployment
...
Production Deployment (Zero Downtime) / deploy-production (push) Failing after 10m24s
- Add N8N_WEBHOOK_URL, N8N_SECRET_TOKEN, N8N_API_KEY to docker-compose.production.yml
- Export environment variables in workflow before docker-compose up
- Improve error logging in chat API for better debugging
- Add better error handling in ChatWidget component
- Create setup guide for n8n chat configuration
2026-01-09 19:40:00 +01:00
denshooter
c5b607a253
fix: Improve n8n chat response parsing
...
Dev Deployment (Zero Downtime) / deploy-dev (push) Successful in 13m6s
- Add comprehensive parsing for various n8n response formats
- Check multiple field names (reply, message, response, text, content, answer, output, result)
- Handle array responses and nested structures (data, json, items)
- Add recursive search for string values in complex objects
- Improve logging to show full n8n response structure
- Only use fallback if truly no response found
2026-01-09 18:11:03 +01:00
denshooter
4184e2fcf0
fix: Decode HTML entities in chat responses and improve n8n error handling
...
Dev Deployment (Zero Downtime) / deploy-dev (push) Has been cancelled
- Add HTML entity decoding for chat responses (fixes ' display issue)
- Add timeout handling for n8n webhook requests (30s chat, 10s status)
- Improve error logging with detailed error information
- Add N8N_SECRET_TOKEN support for authentication
- Better fallback handling when n8n is unavailable
- Fix server-side HTML entity decoding for chat and status endpoints
2026-01-09 14:52:26 +01:00
denshooter
fd49095710
feat: Optimize builds, add rollback script, and improve security
...
Dev Deployment (Zero Downtime) / deploy-dev (push) Successful in 13m33s
Build Optimizations:
- Enable Docker BuildKit cache for faster builds (7min → 3-4min)
- Add .dockerignore to reduce build context
- Optimize Dockerfile with better layer caching
- Run linting and tests in parallel
- Skip blocking checks for dev deployments
Rollback Functionality:
- Add rollback.sh script to restore previous versions
- Supports both production and dev environments
- Automatic health checks after rollback
Security Improvements:
- Add authentication to n8n/generate-image endpoint
- Add rate limiting to all n8n endpoints (10-30 req/min)
- Create email obfuscation utilities
- Add ObfuscatedEmail React component
- Document security best practices
Files:
- .dockerignore - Faster builds
- scripts/rollback.sh - Rollback functionality
- lib/email-obfuscate.ts - Email obfuscation utilities
- components/ObfuscatedEmail.tsx - React component
- SECURITY_IMPROVEMENTS.md - Security documentation
2026-01-09 14:30:14 +01:00
denshooter
393e8c01cd
feat: Enhance Dockerfile with verification for standalone output and update n8n status route to handle missing webhook URL
CI/CD Pipeline (Dev/Staging) / staging (push) Failing after 7m56s
2026-01-09 02:36:21 +01:00
denshooter
cd4d2367ab
full upgrade to dev
2026-01-08 16:27:40 +01:00
denshooter
884d7f984b
full upgrade to dev
2026-01-08 04:24:22 +01:00
denshooter
e2c2585468
feat: update Projects component with framer-motion variants and improve animations
...
refactor: modify layout to use ClientOnly and BackgroundBlobsClient components
fix: correct import statement for ActivityFeed in the main page
fix: enhance sitemap fetching logic with error handling and mock support
refactor: convert BackgroundBlobs to default export for consistency
refactor: simplify ErrorBoundary component and improve error handling UI
chore: update framer-motion to version 12.24.10 in package.json and package-lock.json
test: add minimal Prisma Client mock for testing purposes
feat: create BackgroundBlobsClient for dynamic import of BackgroundBlobs
feat: implement ClientOnly component to handle client-side rendering
feat: add custom error handling components for better user experience
2026-01-08 01:39:17 +01:00
denshooter
c5efd28383
full upgrade
2026-01-07 23:13:25 +01:00
denshooter
4cd3f60c98
feat: Fix hydration errors, navbar overlap, and add AI image generation system
...
## 🎨 UI/UX Fixes
### Fixed React Hydration Errors
- ActivityFeed: Standardized button styling (gradient → solid)
- ActivityFeed: Unified icon sizes and spacing for SSR/CSR consistency
- ActivityFeed: Added timestamps to chat messages for stable React keys
- About: Fixed duplicate keys in tech stack items (added unique key combinations)
- Projects: Fixed duplicate keys in project tags (combined projectId + tag + index)
### Fixed Layout Issues
- Added spacer after Header component (h-24 md:h-32) to prevent navbar overlap
- Hero section now properly visible below fixed navbar
## 🔧 Backend Improvements
### Database Schema
- Added ActivityStatus model for real-time activity tracking
- Supports: coding activity, music playing, watching, gaming, status/mood
- Single-row design (id=1) with auto-updating timestamps
### API Enhancements
- Fixed n8n status endpoint to handle missing table gracefully
- Added TypeScript interfaces (removed ESLint `any` warnings)
- New API: POST /api/n8n/generate-image for AI image generation
- New API: GET /api/n8n/generate-image?projectId=X for status check
## 🔐 Security & Auth
### Middleware Updates
- Removed premature auth redirect for /manage and /editor routes
- Pages now handle their own authentication (show login forms)
- Security headers still applied to all routes
## 🤖 New Feature: AI Image Generation System
### Complete automated project cover image generation using local Stable Diffusion
**Core Components:**
- Admin UI component (AIImageGenerator.tsx) with preview, generate, and regenerate
- n8n workflow integration for automation
- Context-aware prompt generation based on project metadata
- Support for 10+ project categories with optimized prompts
**Documentation (6 new files):**
- README.md - System overview and features
- SETUP.md - Detailed installation guide (486 lines)
- QUICKSTART.md - 15-minute quick start
- PROMPT_TEMPLATES.md - Category-specific templates (612 lines)
- ENVIRONMENT.md - Environment variables reference
- n8n-workflow-ai-image-generator.json - Ready-to-import workflow
**Database Migration:**
- SQL script: create_activity_status.sql
- Auto-setup script: quick-fix.sh
- Migration guide: prisma/migrations/README.md
**Key Features:**
✅ Automatic generation on project creation
✅ Manual regeneration via admin UI
✅ Category-specific prompts (web, mobile, devops, ai, game, etc.)
✅ Local Stable Diffusion (no API costs, privacy-first)
✅ n8n workflow orchestration
✅ Optimized for web (1024x768)
## 📝 Documentation
- CHANGELOG_DEV.md - Complete changelog with migration guide
- PRE_PUSH_CHECKLIST.md - Pre-push verification checklist
- Comprehensive AI image generation docs
## 🐛 Bug Fixes
1. Fixed "Hydration failed" errors in ActivityFeed
2. Fixed "two children with same key" warnings
3. Fixed navbar overlapping hero section
4. Fixed "relation activity_status does not exist" errors
5. Fixed /manage redirect loop (was going to home page)
6. Fixed TypeScript ESLint errors and warnings
7. Fixed duplicate transition prop in Hero component
## ⚠️ Breaking Changes
None - All changes are backward compatible
## 🔄 Migration Required
Database migration needed for new ActivityStatus table:
```bash
./prisma/migrations/quick-fix.sh
# OR
psql -d portfolio -f prisma/migrations/create_activity_status.sql
```
## 📦 Files Changed
**Modified (7):**
- app/page.tsx
- app/components/About.tsx
- app/components/Projects.tsx
- app/components/ActivityFeed.tsx
- app/components/Hero.tsx
- app/api/n8n/status/route.ts
- middleware.ts
- prisma/schema.prisma
**Created (14):**
- app/api/n8n/generate-image/route.ts
- app/components/admin/AIImageGenerator.tsx
- docs/ai-image-generation/* (6 files)
- prisma/migrations/* (3 files)
- CHANGELOG_DEV.md
- PRE_PUSH_CHECKLIST.md
- COMMIT_MESSAGE.txt
## ✅ Testing
- [x] Build successful: npm run build
- [x] Linting passed: npm run lint (0 errors, 8 warnings)
- [x] No hydration errors in console
- [x] No duplicate key warnings
- [x] /manage accessible (shows login form)
- [x] API endpoints responding correctly
- [x] Navbar no longer overlaps content
## 🚀 Next Steps
1. Test AI image generation with Stable Diffusion setup
2. Test n8n workflow integration
3. Create demo screenshots for new features
4. Update main README.md after merge
---
Co-authored-by: AI Assistant (Claude Sonnet 4.5)
2026-01-07 14:38:57 +01:00
denshooter
26a8610aa7
full upgrade to dev
2026-01-07 14:30:00 +01:00
denshooter
4dc727fcd6
feat: add activity feed and background effects
...
- Implemented ActivityFeed component to display real-time user activity including coding, music, and chat interactions.
- Added GooFilter and BackgroundBlobs components for enhanced visual effects.
- Updated layout to include new components and ensure proper stacking context.
- Enhanced Tailwind CSS configuration with new color and font settings.
- Created API route to mock activity data from n8n.
- Refactored main page structure to streamline component rendering.
2026-01-06 20:10:00 +01:00