- Changed database credentials in .env for improved security
- Added detailed implementation plan for content statistics feature (CONTENT_STATISTICS_PLAN.md)
- Created summary documentation for content statistics feature (CONTENT_STATISTICS_SUMMARY.md)
- Removed legacy MySQL root password and simplified database config variables
- Updated database name to use production naming convention (voxblog_prod)
- Added file upload button with multi-file support alongside existing paste functionality
- Implemented handleFileUpload function to process multiple image files sequentially
- Added file input reference and reset logic to allow repeated uploads
- Included upload progress indicator showing count of files being processed
- Added validation to skip non-image files with error messaging
- Enhanced UI with disabled state during upload to prevent concurrent
- Updated all components with responsive breakpoints for mobile-first design
- Added touch-friendly controls with proper spacing and small button sizes
- Implemented responsive layouts that stack/wrap on mobile screens
- Created detailed mobile compatibility documentation
- Enhanced horizontal scrolling for data grids and steppers on mobile
- Optimized media library grid for smaller screens
- Added iOS safe area inset padding for bottom
- Changed admin frontend port from 3000 to 3300 across all configuration files
- Changed API backend port from 3001 to 3301 across all configuration files
- Updated health check endpoints to use new ports in CI/CD workflow
- Modified documentation and deployment guides to reflect new port numbers
- Updated Caddy and Nginx reverse proxy configurations to use new ports
- Created new LOCAL_TESTING.md with detailed instructions for setting up local development environment
- Added step-by-step setup guide covering Docker installation, environment configuration, and common commands
- Included troubleshooting section with solutions for common issues like port conflicts and build failures
- Added development workflow guidelines and testing checklist for quality assurance
- Documented performance tips and best practices for Docker
- Fixed stale closure bug in streaming content by using useRef to properly accumulate content instead of relying on state closure
- Added auto-scrolling functionality to keep latest content visible during generation
- Implemented smooth scrolling behavior and improved HTML styling for better readability
- Added content buffer reset when starting new generation
- Enhanced documentation with detailed explanation of the closure problem and solution
- Moved streaming state (isGenerating, content, tokens, errors) from StepGenerate to usePostEditor hook
- Added new state management to allow continuous AI generation when navigating between editor steps
- Updated EditorShell to pass streaming state and setters down to StepGenerate component
- Added detailed documentation explaining streaming persistence architecture and user experience
- Removed local state from StepGenerate in favor of props
- Added streaming UI components with live content preview and token counter
- Implemented new generateContentStream service for SSE-based content generation
- Created comprehensive STREAMING_UI_GUIDE.md documentation with implementation details
- Added streaming toggle checkbox with default enabled state
- Enhanced StepGenerate component with progress bar and animated streaming display
- Added error handling and graceful fallback for streaming failures