83 lines
4.2 KiB
Markdown
83 lines
4.2 KiB
Markdown
# Active Context - Current Work
|
|
|
|
## What We're Working On Now
|
|
**Headshot Replacement Task**: ✅ FULLY COMPLETED - Successfully replaced Mark's headshot on about page:
|
|
- Replaced old portrait headshot with new 2025 landscape headshot
|
|
- Updated CSS layout to accommodate aspect ratio change (2:3 → 3:2)
|
|
- Renamed files for consistent naming convention
|
|
- Preserved original as backup
|
|
- Updated image dimensions and alt text
|
|
|
|
## Recent Headshot Update Details
|
|
- **File Management**:
|
|
- Original `mark.jpg` → `mark-old-2024.jpg` (2.4MB, 3648x5472, portrait)
|
|
- `Mark 2025.jpg` → `mark.jpg` (459KB, 2000x1333, landscape)
|
|
- **Code Changes**:
|
|
- Updated `/src/app/about/page.tsx` with new aspect ratio `aspect-[3/2]`
|
|
- Changed image dimensions to `width={2000} height={1333}`
|
|
- Updated alt text to "Mark Apodaca professional headshot 2025"
|
|
- **Benefits**: 80% smaller file size, current 2025 image, proper layout
|
|
|
|
## Previous Completed Work
|
|
**Email Configuration Task**: ✅ FULLY COMPLETED - Successfully configured and tested email system:
|
|
- Initial change: `mark@finlion.com` → `chris@deafgain.org` → back to `mark@finlion.com`
|
|
- Fixed SMTP port from `587` to `2525` (DigitalOcean requirement)
|
|
- Added `requireTLS: true` for Gmail port 2525 compatibility
|
|
- Resolved Docker environment variable loading issues
|
|
- Fixed Caddy proxy configuration for container connectivity
|
|
- Implemented Redis fallback for rate limiting when Upstash unavailable
|
|
- All changes deployed and verified on production VPS
|
|
|
|
## Current Email Setup Analysis
|
|
- **Contact Form Location**: `/src/app/api/contact/route.ts`
|
|
- **Email Library**: `/src/lib/email.ts` (exists but not currently used by the API route)
|
|
- **Final Configuration**:
|
|
- SMTP Host: Gmail (smtp.gmail.com:2525)
|
|
- From Email: system@deafgain.org
|
|
- To Email: mark@finlion.com (verified via docker inspect)
|
|
- Authentication: Google App Password
|
|
- Rate limiting: Graceful fallback when Redis unavailable (Upstash instance inactive)
|
|
- TLS Security: requireTLS enabled for port 2525
|
|
|
|
## Recent Changes
|
|
- Headshot replacement completed with layout adjustments
|
|
- File management and naming convention maintained
|
|
- Memory Bank files created and maintained
|
|
- Project context analyzed and documented
|
|
|
|
## Current State
|
|
- Contact form is functional with email sending capability
|
|
- Two email implementations exist:
|
|
1. Direct implementation in `/src/app/api/contact/route.ts` (currently active)
|
|
2. Utility function in `/src/lib/email.ts` (not currently used)
|
|
- Email configuration uses environment variables
|
|
- Rate limiting and input validation are implemented
|
|
|
|
## Deployment Setup Current Status
|
|
- **VPS Server**: chaulmark@chrishaulmark.com
|
|
- **Website Directory**: ~/websites/finlion on VPS
|
|
- **Docker Container**: finlion-web-1 (running on port 805)
|
|
- **Docker Compose**: Using repository's docker-compose.yml (fixed environment variable loading)
|
|
- **Caddy Proxy**: Updated to point to finlion-web-1:805 (was finlion-website-web-1:805)
|
|
- **Git Status**: On main branch, up to date with latest changes
|
|
- **Container Status**: Running and healthy with correct environment variables
|
|
- **Website Access**: https://finlion.com fully operational
|
|
|
|
## Issues Resolved During Task
|
|
1. **Environment Variables**: Fixed Docker compose empty env vars overriding .env file
|
|
2. **Caddy Proxy**: Updated container name mapping after switching compose files
|
|
3. **SMTP Configuration**: Added requireTLS for Gmail port 2525 compatibility
|
|
4. **Redis Fallback**: Implemented graceful handling of Upstash Redis unavailability
|
|
5. **Container Connectivity**: Resolved network issues between Caddy and application
|
|
|
|
## Technical Debt & Future Considerations
|
|
- **Redis**: Upstash instance inactive - consider self-hosted Redis solution
|
|
- **Rate Limiting**: Currently disabled due to Redis issues (low security risk)
|
|
- **Email Implementation**: Duplicate code in route.ts and email.ts (could consolidate)
|
|
- **Environment Variables**: All properly loaded and verified via docker inspect
|
|
|
|
## Task Completion Status
|
|
✅ **Email Configuration**: Fully functional and tested
|
|
✅ **Website Access**: Restored and operational
|
|
✅ **Container Deployment**: Stable and properly configured
|
|
✅ **All Changes**: Committed to git and deployed to production
|