Skip to content

v0.3.0

Choose a tag to compare

@bm-github bm-github released this 11 Feb 22:54
· 38 commits to main since this release
afba5ca

🔧 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 loadmore command UX with better prompts

New Image Processing Architecture (image_processor.py)

  • ✨ Introduced dedicated ImageProcessor class with graceful error handling
  • 🛡️ Individual image failures no longer crash entire analysis pipeline
  • 📊 Added ProcessingStatus enum 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 FetchResult class 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 BaseFetcher abstract 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.py demo 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