Add SEO fields to Tasks model, improve content generation response handling, and enhance progress bar animation

- Added primary_keyword, secondary_keywords, tags, and categories fields to Tasks model
- Updated generate_content function to handle full JSON response with all SEO fields
- Improved progress bar animation: smooth 1% increments every 300ms
- Enhanced step detection for content generation vs clustering vs ideas
- Fixed progress modal to show correct messages for each function type
- Added comprehensive logging to Keywords and Tasks pages for AI functions
- Fixed error handling to show meaningful error messages instead of generic failures
This commit is contained in:
Gitea Deploy
2025-11-09 21:22:34 +00:00
parent 09d22ab0e2
commit 961362e088
17340 changed files with 10636 additions and 2248776 deletions

44
cmd/check-vite-status.sh Normal file
View File

@@ -0,0 +1,44 @@
#!/bin/bash
# Quick Vite dev server status check
echo "╔════════════════════════════════════════════════════════════╗"
echo "║ Vite Dev Server Status Check (Port 8021) ║"
echo "╚════════════════════════════════════════════════════════════╝"
echo ""
# Check Docker container
echo "📦 Docker Container Status:"
if docker ps --filter "name=igny8_frontend" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep -q igny8_frontend; then
docker ps --filter "name=igny8_frontend" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
else
echo " ❌ Container 'igny8_frontend' not found or not running"
fi
echo ""
# Check port
echo "🔌 Port 8021 Status:"
if netstat -tuln 2>/dev/null | grep -q ":8021" || ss -tuln 2>/dev/null | grep -q ":8021"; then
echo " ✅ Port 8021 is listening"
netstat -tuln 2>/dev/null | grep ":8021" || ss -tuln 2>/dev/null | grep ":8021"
else
echo " ❌ Port 8021 is not listening"
fi
echo ""
# Test HTTP response
echo "🌐 HTTP Response Test:"
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8021/ 2>/dev/null)
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "304" ]; then
echo " ✅ Server responding (HTTP $HTTP_CODE)"
else
echo " ❌ Server not responding (HTTP $HTTP_CODE or connection failed)"
fi
echo ""
# Check recent logs
echo "📋 Recent Container Logs (last 10 lines):"
docker logs igny8_frontend --tail 10 2>/dev/null || echo " ⚠️ Could not fetch logs"
echo ""
echo "════════════════════════════════════════════════════════════"

14
cmd/logs.sh Normal file
View File

@@ -0,0 +1,14 @@
#!/bin/bash
# Quick log check - last 50 lines
echo "=== Backend Logs ==="
docker logs igny8_backend --tail 50
echo ""
echo "=== Celery Worker Logs ==="
docker logs igny8_celery_worker --tail 50
echo ""
echo "=== Celery Beat Logs ==="
docker logs igny8_celery_beat --tail 50

22
cmd/restart-backend.sh Normal file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
# Restart backend containers to pick up code changes
echo "🛑 Stopping backend containers..."
docker stop igny8_backend igny8_celery_worker igny8_celery_beat
echo "⏳ Waiting 3 seconds..."
sleep 3
echo "🚀 Starting backend containers..."
docker start igny8_backend igny8_celery_worker igny8_celery_beat
echo "⏳ Waiting 5 seconds for containers to initialize..."
sleep 5
echo "📋 Checking container status..."
docker ps --filter "name=igny8" --format " {{.Names}} | {{.Status}}"
echo ""
echo "📝 Checking backend logs for errors..."
docker logs igny8_backend --tail 20

45
cmd/st.sh Normal file
View File

@@ -0,0 +1,45 @@
#!/bin/bash
# Quick status check script for IGNY8 stacks and containers
echo "╔════════════════════════════════════════════════════════════════════════════╗"
echo "║ IGNY8 STACK & CONTAINER STATUS REPORT ║"
echo "╚════════════════════════════════════════════════════════════════════════════╝"
echo ""
echo "📦 APP STACK (igny8-app):"
docker ps --filter "label=com.docker.compose.project=igny8-app" --format " ✅ {{.Names}} | Status: {{.Status}} | Ports: {{.Ports}}"
if [ $? -ne 0 ] || [ -z "$(docker ps --filter 'label=com.docker.compose.project=igny8-app' --format '{{.Names}}')" ]; then
echo " ⚠️ No app stack containers found"
fi
echo ""
echo "🏗️ INFRA STACK (igny8-infra):"
docker ps --filter "label=com.docker.compose.project=igny8-infra" --format " ✅ {{.Names}} | Status: {{.Status}}"
if [ $? -ne 0 ] || [ -z "$(docker ps --filter 'label=com.docker.compose.project=igny8-infra' --format '{{.Names}}')" ]; then
echo " ⚠️ No infra stack containers found"
fi
echo ""
echo "🌐 NETWORK CONNECTIVITY (igny8_net):"
CONTAINER_COUNT=$(docker network inspect igny8_net --format '{{len .Containers}}' 2>/dev/null || echo "0")
echo " Connected: $CONTAINER_COUNT containers"
echo ""
echo "🔍 SERVICE HEALTH CHECKS:"
BACKEND_CODE=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:8011/api/v1/plans/ 2>/dev/null || echo "000")
FRONTEND_CODE=$(curl -s -o /dev/null -w '%{http_code}' http://localhost:8021/ 2>/dev/null || echo "000")
POSTGRES_HEALTH=$(docker exec igny8_postgres pg_isready -U igny8 2>&1 | grep -q 'accepting' && echo "healthy" || echo "unhealthy")
REDIS_HEALTH=$(docker exec igny8_redis redis-cli ping 2>&1 | grep -q PONG && echo "healthy" || echo "unhealthy")
echo " Backend API: $BACKEND_CODE $([ "$BACKEND_CODE" = "200" ] && echo "✅" || echo "❌")"
echo " Frontend: $FRONTEND_CODE $([ "$FRONTEND_CODE" = "200" ] && echo "✅" || echo "❌")"
echo " Postgres: $POSTGRES_HEALTH $([ "$POSTGRES_HEALTH" = "healthy" ] && echo "✅" || echo "❌")"
echo " Redis: $REDIS_HEALTH $([ "$REDIS_HEALTH" = "healthy" ] && echo "✅" || echo "❌")"
echo ""
echo "📋 ALL IGNY8 CONTAINERS:"
docker ps --filter "name=igny8" --format " {{.Names}} | {{.Image}} | {{.Status}}"
echo ""
echo "════════════════════════════════════════════════════════════════════════════"