Commit Graph
544 Commits
Author SHA1 Message Date
Michael 54033ed6ed fix(server): Auto-expire invalid Facebook tokens on sync failure 2026-01-20 14:37:08 +01:00
Michael 8c911f0fb1 fix(analytics): Improve error handling and partial extraction 2026-01-20 14:35:45 +01:00
Michael f8db96084b feat(i18n): Translate analytics to French 2026-01-20 14:27:17 +01:00
Michael 4c06e5951d feat(db): Add automated safe migration on startup 2026-01-20 14:03:58 +01:00
Michael 60e89cb2bf fix(deploy): Remove blocking auto-migration from docker-compose 2026-01-20 14:00:51 +01:00
Michael e7e9a2fb1b fix(build): Resolve circular dependencies and type errors 2026-01-20 13:56:45 +01:00
Michael f8ddb44e38 feat(analytics): Implement Analytics Dashboard and Token Management 2026-01-20 13:49:24 +01:00
Michael b38f082d6e fix: télécharger l'image avant traitement Sharp pour les stories avec texte 2026-01-20 11:34:59 +01:00
Michael 4f8bab176a fix: génération automatique de la clé de chiffrement au lancement Docker 2026-01-20 11:10:22 +01:00
Michael 4b779838b3 Fix: Pre-process Facebook story images with sharp to correct EXIF orientation 2026-01-14 09:34:42 +01:00
Michael 509e36a05e fix: auto-rotate images based on EXIF orientation for Facebook stories 2026-01-12 13:50:28 +01:00
Michael 6c299b954a fix: auto-rotate images based on EXIF data 2026-01-07 20:51:56 +01:00
Michael 55c2bfdeb7 fix: add trust proxy for nginx reverse proxy support 2026-01-07 15:02:40 +01:00
Michael 633875e8ec feat(security): implement security fixes - Add AES-256-GCM encryption for Facebook/Instagram tokens - Add helmet for HTTP security headers - Add rate limiting (5 login attempts, 100 req/15min) - Add file upload validation (50MB max, MIME type whitelist) - Secure SQL console endpoint (disabled in production) - Enforce SESSION_SECRET in production 2026-01-07 14:57:36 +01:00
LogiFlow c3660f811b Merge pull request #107 from R0m1k3/dev
Dev
2025-12-30 13:07:40 +01:00
Michael 65b2e39af2 Resolve merge conflict in emojiRenderer.ts 2025-12-30 13:07:08 +01:00
Michael ba618bfe79 feat: Introduce EmojiRenderer service for canvas, enabling text rendering with Twemoji emojis, caching, and wrapping. 2025-12-30 13:03:11 +01:00
Michael 6b88b3ad02 fix: downgrade canvas dependency from ^3.2.0 to ^2.11.2 2025-12-23 11:30:21 +01:00
Michael 4e209ac367 feat: implement client-side emoji parsing for display and server-side emoji rendering to canvas. 2025-12-23 11:18:07 +01:00
Michael 6be8bbf628 feat: add script to reproduce emoji rendering to a PNG image file. 2025-12-04 14:27:48 +01:00
LogiFlow 6a8bbd5e2f Merge pull request #106 from R0m1k3/claude/analyze-codebase-01XdqnCRHEvL9VWeHDNGVPkA
Claude/analyze codebase 01 xdqn crh ev l9 v we hdngv pk a
2025-11-29 13:32:41 +01:00
Claude 3cc72fb80d chore: Ajouter dépendance @twemoji/api pour support emojis 2025-11-29 12:27:13 +00:00
Claude 88d5a56b01 fix: Utiliser cache local pour les emojis dans les stories Facebook
Problème: Les emojis s'affichaient comme des codes hexadécimaux (01F, 4E2, ABC)
dans les stories Facebook car le serveur ne pouvait pas télécharger les images
depuis les CDN externes (jsDelivr, Twemoji).

