mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-05-09 05:35:30 +02:00
[GH-ISSUE #1198] [Bug]: Completion notification reports slicer-estimated duration instead of actual print time #870
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#870
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?
Originally created by @BurntOutHylian on GitHub (May 3, 2026).
Original GitHub issue: https://github.com/maziggy/bambuddy/issues/1198
Originally assigned to: @maziggy on GitHub.
Component
Bambuddy
Bug Description
When a print completes, the duration variable in the notification is populated from print_time_seconds — the slicer's pre-print estimate parsed from the 3MF file at archive creation.
The actual elapsed time, computed from archive.started_at and archive.completed_at, is never calculated and never included in archive_data before the notification fires. Completion notifications show the wrong time for any print that diverges from the estimate — including long prints, slow first layers, and cancelled/partial prints.
Notably, actual_filament_grams is passed correctly through archive_data (line 3254–3257 falls back to usage tracker results), but no equivalent actual_time_seconds is ever computed or passed.
[main.py:3231–3232] - archive_data is built with the slicer estimate only; actual elapsed time is never computed from archive.started_at / archive.completed_at and never added to the dict
[notification_service.py:891–892] - duration is set from whatever print_time_seconds is in archive_data, with no awareness of actual elapsed time:
Expected Behavior
Print complete notifications should reflect actual print time, and not estimated print time.
Steps to Reproduce
Live Printer Method
Dev Backend Method
Printer Model
P2S
Bambuddy Version
0.2.3.2
SpoolBuddy Version
No response
Printer Firmware Version
No response
Installation Method
Docker
Operating System
Docker
Relevant Logs / Support Package
No response
Screenshots
No response
Additional Context
I honestly didn't notice this until I started using the notifications this weekend. Had a 17 hour print. Notification came in with 18 minutes.
Checklist
@maziggy commented on GitHub (May 3, 2026):
Confirmed and fixed in dev. Diagnosis was exactly right — the {{duration}} template variable was being formatted from print_time_seconds (the slicer estimate baked into the archive at creation), never from the actual elapsed. The companion actual_filament_grams field was already getting progress-scaled for partial prints (which is why filament was right while time was wrong), so this was a missing analogous treatment for time, not a deeper architectural issue.
Two-part fix:
Available/Fixed in branch dev and available with the next release or daily build. Please let me know if it works for you.
If you find Bambuddy useful, please consider giving it a ⭐ on GitHub — it helps others discover the project!