mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-05-09 05:35:30 +02:00
[PR #253] [MERGED] Add camera image attachments to Pushover notifications #975
Labels
No labels
A1
automated
automated
bug
bug
Closed due to inactivity
contrib
dependencies
dependencies
duplicate
enhancement
feedback
hold
invalid
Notes
P1S
pull-request
security
security
ThumbsUp
user-report
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/bambuddy#975
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/maziggy/bambuddy/pull/253
Author: @sbcrumb
Created: 2/3/2026
Status: ✅ Merged
Merged: 2/4/2026
Merged by: @maziggy
Base:
0.1.8b← Head:feature/pushover-image-attachments📝 Commits (2)
6aa7a56Add camera image attachments to Pushover notifications925cc13Merge branch '0.1.8b' into feature/pushover-image-attachments📊 Changes
3 files changed (+219 additions, -58 deletions)
View changed files
📝
backend/app/main.py(+107 -3)📝
backend/app/services/camera.py(+62 -44)📝
backend/app/services/notification_service.py(+50 -11)📄 Description
Description
Add camera image attachments to Pushover notifications. When a notification is sent via Pushover for print start, print complete/failed/stopped, progress milestones (25%, 50%, 75%), or printer errors, a camera snapshot is captured and attached as a native Pushover image.
Related Issue
Type of Change
Changes Made
capture_camera_frame_bytes()tocamera.pythat returns raw JPEG bytes without writing to disk (supports both chamber image and RTSP protocols)_capture_snapshot_for_notification()helper tomain.pythat captures a camera snapshot using external camera, buffered stream frame, or fresh capture (same priority as finish photo)image_dataparameter through the notification pipeline (_send_to_providers→_send_to_provider→_send_pushover) — all default toNoneso existing behavior is unchanged_send_pushover()to send multipart form-data with image attachment whenimage_datais providedmain.py_background_notifications()for print complete/failed/stopped eventsScreenshots
Start of Print
Progress Screenshot
Finish Screenshot
Testing
Built Docker image from fork, deployed, and verified:
Checklist
Additional Notes
image_dataparameter is threaded through the shared pipeline, so other providers (Discord, Telegram, ntfy) could adopt it in the future with minimal changes.None, so there are zero behavioral changes for non-Pushover providers or events that don't capture images.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.