Solution: Système de cache local à 3 niveaux
1. **Cache mémoire**: Les emojis déjà chargés restent en RAM
2. **Cache disque**: Les emojis téléchargés sont sauvegardés dans server/assets/emoji/
3. **Téléchargement à la demande**: Si un emoji n'existe pas localement, il est téléchargé une seule fois puis réutilisé

Avantages:
- ✅ Les emojis ne sont téléchargés qu'une seule fois
- ✅ Temps de chargement ultra-rapide après le premier téléchargement
- ✅ Fonctionne même si le CDN est temporairement indisponible
- ✅ Pas besoin de pré-télécharger tous les emojis (3000+ fichiers)
- ✅ Les emojis utilisés fréquemment sont mis en cache

Les emojis devraient maintenant s'afficher correctement comme de vraies
images colorées dans les stories Facebook, pas comme des codes hexadécimaux !
2025-11-29 12:26:06 +00:00
LogiFlow 54725c7088 Merge pull request #105 from R0m1k3/claude/analyze-codebase-01XdqnCRHEvL9VWeHDNGVPkA
feat: Ajouter versions mobiles complètes pour toutes les pages
2025-11-29 12:01:44 +01:00
Claude ad97da0f50 feat: Ajouter versions mobiles complètes pour toutes les pages
Implémentation d'un système responsive robuste avec détection automatique
du type d'appareil et switch transparent entre versions desktop et mobile.

## Nouvelles fonctionnalités

### 1. Hook de détection mobile (useIsMobile)
- Détection via media query (max-width: 768px)
- Validation supplémentaire via user agent
- Support des changements dynamiques de taille d'écran
- Hook useDeviceType pour détection granulaire (mobile/tablet/desktop)

### 2. Composant ResponsiveRoute
- Switch automatique entre versions desktop/mobile
- Lazy loading des composants pour performances optimales
- Factory function createResponsiveRoute pour création facile
- Suspense avec fallback de chargement

### 3. Pages mobiles optimisées (10 pages)
**Pages créées :**
- dashboard.tsx - Tableau de bord
- new-post.tsx - Création de posts (interface tactile optimisée)
- calendar.tsx - Calendrier
- media.tsx - Bibliothèque de médias
- image-editor.tsx - Éditeur d'images
- pages.tsx - Gestion des pages sociales
- ai.tsx - Assistant IA (admin)
- settings.tsx - Paramètres (admin)
- users-admin.tsx - Gestion utilisateurs (admin)
- sql.tsx - Administration SQL (admin)

**Optimisations mobiles appliquées :**
- Layout en colonne unique (au lieu de multi-colonnes)
- Boutons tactiles : min-height 44-52px (Apple guidelines)
- Grilles adaptées (2 colonnes au lieu de 3 pour médias)
- Navigation simplifiée avec menu hamburger
- Dialogs en plein écran (95vw sur mobile)
- Tables converties en cards empilées
- Boutons d'action en colonne au lieu de ligne
- Padding et espacement optimisés pour petits écrans
- Typographie réduite (text-2xl au lieu de 3xl)
- Touch-manipulation sur zones interactives
- Bottom fixed buttons pour actions principales
- Inputs full-width avec min-height 48px

### 4. Routing automatique
- App.tsx modifié pour utiliser createResponsiveRoute
- Détection transparente du device
- Lazy loading de toutes les routes
- Aucun changement d'URL entre versions

## Performances

- Code splitting automatique (lazy loading)
- Seule la version nécessaire est chargée
- Cache des composants chargés
- Réduction de la taille du bundle initial

## Tests à effectuer

1. Rétrécir la fenêtre du navigateur < 768px
2. Utiliser les DevTools mobile
3. Tester sur un vrai appareil mobile
4. Vérifier que toutes les fonctionnalités marchent

