fix: télécharger l'image avant traitement Sharp pour les stories avec texte

This commit is contained in:
Michael committed 2026-01-20 11:34:59 +01:00
1 parent 4f8bab176a
commit b38f082d6e
2 files changed
+18 -13

No files matched your search

+8 -1
View File
@@ -125,8 +125,15 @@ export class ImageProcessor {
// Remove hashtags from text while keeping emojis // Remove hashtags from text while keeping emojis
const cleanText = removeHashtags(text); const cleanText = removeHashtags(text);
// Download image from URL first (Sharp can't read URLs directly)
const imageResponse = await fetch(imageUrl);
if (!imageResponse.ok) {
throw new Error(`Failed to fetch image from URL: ${imageUrl}`);
}
const imageBuffer = Buffer.from(await imageResponse.arrayBuffer());
// Pre-process image with sharp to apply rotation // Pre-process image with sharp to apply rotation
const rotationBuffer = await sharp(imageUrl) const rotationBuffer = await sharp(imageBuffer)
.rotate() // Apply EXIF rotation .rotate() // Apply EXIF rotation
.toBuffer(); .toBuffer();
+10 -12
View File
@@ -1,27 +1,25 @@
# Task: Correction Chiffrement Automatique - Socialflow # Task: Correction Texte Stories Facebook - Socialflow
## Context ## Context
Correction de l'erreur 500 causée par l'absence de `ENCRYPTION_KEY` dans l'environnement Docker. Implémentation de la génération automatique de la clé de chiffrement au premier lancement. Correction d'un bug où le texte ne s'affichait plus sur les stories Facebook après une correction de l'orientation des images.
## Current Focus ## Current Focus
✅ Implémentation terminée - Prêt pour déploiement. ✅ Correction terminée - Prêt pour déploiement.
## Master Plan ## Master Plan
- [x] Diagnostiquer l'erreur 500 sur `/api/pages/:id` - [x] Investiguer le problème de texte manquant sur les stories
- [x] Identifier la cause : `ENCRYPTION_KEY` manquant en production - [x] Identifier la cause : Sharp ne peut pas lire directement les URLs HTTP
- [x] Modifier `encryption.ts` pour générer automatiquement une clé - [x] Corriger `imageProcessor.ts` : télécharger l'image avant de la traiter
- [x] Ajouter la persistance de la clé via volume Docker
- [x] Ajouter `.encryption-key` au `.gitignore`
- [x] Vérifier la compilation TypeScript - [x] Vérifier la compilation TypeScript
- [ ] Commit et push
- [ ] Déployer sur le serveur Docker - [ ] Déployer sur le serveur Docker
## Progress Log ## Progress Log
- **20 Jan 2026** - Diagnostic : erreur causée par `ENCRYPTION_KEY` non défini - **20 Jan 2026** - Investigation du problème de texte sur les stories
- **20 Jan 2026** - `encryption.ts` modifié : génération automatique de clé avec persistance - **20 Jan 2026** - Cause identifiée : `sharp(imageUrl)` échoue car Sharp attend un Buffer, pas une URL
- **20 Jan 2026** - `docker-compose.yml` modifié : ajout volume `encryption_key` - **20 Jan 2026** - `imageProcessor.ts` corrigé : ajout de `fetch()` pour télécharger l'image avant traitement
- **20 Jan 2026** - `.gitignore` modifié : ajout `.encryption-key`
- **20 Jan 2026** - ✅ Compilation TypeScript réussie - **20 Jan 2026** - ✅ Compilation TypeScript réussie