Skip to content

v3.0.0 - Binary Content Support & Topic Threading

Choose a tag to compare

@randynov randynov released this 20 Oct 21:29
· 73 commits to main since this release

🚨 Breaking Changes

  • Configuration: .env now uses standardized SMTP_* variable names instead of GMAIL_* prefixes
    • GMAIL_SMTP_USER β†’ SMTP_USERNAME
    • GMAIL_APP_PASSWORD β†’ SMTP_PASSWORD
    • GMAIL_SMTP_HOST β†’ SMTP_HOST
    • GMAIL_SMTP_PORT β†’ SMTP_PORT
    • Added: SMTP_FROM_EMAIL, ALERT_DIGEST_EMAIL
    • Action required: Update your .env file to use new variable names

πŸ› Bug Fixes

Binary Content Handling

  • Root cause: PDF and EPUB files were downloaded as binary and sent to LM Studio as malformed text, causing HTTP 400 errors
  • Fix: Added Content-Type detection and URL transformation logic
    • PDF files: Strip .pdf extension to fetch HTML version
    • EPUB files: Strip /epub suffix to fetch HTML version
    • Fall back to Markdown extraction for remaining binaries
  • Evidence:
    • PDF (cureus.com): 2.3MB binary β†’ 236KB HTML βœ“
    • EPUB (frontiersin.org): 1.8MB binary β†’ 427KB HTML βœ“

LM Studio Error Diagnostics

  • Log prompt size (chars + estimated tokens) before each request
  • Capture first 200 chars of HTTP error response body
  • Include detailed error context in exception messages

✨ Features

Topic Threading

  • Alert topic now flows through complete pipeline: AppleScript β†’ CLI β†’ Email
  • Added --topic CLI parameter
  • Email subject now includes topic: "Google Alert Intelligence: {topic} β€” {date}"
  • Digest titles (HTML/text) display topic

Emoji Tags

  • Tactical Win tags now have emoji indicators (matching Market Signal style):
    • [πŸš€ SHIP NOW] - Quick win available immediately
    • [πŸ—ΊοΈ ROADMAP] - Requires planning/multi-step effort
    • [πŸ‘€ WATCH] - Early signal, no action yet

Tag Normalization

  • Added automatic tag formatting with case-insensitive regex
  • Handles variations: [Urgent] β†’ [πŸ”΄ URGENT], [ship now] β†’ [πŸš€ SHIP NOW]
  • Ensures consistent emoji formatting in all summaries

πŸ“š Documentation

  • Updated .env.template with standardized SMTP variables
  • Added clear guidance for ALERT_DIGEST_EMAIL configuration
  • Documented LM Studio as primary backend with optional Ollama fallback

πŸ”§ Changes Since v2.3.1

Full changelog (7 commits):

  • Binary content detection and HTML fallback
  • Topic threading through complete pipeline
  • Emoji indicators for Tactical Win tags
  • Tag normalization for consistent formatting
  • SMTP email delivery (replaced UI automation)
  • Ollama health detection and auto-recovery
  • Debug logging improvements

Files changed: 10 files, +442 insertions, -76 deletions