Michael
330c42c6ff
feat(analytics): resilient Graph API calls, CRON sync every 6h, polling frontend, engagement+views metrics
2026-02-12 10:51:06 +01:00
Michael
4b5ab1ca16
feat: enable feed distribution for Reels via /videos endpoint
2026-02-10 11:11:42 +01:00
Michael
c9f7f7e9ec
fix: ensure persistence of video data for scheduled reels and correct publication type
2026-01-29 11:58:29 +01:00
Michael
7223bbbfb2
feat(reels): optimize quality to 1080p, increase text size to 64, and add stabilization toggle
2026-01-23 17:19:32 +01:00
Michael
891b374500
feat: support large file uploads up to 4GB (disk storage + streaming)
2026-01-23 16:27:27 +01:00
Michael
aac776777a
feat(reels): add video stabilization, quality improvements and processing monitoring
2026-01-23 13:42:42 +01:00
Michael
9ff1c4aa18
feat: enhance reels with default overlay, more voices, and tts preview
2026-01-23 09:38:59 +01:00
Jacques
fe638b9895
fix: reduce font size to 16, improve TTS sync (3 words/chunk, 0.3s/word)
2026-01-22 21:39:06 +01:00
Jacques
e9ff262991
fix(ffmpeg): reduce hardcoded font_size from 60 to 24 for smaller text overlay
2026-01-22 21:22:36 +01:00
Michael
77a6dd7188
fix
2026-01-22 16:58:12 +01:00
Michael
23abe41903
fix tts and texte on vidéo
2026-01-22 16:20:56 +01:00
Michael
9ffd92f6bf
add TTS voice
2026-01-22 15:28:00 +01:00
Michael
973bf5186c
feat: Replace Jamendo with FreeSound API for Reel music
2026-01-22 12:31:30 +01:00
Michael
3d494d4056
feat: Add Facebook Reels with music and text overlay - Add ffmpeg.ts service for Docker FFmpeg API integration - Add jamendo.ts service for royalty-free music search - Add publishReel methods to facebook.ts - Add reels API routes (music search, AI text generation, create/preview) - Add new-reel.tsx frontend with 4-step workflow - Add 'reel' type to postTypeEnum - Update navigation with Nouveau Reel link
2026-01-22 11:57:27 +01:00
Michael
7b39b34afb
fix(analytics): auto-heal token status on successful sync
2026-01-21 16:19:58 +01:00
Michael
c37a56b366
fix: reset token status on update and suppress metric errors
2026-01-21 16:14:08 +01:00
Michael
566782fa82
chore(debug): add verbose logging for analytics token validation
2026-01-21 16:09:21 +01:00
Michael
ad22aea55e
fix(analytics): handle expired tokens gracefully to prevent 500 errors
2026-01-21 16:03:30 +01:00
Michael
1bdbbfaa88
fix(server): Unify encryption logic in TokenManager to match storage service
2026-01-20 14:40:01 +01:00
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
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
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
ba618bfe79
feat: Introduce EmojiRenderer service for canvas, enabling text rendering with Twemoji emojis, caching, and wrapping.
2025-12-30 13:03:11 +01: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
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
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
michaelschal
20c0866fe8
Add Facebook video compatibility for automatic post scheduling
...
Transform video URLs to ensure they are compatible with Facebook's requirements (H.264, AAC, MP4) by applying Cloudinary transformations.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 33011479-5eb2-4750-8cfe-77cac0f51d8e
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/L05E01m
2025-11-18 12:56:21 +00:00
michaelschal
225e4f2292
Add ability to upload and apply custom logos to social media posts
...
Implement functionality for uploading, applying, and deleting custom logos as overlays on images, along with backend processing and UI updates.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 91999614-5187-4902-b7a1-bf9e372de9c8
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/JgqpaNl
2025-11-18 08:47:42 +00:00
michaelschal
0b70e00834
Add font support to correctly display text in generated images for social media
...
Integrate DejaVu Sans font by updating Dockerfile, registering the font in imageProcessor.ts, and referencing it in canvas font styles to resolve text rendering issues on Facebook stories.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: ded0e79e-eb39-4fe2-9aad-3cb0b8722e22
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/EMt8Koz
2025-11-18 07:15:11 +00:00
michaelschal
98a507b030
Adjust minimum font size for adaptive text across the application
...
Update the minimum font size from 24px to 12px in both client-side preview modal and server-side image processing to improve text adaptability.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 26883c03-a1a8-4dda-9695-f2319b42174c
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/5aomXd9
2025-11-17 15:09:53 +00:00
michaelschal
b581050eae
Add ability to overlay text on images for social media stories
...
Integrate image processing to add text to story images with dynamic font sizing and text wrapping, and upload generated images to Cloudinary via a new service.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 4277243d-e609-4ee4-8cbc-3521773fc333
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/f2EnhiB
2025-11-17 14:39:41 +00:00
michaelschal
718d1535d6
Fix video story posting to Facebook with proper 3-phase upload
...
Implement the required 3-phase upload process (START, UPLOAD, FINISH) for publishing video stories to Facebook via the Graph API, addressing the "#100 The parameter upload_phase is required" error.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/VJoXNjs
2025-10-28 12:23:37 +00:00
michaelschal
1c0e24ece7
Fix error display for previously failed but now successful posts
...
Update schedulerService.publishPost to clear the error field when a post is successfully republished.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/VDgoPyA
2025-10-14 19:10:26 +00:00
michaelschal
f2672727b8
Allow all users to generate AI text for posts
...
Change API endpoint `/api/ai/generate` from `requireAdmin` to `requireAuth` middleware and update OpenRouterService to use shared admin configuration instead of per-user config.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/tWDOGLP
2025-10-14 13:58:28 +00:00
michaelschal
3175ffee31
Allow users to upload photos using shared Cloudinary configuration
...
Update routes to use a shared Cloudinary configuration for media uploads and adjust CloudinaryService to fetch any available config instead of user-specific config.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/vZocxw2
2025-10-14 10:26:14 +00:00
michaelschal
b1dc815954
Add ability to post videos to Facebook feeds and stories
...
Adds support for publishing video content to Facebook feeds and stories via new API endpoints and service methods, addressing issues with video previews and direct video uploads.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/s8IyLQK
2025-10-13 12:05:51 +00:00
michaelschal
5c591899a1
Enable sending multiple photos as individual stories on Facebook
...
Update FacebookService to publish each media item in mediaList as a separate story, returning a comma-separated string of story IDs.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/mIWJXC9
2025-10-13 05:32:33 +00:00
michaelschal
dd43753d6d
Update image editor to display currency symbol correctly after price
...
Remove ribbon generation functionality and adjust currency symbol placement in image editor.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/mIWJXC9
2025-10-11 11:33:30 +00:00
michaelschal
0d6e9b0832
Add a feature to generate and apply corner ribbons to images
...
Introduce a new API endpoint and service for generating triangular ribbon overlays with text using Cloudinary, and integrate this into the image editor.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/VEZwUqa
2025-10-11 08:55:19 +00:00
michaelschal
f062e396ee
Fix Facebook story posting by implementing a two-step upload process
...
Update `FacebookService.publishStory` to first upload the photo as unpublished to obtain a `photo_id`, and then use this `photo_id` to publish the story. This addresses the issue where stories were not being posted correctly.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/d2GBAIk
2025-10-11 06:45:34 +00:00
michaelschal
97b1a76270
Fetch and display all available AI models from OpenRouter's API
...
Integrate OpenRouter API to dynamically fetch and display available AI models in the client, and update the AI generation endpoint to accept a model override.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/h6F2mtY
2025-10-09 18:39:18 +00:00
michaelschal
4e32e97fe4
Update Facebook posting to use original media URLs
...
Modify FacebookService to utilize `media.originalUrl` instead of specific optimized URLs for photo posts, carousel posts, and stories, allowing Facebook to handle cropping and formatting.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/8Nctbk0
2025-10-09 11:31:21 +00:00
michaelschal
446459e2b7
Update image formatting for social media posts
...
Adjust Cloudinary transformations for Facebook and Instagram posts, optimizing aspect ratios and cropping for different platforms.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/d8HozM2
2025-10-09 10:14:51 +00:00
michaelschal
168e9bf58d
Improve Facebook post publishing to support multiple images and stories
...
Update FacebookService to handle multi-photo carousel posts and refine story publishing logic; modify SchedulerService to pass all media for a post.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/hAPGvGl
2025-10-09 09:21:29 +00:00
michaelschal
3971c6f912
Add support for publishing posts to both feed and stories simultaneously
...
Introduce a new 'both' post type allowing simultaneous publishing to Facebook and Instagram feeds and stories. This includes UI updates for selecting post types, backend logic for splitting 'both' posts into separate feed and story entries, and the ability to delete scheduled posts. The changes also include a new 'Pages gérées' link in the sidebar and necessary database schema updates.
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/WuFXYmm
2025-10-08 13:16:55 +00:00