widgets and other fixes

This commit is contained in:
IGNY8 VPS (Salman)
2026-01-11 15:24:52 +00:00
parent 747770ac58
commit e9369df151
16 changed files with 761 additions and 277 deletions

View File

@@ -2,7 +2,7 @@
**Date:** January 10, 2026
**Last Updated:** January 10, 2026
**Priority:** CRITICAL
**Status:** Phases 1-4 Complete - Phase 5 Next
**Status:** Phases 1-6 Complete - Phase 7 (Optional Features)
---
@@ -24,9 +24,9 @@ This plan tracks all identified system issues, their status, and implementation
- ✅ Phase 2 (Automation & Credits): COMPLETED (Jan 10, 2026 - 2 hours)
- ✅ Phase 3 (Calendar & Content): COMPLETED (Jan 10, 2026 - 1 hour)
- ✅ Phase 4 (Widget & Data Consistency): COMPLETED (Jan 10, 2026 - 30 min)
- Phase 5 (Sites & Settings): PENDING
- Phase 6 (Branding & Terminology): PENDING
- Phase 7 (New Features): PENDING
- Phase 5 (Sites & Settings): COMPLETED (Jan 10, 2026 - 30 min)
- Phase 6 (Branding & Terminology): COMPLETED (Jan 10, 2026 - 45 min)
- Phase 7 (New Features): COMPLETED (Jan 10, 2026 - Issue 17 verified, Issue 16 skipped)
**Impact:** These fixes will ensure:
- ✅ All AI functions log consistently to AI tasks, notifications, and usage logs
@@ -879,41 +879,44 @@ Add regenerate button to content view:
## ISSUE 17: Auto-Publish After Stage 7 Approval
### 🟢 NEW FEATURE - Enhancement
### ✅ COMPLETED - Already Implemented
**Problem:**
After Stage 7 (Review) completes and content is approved, need to automatically schedule content for publishing based on auto-publish settings.
**Current Flow:**
Stage 7 → Content status = 'approved' → STOPS
**Actual Flow (VERIFIED IN CODE):**
Stage 7 → Content status = 'review' → IF auto_approval_enabled → Status = 'approved' → IF auto_publish_enabled → Schedule for publishing
**Desired Flow:**
Stage 7 → Content status = 'approved' → IF auto_publish_enabled → Schedule for next available slot → Publish
**Implementation Status:**
**Implementation:**
### ✅ Backend Implementation - COMPLETE
**File:** `backend/igny8_core/business/automation/services/automation_service.py` (lines 1475-1710)
### Backend (automation_service.py):
After stage 7 completion, add:
```python
# After approving content
if publishing_settings.auto_publish_enabled:
# Get next available publish slot based on schedule
next_slot = get_next_publish_slot(site)
# Schedule content
for content in approved_content:
content.site_status = 'scheduled'
content.scheduled_publish_at = next_slot
content.save()
next_slot = get_next_slot_after(next_slot, publishing_settings)
```
**Stage 7 Logic:**
1. Line 1491: Checks `publishing_settings.auto_approval_enabled`
2. Lines 1507-1590: If enabled, changes content status from 'review' → 'approved'
3. Line 1632: Checks `publishing_settings.auto_publish_enabled`
4. Lines 1640-1680: If enabled, schedules approved content:
- Calls `_calculate_available_slots(publishing_settings, site)`
- Assigns `scheduled_publish_at` timestamps to content
- Sets `site_status = 'scheduled'`
- Respects daily/weekly/monthly publish limits
### Publishing Scheduler:
The existing `publishing_scheduler.py` task should pick up scheduled content and publish at the scheduled time.
### Publishing Scheduler - COMPLETE
**File:** `backend/igny8_core/tasks/publishing_scheduler.py`
- `_calculate_available_slots()` function exists (lines 109-240)
- Calculates next 30 days of available slots
- Respects publish_days, publish_time_slots, and limits
- Returns list of datetime objects
**Files to Modify:**
1. `backend/igny8_core/business/automation/services/automation_service.py`
2. `backend/igny8_core/tasks/publishing_scheduler.py` (if needed)
### ✅ Site Settings Toggles - FUNCTIONAL
**File:** `frontend/src/pages/Sites/Settings.tsx`
- Auto-Approval toggle (line 1069) - saves immediately
- Auto-Publish toggle (line 1085) - saves immediately
- Both call `savePublishingSettings()` via PATCH API
**Verification Date:** January 10, 2026
**Status:** Code review confirms full implementation - ready for E2E testing
---
## UPDATED IMPLEMENTATION PRIORITY & ORDER
@@ -984,38 +987,76 @@ The existing `publishing_scheduler.py` task should pick up scheduled content and
- Footer displays: Credits Balance, Quick Stats, Workflow Completion
- **Status:** Widgets functional, data sourced from site-wide stats
### Phase 5: Sites & Settings
**Estimated Time: 1-2 hours**
### Phase 5: Sites & Settings (COMPLETED - Jan 10, 2026)
**Actual Time: 30 minutes**
12. 🔴 **Issue 13: Add Site Button** (1 hour)
- Debug WorkflowGuide toggle
- Fix or replace component
12. **Issue 13: Add Site Button** (COMPLETED - 20 min)
- **Root Cause:** Sites/List.tsx used local `showWelcomeGuide` state, but WorkflowGuide component checks `isGuideVisible` from onboarding store
- **Fix:** Replaced local state with `useOnboardingStore()` hook and `toggleGuide()` method
- **Changes:**
- Added onboarding store import
- Replaced `showWelcomeGuide` state with `isGuideVisible` from store
- Changed button onClick from local setState to `toggleGuide()`
- Fixed both top button and empty state button
- **File:** `frontend/src/pages/Sites/List.tsx`
13. 🟡 **Issue 12: Usage Logs Documentation** (30 min)
- Add help text/tooltips
- Document cost formula
13. **Issue 12: Usage Logs Documentation** (COMPLETED - 10 min)
- Added info card explaining cost calculation formulas
- Card displays:
- Text operations formula: (Tokens ÷ Tokens per Credit) × Credit Price
- Image operations formula: (Images × Credits per Image) × Credit Price
- Note about total cost including provider + credit costs
- **File:** `frontend/src/pages/account/UsageLogsPage.tsx`
### Phase 6: Branding & Terminology
**Estimated Time: 1-2 hours**
### Phase 6: Branding & Terminology (COMPLETED - Jan 10, 2026)
**Actual Time: 45 minutes**
14. 🟡 **Issue 14: AI Model Names** (30 min)
- Replace GPT/DALL-E with IGNY8 AI
- Update Help page
14. **Issue 14: AI Model Names Branding** (COMPLETED - 25 min)
- Replaced all user-facing AI provider references with "IGNY8 AI"
- Changed quality tier names from provider-specific to generic:
- "DALL-E 3" → "Premium quality"
- "Runware" → "Basic quality"
- "GPT-4o/Claude" → "IGNY8 AI"
- Updated sections:
- FAQ answers (3 questions)
- Image Settings tab description
- Image Generation section (2 locations)
- AI Providers section
- Credit System section
- **File:** `frontend/src/pages/Help/Help.tsx`
15. 🟡 **Issue 15: WordPress to Site** (1 hour)
- Audit all "WordPress" text
- Replace with "site" where appropriate
15. **Issue 15: WordPress to Site Terminology** (COMPLETED - 20 min)
- Replaced generic WordPress references with "site" or "your site"
- Kept WordPress-specific references in integration contexts
- Updated 11 locations:
- Workflow pipeline FAQ
- Image generation FAQ
- Status badges and descriptions
- Publish actions
- Featured image descriptions
- Review stage intro
- Calendar tracking descriptions
- **Guideline Applied:**
- Integration sections: Keep "WordPress" (e.g., "WordPress Integration", "IGNY8 WP Bridge plugin")
- Generic contexts: Use "site" (e.g., "Publish to your site", "Live on your site")
- **File:** `frontend/src/pages/Help/Help.tsx`
### Phase 7: New Features (If Time Permits)
**Estimated Time: 4-6 hours**
### Phase 7: New Features (COMPLETED - Jan 10, 2026)
**Actual Time: 0 hours (verification only)**
16. 🟢 **Issue 16: Image Regeneration** (3 hours)
- Backend API implementation
- Frontend modal with options
16. ⏭️ **Issue 16: Image Regeneration** (SKIPPED per user request)
- User requested to skip this issue
- Can be implemented in future if needed
17. 🟢 **Issue 17: Auto-Publish After Stage 7** (2 hours)
- Integrate with automation
- Use publishing scheduler
17. **Issue 17: Auto-Publish After Stage 7** (VERIFIED - 0 hours)
- Already implemented in automation_service.py
- Code review confirmed full functionality:
- Auto-approval logic (line 1491)
- Status change 'review' → 'approved' (line 1569)
- Auto-publish check (line 1632)
- Scheduling with slot calculation (lines 1640-1680)
- Site Settings toggles functional and saving correctly
- **File:** `backend/igny8_core/business/automation/services/automation_service.py`
---
@@ -1034,18 +1075,19 @@ The existing `publishing_scheduler.py` task should pick up scheduled content and
| 9 | Publishing Save Button | ✅ | DONE | 20m |
| 10 | Pagination Issues | ✅ | VERIFIED | - |
| 11 | Footer Widgets Audit | ✅ | DOCUMENTED | 10m |
| 12 | Usage Logs Docs | 🟡 | TODO | 30m |
| 13 | Add Site Button | 🔴 | TODO | 1h |
| 14 | AI Model Names | 🟡 | TODO | 30m |
| 15 | WordPress → Site | 🟡 | TODO | 1h |
| 16 | Image Regeneration | 🟢 | NEW | 3h |
| 17 | Auto-Publish Stage 7 | 🟢 | NEW | 2h |
| 12 | Usage Logs Docs | | DONE | 10m |
| 13 | Add Site Button | | DONE | 20m |
| 14 | AI Model Names | | DONE | 25m |
| 15 | WordPress → Site | | DONE | 20m |
| 16 | Image Regeneration | ⏭️ | SKIPPED | - |
| 17 | Auto-Publish Stage 7 | | VERIFIED | - |
**Legend:**
- 🔴 CRITICAL - Must fix
- 🟡 MEDIUM - Should fix
- 🟢 LOW/NEW - Nice to have
- ✅ COMPLETED
- ⏭️ SKIPPED
---
@@ -1094,19 +1136,21 @@ The existing `publishing_scheduler.py` task should pick up scheduled content and
6.**Widget shows consistent data across all pages** (DONE - Jan 10)
7.**Content calendar displays scheduled and published content** (DONE - Jan 10)
8.**Auto-approve and auto-publish work correctly** (VERIFIED - Jan 10)
9. **Add Site button works on Sites page**
10. **Consistent IGNY8 AI branding throughout**
11. **Generic "site" terminology where appropriate**
9. **Add Site button works on Sites page** (DONE - Jan 10)
10. **Consistent IGNY8 AI branding throughout** (DONE - Jan 10)
11. **Generic "site" terminology where appropriate** (DONE - Jan 10)
---
## END OF COMPREHENSIVE FIX PLAN v2
**Last Updated:** January 10, 2026 - 16:00 UTC
**Total Issues:** 17 (11 completed, 6 pending)
**Critical Issues:** 1 pending (Issue 13)
**Estimated Remaining Time:** 10-12 hours
**Last Updated:** January 10, 2026 - 19:30 UTC
**Total Issues:** 17
**Completed:** 16 issues (Issues 1-15, 17)
**Skipped:** 1 issue (Issue 16)
**Critical Issues:** 0 pending - All critical and medium priority issues resolved!
**Phase 7 Status:** Complete (Issue 17 verified as already implemented, Issue 16 skipped per user request)
This plan is based on actual codebase analysis and reflects the true state of the system.
**Ready for implementation.** 🚀
**🎉 ALL PHASES COMPLETE! 🎉**