Skip to content

1.4.2

🚀 New Features

  • Multi-account invoice downloads: the download workflow now iterates over all active Google credentials and processes them sequentially.

🔧 Improvements

  • Non-blocking Google auth and download flow: synchronous Google auth calls were offloaded to avoid blocking FastAPI/WebSocket progress updates (fixes a stuck frontend progress bar).
  • Background sync/task handling: separated the public route handler from the internal sync implementation so BackgroundTasks remains a proper FastAPI dependency and cron runners can call the internal implementation safely.
  • Kaufland service validation: credential validation and storefront checks hardened to avoid coroutine warnings and invalid-patch errors.

🐛 Bug Fixes

  • Fixed ReadTimeout handling when downloading attachments (rituals.com and similar redirects now fail gracefully instead of crashing the worker).
  • Package mapping fixes: package lookup now uses a floor-style match (find largest min_weight <= weight) to avoid gaps at float boundaries (e.g. 1000.0 vs 1000.5), and bundle sync now correctly re-evaluates and assigns package type/cost.
  • Fixed background recalculation error when BackgroundTasks is not provided by using asyncio.create_task for cron-invoked syncs.

Files touched