- Integrated Gemini AI for spam detection in the contact form API, returning a token for manual review requests if spam is detected.
- Implemented a manual review UI in the Form.astro component, allowing users to submit their email and justification for review.
- Updated email handler to send manual review requests to a designated email address.
- Enhanced rate limiter configuration to allow more attempts in a shorter duration for better user experience.
- Added new dependencies: jsonwebtoken and @types/jsonwebtoken for handling JWTs in the spam detection process.
- Deleted multiple blog-related components including Grid, GridItem, Headline, List, ListItem, Pagination, RelatedPosts, SinglePost, and Tags to simplify the codebase.
- Removed associated configurations from src/config.yaml, eliminating unused blog settings.
- Cleaned up email templates and layouts related to blog functionality to enhance maintainability.
- Updated styles in tailwind.css for consistency following the removal of blog components.
- Simplify SMTP transporter setup for production by removing unnecessary authentication for local Postfix relay.
- Enhance error and success logging for SMTP connection verification.
- Update development mode to log email output to console with a warning message.
- Modify the from address logic to use a default 'noreply' address if SMTP_USER is not set in production.
- Add debug logging for email sending details, including connection target and sender/recipient information.
- Simplify error logging by removing specific SMTP error messages while retaining the full error stack for troubleshooting.