diff --git a/backend/igny8_core/ai/tasks.py b/backend/igny8_core/ai/tasks.py index 67f03d54..b743513a 100644 --- a/backend/igny8_core/ai/tasks.py +++ b/backend/igny8_core/ai/tasks.py @@ -544,10 +544,9 @@ def process_image_generation_queue(self, image_ids: list, account_id: int = None # Try frontend/public/images/ai-images/ first (web-accessible) try: - from django.conf import settings - base_dir = Path(settings.BASE_DIR) if hasattr(settings, 'BASE_DIR') else Path(__file__).resolve().parent.parent.parent - # Navigate to frontend/public/images/ai-images/ - images_dir = str(base_dir / 'frontend' / 'public' / 'images' / 'ai-images') + # Use absolute path: /data/app/igny8/frontend/public/images/ai-images/ + # This matches the structure where frontend is at project root level + images_dir = '/data/app/igny8/frontend/public/images/ai-images' os.makedirs(images_dir, exist_ok=True) # Test write access test_file = os.path.join(images_dir, '.write_test') diff --git a/backend/igny8_core/modules/writer/views.py b/backend/igny8_core/modules/writer/views.py index fe68a8d4..66358e7d 100644 --- a/backend/igny8_core/modules/writer/views.py +++ b/backend/igny8_core/modules/writer/views.py @@ -402,19 +402,11 @@ class ImagesViewSet(SiteSectorModelViewSet): # Try alternative locations based on the filename filename = os.path.basename(file_path) alternative_paths = [ - '/data/app/igny8/images/' + filename, # Primary location + '/data/app/igny8/frontend/public/images/ai-images/' + filename, # Primary location (web-accessible) + '/data/app/igny8/images/' + filename, # Secondary location '/data/app/images/' + filename, # Fallback location ] - # Also try project-relative path - try: - from django.conf import settings - from pathlib import Path - base_dir = Path(settings.BASE_DIR) if hasattr(settings, 'BASE_DIR') else Path(__file__).resolve().parent.parent.parent - alternative_paths.append(str(base_dir / 'data' / 'app' / 'images' / filename)) - except Exception: - pass - # Try each alternative path found = False for alt_path in alternative_paths: diff --git a/frontend/src/components/common/ContentImageCell.tsx b/frontend/src/components/common/ContentImageCell.tsx index 50e79909..9b46b34d 100644 --- a/frontend/src/components/common/ContentImageCell.tsx +++ b/frontend/src/components/common/ContentImageCell.tsx @@ -97,8 +97,8 @@ export default function ContentImageCell({ image, maxPromptLength = 100 }: Conte {image.status === 'generated' && (
- {/* Show local image if available, otherwise show original URL */} - {image.image_path ? ( + {/* Always show image from image_path if available, otherwise from image_url */} + {image.image_path && image.image_path.trim() ? ( <>