This commit is contained in:
Alex
2026-02-08 17:47:49 -06:00
parent 09117f9c62
commit 41dd6d9a64
7 changed files with 465 additions and 569 deletions

View File

@@ -449,7 +449,7 @@ class MatrixMonitor:
# Trigger wake if rate limit allows
await self._maybe_trigger_wake()
else:
logger.warning(f"Failed to download/compress image: {event.body}")
logger.warning(f"Image rejected (too large or download failed): {event.body}")
except Exception as e:
logger.error(f"Error processing image: {e}")
@@ -596,7 +596,19 @@ class MatrixMonitor:
buffer = BytesIO()
final_img = img.resize((800, 600), Image.Resampling.LANCZOS)
final_img.save(buffer, format='JPEG', quality=50, optimize=True)
return buffer.getvalue()
final_data = buffer.getvalue()
# Final size validation - reject if still too large
final_base64 = base64.b64encode(final_data)
final_size_mb = len(final_base64) / (1024 * 1024)
if final_size_mb > target_size_mb:
logger.error(
f"Image still too large after all compression attempts: "
f"{final_size_mb:.2f}MB base64 (limit: {target_size_mb}MB)"
)
return None
return final_data
except Exception as e:
logger.error(f"Compression failed: {e}")