Repository navigation
v0.3.0
🔧 Hardening, Improved Error Handling, Image Processing, and Code Organization
Improved CLI Experience (cli_handler.py)
- 🎨 Better command structure with slash-command syntax (
/exit,/help,/refresh,/loadmore) - 📊 Persistent session header showing active targets and mode
- 🎯 Clearer help documentation
- 🔄 Improved
loadmorecommand UX with better prompts
New Image Processing Architecture (image_processor.py)
- ✨ Introduced dedicated
ImageProcessorclass with graceful error handling - 🛡️ Individual image failures no longer crash entire analysis pipeline
- 📊 Added
ProcessingStatusenum for detailed failure tracking - 🔄 Improved preprocessing pipeline (RGB conversion, animated frame extraction, resizing)
- ⚡ Vision analysis failures now logged and skipped, allowing batch processing to continue
Enhanced Analyzer Error Handling (analyzer.py)
- 🎯 Introduced
FetchResultclass for structured error aggregation - 📈 Better progress reporting with detailed fetch success/failure statistics
- 🔍 Improved vision analysis with per-image error isolation
- 💾 Optimized cache updates (only modified users saved)
- 🚨 Comprehensive error categorization (NotFound, Forbidden, RateLimited, Unexpected)
Unified Platform Fetcher Architecture (base_fetcher.py)
- 🏗️ New
BaseFetcherabstract base class for consistent platform implementations - 🔁 Centralized pagination and post deduplication logic
- 🎯 Unified error handling across all platforms
- 📦 Reduced code duplication across platform modules
Platform-Specific Improvements
- GitHub: Added optional deep commit analysis with patch inspection
- HackerNews: Comprehensive test coverage with HTML stripping validation
- All Platforms: Migrated to unified fetcher pattern for consistency
Enhanced Testing
- ✅ New comprehensive test suite for HackerNews fetcher
- 🧪 Added tests for image processing error paths
- 📋 Improved test coverage for analyzer orchestration
- 🔍 Better mocking strategies for API clients
Code Quality Improvements
- 📝 Removed outdated/redundant files (
test_stdin.pydemo script) - 🧹 Better separation of concerns across modules
- 📖 Improved docstrings and inline documentation
- 🔧 More consistent error propagation patterns
Performance Improvements
- ⚡ Vision analysis now processes all images before giving up on rate limits
- 💾 Reduced unnecessary cache writes (only modified data saved)
- 🔄 Better pagination handling reduces redundant API calls
Bug Fixes
- 🐛 Fixed Docker compose logs volume mount
- 🐛 Corrected image preprocessing to handle all PIL formats properly
- 🐛 Fixed rate limit handling to not abort entire batch on single failure
- 🐛 Improved cache timestamp parsing for better staleness detection
Files Changed
- Modified:
analyzer.py,cli_handler.py,llm.py, all platform fetchers - Added:
image_processor.py,base_fetcher.py,test_hackernews.py
Full Changelog: v0.2.0...v0.3.0