Les utilisateurs bénéficient maintenant d'une expérience optimale sur mobile !
2025-11-29 10:59:41 +00:00
LogiFlow c21562e2b0 Merge pull request #104 from R0m1k3/claude/analyze-codebase-01XdqnCRHEvL9VWeHDNGVPkA
Analyze and understand application codebase
2025-11-29 11:38:41 +01:00
Claude 4506c2b7c4 fix: Corriger l'affichage des emojis dans les stories Facebook
Problème: Les emojis s'affichaient comme des carrés bizarres dans les
stories publiées sur Facebook (alors que la prévisualisation fonctionnait).

Cause: Le téléchargement des images emoji depuis le CDN Twemoji par défaut
échouait lors de la génération de l'image de story côté serveur.

Solution:
1. Utilisation d'un CDN plus fiable (jsDelivr) au lieu du CDN Twemoji par défaut
2. Ajout d'une logique de retry (3 tentatives avec exponential backoff)
3. Ajout d'un timeout de 10 secondes pour éviter les blocages
4. Meilleure gestion des erreurs avec logs détaillés
5. Cache des emojis téléchargés pour améliorer les performances

Les emojis devraient maintenant s'afficher correctement dans les stories
Facebook publiées depuis l'application.
2025-11-29 10:35:09 +00:00
Claude 53054ccd87 debug: Ajouter des logs détaillés pour diagnostiquer le problème d'emojis
Ajout de logs pour tracer:
- Le parsing des emojis (combien détectés, URLs générées)
- Le téléchargement des images (succès/échec, codes HTTP)
- Le rendu final (succès/erreur avec détails)

Cela permettra d'identifier si le problème vient de:
- URLs Twemoji incorrectes
- Échec de téléchargement depuis le CDN
- Problème de chargement/décodage de l'image
2025-11-29 10:27:01 +00:00
Claude 50d5c77f8d fix: Corriger l'alignement vertical des emojis dans les stories Facebook
Le problème était causé par un calcul incorrect du positionnement des emojis
lorsque textBaseline est défini à 'middle'. Le code calculait la position comme
si le baseline était en mode standard (alphabetic), ce qui décalait les emojis
verticalement.

