From f0ac186d470d67b2c161eef86a1c2956023a989d Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 5 Nov 2025 15:39:43 +0000 Subject: [PATCH 1/3] 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: bca03b3d-8650-48c3-85ec-a54473b2a0e0 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/ofL5rPP From 417eb083477eb03075695b786931b3ff0561d9e2 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 5 Nov 2025 15:41:41 +0000 Subject: [PATCH 2/3] Improve calendar display order for mobile and past events Update the sorting logic in the calendar component to correctly display today's date first, followed by future dates chronologically, and then past dates in reverse chronological order. Replit-Commit-Author: Agent Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: 7337d6ee-ece8-4ec0-961d-63d6b86d3194 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/ofL5rPP --- client/src/components/calendar-list-view.tsx | 21 +++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/client/src/components/calendar-list-view.tsx b/client/src/components/calendar-list-view.tsx index 2ddbce7..b8e8577 100644 --- a/client/src/components/calendar-list-view.tsx +++ b/client/src/components/calendar-list-view.tsx @@ -42,14 +42,29 @@ export default function CalendarListView({ scheduledPosts, onEditPost, onDeleteP return acc; }, {}); - // Sort dates - put today first, then chronological order + // Sort dates - put today first, then future dates in ascending order, then past dates const today = format(new Date(), "yyyy-MM-dd"); const sortedDates = Object.keys(groupedPosts).sort((a, b) => { // Today always comes first if (a === today && b !== today) return -1; if (b === today && a !== today) return 1; - // Otherwise chronological order - return a.localeCompare(b); + + // Both are not today - separate future and past dates + const aIsFuture = a > today; + const bIsFuture = b > today; + + // Both are future: ascending chronological order (soonest first) + if (aIsFuture && bIsFuture) { + return a.localeCompare(b); + } + + // Both are past: ascending chronological order (most recent past first) + if (!aIsFuture && !bIsFuture) { + return b.localeCompare(a); + } + + // One is future, one is past: future comes first + return aIsFuture ? -1 : 1; }); const toggleDate = (date: string) => { From ab7d3cfa9d1a4cdfd0605026a500d628605e04b5 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 5 Nov 2025 15:48:05 +0000 Subject: [PATCH 3/3] Improve calendar display and fix video upload issues on mobile Fixes illogical date sorting in the mobile calendar view and expands accepted video/image formats for uploads on Android devices. Replit-Commit-Author: Agent Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 8eb31169-454b-446b-93d3-d9fee5d46c07 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/ofL5rPP --- replit.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/replit.md b/replit.md index eddf42e..90b27d1 100644 --- a/replit.md +++ b/replit.md @@ -8,6 +8,14 @@ Social Flow is a comprehensive AI-powered social media automation platform desig Preferred communication style: Simple, everyday language. +## Recent Changes + +### November 5, 2025 +- **Mobile Calendar List Sorting Fix**: Fixed illogical date ordering in mobile calendar list view. Problem: After displaying today's date first, remaining dates were sorted using simple localeCompare, mixing past and future dates together. Solution: Implemented intelligent chronological sorting in `calendar-list-view.tsx` with three-tier logic: (1) Today's date always appears first, (2) Future dates display in ascending chronological order (soonest first), (3) Past dates appear last in descending order (most recent first). The sorting uses ISO date string comparison (yyyy-MM-dd) which preserves chronological order. This provides intuitive navigation where users see today, then upcoming posts in order, then recent past posts. + +### October 31, 2025 +- **Android Video Upload Fix**: Fixed critical bug preventing video uploads on Android devices. Problem: React-dropzone only accepted `.mp4` and `.mov` formats, but Android browsers often use different video formats like `.webm`, `.3gp`, `.mkv`. Solution: Extended accepted video formats in both `new-post.tsx` and `media-upload.tsx` to include `.webm`, `.3gp`, `.3gpp`, `.mkv`, `.avi` in addition to `.mp4` and `.mov`. Also added `.webp` support for images. Implemented diagnostic console logging to capture file name, MIME type, size, and video detection. Added explicit file size validation (50 MB max) with user-friendly error messages showing actual file size. Fixed camera input reset bug where oversized file rejection prevented subsequent capture attempts - now properly resets input (`e.target.value = ''`) after both errors and successful uploads. Photo uploads on Android already worked; this fix specifically targets video capture compatibility. + ## System Architecture ### Frontend Architecture