Changement: emojiY = y - (emojiSize / 2) au lieu de y - fontSize * 0.8
Cela centre correctement l'emoji autour du point Y qui représente le centre
du texte en mode 'middle'.
2025-11-29 10:23:55 +00:00
LogiFlow 7068ea1af3 Merge pull request #103 from R0m1k3/dev
Dev
2025-11-22 14:58:19 +01:00
michaelschal f321f6f108 Saved progress at the end of the loop
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 94d7dace-4d77-42db-8565-34dfd88cd679
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/ltYxoh9
2025-11-22 11:14:33 +00:00
michaelschal 2c2e3822f6 Correctly display the Euro symbol with product prices
Fix an issue where the Euro symbol was misplaced when saving product images, ensuring it appears after the price consistently.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: e8c912ba-b86c-4da3-954c-070906550761
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/ltYxoh9
2025-11-22 11:13:41 +00:00
LogiFlow 2a9c29bc6b Merge pull request #102 from R0m1k3/dev
Dev
2025-11-21 15:42:10 +01:00
michaelschal a2f4e1f257 Saved progress at the end of the loop
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 892370e9-6ea6-4344-ae64-8d119f873d26
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/vfGybfs
2025-11-21 14:40:17 +00:00
michaelschal 82aec54759 Add full emoji rendering support for story posts
Implement backend service for converting emojis to images and frontend component for displaying them, ensuring consistent rendering across previews and published stories.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 33403db6-05eb-4e2b-9d54-1aea2f9fac5b
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/vfGybfs
2025-11-21 14:39:57 +00:00
michaelschal f2ba034fc4 Improve story preview by displaying emojis correctly
Integrates Twemoji library into the PreviewModal component to render emojis as images, ensuring accurate visual representation of posts.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: f14eb440-b642-488d-9a57-924557db0bc4
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/JcM96XE
2025-11-21 14:34:29 +00:00
michaelschal 86ac089fb2 Add a component to display emojis correctly in previews
Create a new React component that parses and renders text with emojis as Twemoji images, ensuring consistency between preview and final output.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: e41fe0af-9a57-474c-998a-d509286b7711
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/JcM96XE
2025-11-21 14:33:58 +00:00
michaelschal e596fa298d Add emoji rendering to improve post preview accuracy
Install `twemoji` and implement `emojiUtils.ts` to parse and render emojis correctly in the post preview, ensuring consistency with actual published content.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 605c7efc-6cfc-498b-bf39-42e925354f36
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/JcM96XE
2025-11-21 14:33:42 +00:00
michaelschal 7b8cbbc1e4 Transitioned from Plan to Build mode
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: dbf947c9-07e4-4a7f-9541-210c3469e42e
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/JcM96XE
2025-11-21 14:32:39 +00:00
LogiFlow fb2c77ade5 Merge pull request #101 from R0m1k3/dev
Dev
2025-11-21 07:12:34 +01:00
michaelschal 2b78a0a605 Saved progress at the end of the loop
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: b603f6dc-2990-427d-8768-1453c895744d
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/JcM96XE
2025-11-21 06:11:35 +00:00
michaelschal bd78c9fd33 Improve story text rendering by integrating emoji support
Update replit.md to document recent changes in story text rendering, including emoji integration, hashtag removal, and smart text wrapping.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 9cbd37d9-e20e-44f5-8b2f-2fd742dc2f6d
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/JcM96XE
2025-11-21 06:11:13 +00:00
michaelschal 6898a0fca9 Improve text rendering by handling long words and centering text
Update emoji rendering to correctly handle long words and center text, and adjust the client-side preview to remove hashtags instead of emojis.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 1a295c79-6a41-4cf1-94cd-94aa3c4f96e6
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/JcM96XE
2025-11-21 06:10:39 +00:00
michaelschal 3936220a94 Add support for rendering emojis in stories and remove hashtags
Install twemoji-parser and node-fetch, create a new EmojiRenderer service for handling emoji rendering on canvas using Twemoji, and update the text processing logic to remove hashtags instead of emojis in shared/emoji.ts.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: ff08c9a2-11f7-4c75-8c8f-f60e79069dce
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/C5fWcTz
2025-11-21 06:04:46 +00:00
LogiFlow 7db1f1edcb Merge pull request #100 from R0m1k3/dev
Dev
2025-11-18 20:30:02 +01:00
michaelschal 3d26473967 Update token expiration calculation to 60 days for managed pages
Adjusted the token expiration calculation from 90 days to 60 days in server/routes.ts for both new page registrations and access token updates.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 8f8a8bbf-c2e3-4e22-b512-22aeb9e46ecf
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/C5fWcTz
2025-11-18 19:05:33 +00:00
michaelschal 4c8c29b2da Saved progress at the end of the loop
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 97038a14-c6bc-4f34-b289-969046df8109
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/Q6FJ7Lw
2025-11-18 13:45:51 +00:00
michaelschal 1bdb7445c3 Improve emoji handling and text display in previews and generated images
Refactor emoji removal logic into a shared utility and update dependencies.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 59d8c635-691c-42a3-b368-902e8f16eeee
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/Q6FJ7Lw
2025-11-18 13:45:07 +00:00
michaelschal e1c6a0ad2a Improve text rendering by removing emojis and handling long words
Implement emoji removal using regex and add a helper function to break long words for better text wrapping in the preview modal.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 99b09d4a-a86d-4d0a-bcdb-b8790a95f0e9
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/N0tTJcl
2025-11-18 13:38:16 +00:00
michaelschal 5053cca73e Improve text rendering on images by removing emojis and handling long words
Add emoji removal from text before rendering on images. Implement logic to break long words that exceed the maximum text width.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: d948b4ab-8a36-4043-aed1-fc4629c72817
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/N0tTJcl
2025-11-18 13:37:44 +00:00